Skip to content

Commit

Permalink
Fix helper class used for config.webxml values
Browse files Browse the repository at this point in the history
  • Loading branch information
JesseChavez authored and olleolleolle committed Apr 8, 2022
1 parent c1b1523 commit c65a44c
Showing 1 changed file with 24 additions and 22 deletions.
46 changes: 24 additions & 22 deletions lib/warbler/traits/war.rb
Original file line number Diff line number Diff line change
Expand Up @@ -182,35 +182,15 @@ def initialize(key = 'webxml')
end

def [](key)
new_ostruct_member(key)
new_ostruct_member!(key)
send(key)
end

def []=(key, value)
new_ostruct_member(key)
new_ostruct_member!(key)
send("#{key}=", value)
end

def method_missing(mid, *args)
len = args.length
if mname = mid[/.*(?==\z)/m]
if len != 1
raise ArgumentError, "wrong number of arguments (#{len} for 1)", caller(1)
end
modifiable[new_ostruct_member(mname)] = args[0]
elsif len == 0
@table[mid]
else
err = NoMethodError.new "undefined method `#{mid}' for #{self}", mid, args
err.set_backtrace caller(1)
raise err
end
end

def respond_to_missing?(mid, include_private = false)
@table.key?(mid.to_s.chomp('=').to_sym) || super
end

def servlet_filter; @servlet_filter ||= 'org.jruby.rack.RackFilter' end
attr_writer :servlet_filter

Expand Down Expand Up @@ -259,6 +239,28 @@ def servlet_context_params(escape = true)
def to_s
"No value for '#@key' found"
end

private

def method_missing(mid, *args)
len = args.length
if mname = mid[/.*(?==\z)/m]
if len != 1
raise ArgumentError, "wrong number of arguments (#{len} for 1)", caller(1)
end
modifiable[new_ostruct_member!(mname)] = args[0]
elsif len == 0
@table[mid]
else
err = NoMethodError.new "undefined method `#{mid}' for #{self}", mid, args
err.set_backtrace caller(1)
raise err
end
end

def respond_to_missing?(mid, include_private = false)
@table.key?(mid.to_s.chomp('=').to_sym) || super
end
end
end
end
Expand Down

0 comments on commit c65a44c

Please sign in to comment.