Module: EBay
- Defined in:
- lib/eBayAPI.rb,
lib/RequesterCredentialsHandler.rb
Defined Under Namespace
Classes: API, Error, RequesterCredentialsHandler
Class Method Summary
collapse
Class Method Details
.assign_args(obj, args_hash) ⇒ Object
186
187
188
189
190
191
192
193
194
195
196
|
# File 'lib/eBayAPI.rb', line 186
def assign_args(obj, args_hash)
if args_hash
args_hash.each do |key, val|
key = fix_case_down(key.to_s)
if obj.respond_to? "#{key}="
eval("obj.#{key} = val")
end
end
end
end
|
.fix_case_down(name) ⇒ Object
203
204
205
206
|
# File 'lib/eBayAPI.rb', line 203
def fix_case_down(name)
name[0] = name[0,1].downcase
name
end
|
.fix_case_up(name) ⇒ Object
198
199
200
201
|
# File 'lib/eBayAPI.rb', line 198
def fix_case_up(name)
name[0] = name[0,1].upcase name
end
|
.method_missing(m, *args) ⇒ Object
172
173
174
175
176
177
178
179
180
181
182
183
184
|
# File 'lib/eBayAPI.rb', line 172
def method_missing(m, *args)
type_name = fix_case_up(m.id2name)
begin
type = "#{type_name}Type"
type_obj = eval("#{type}.new")
EBay::assign_args(type_obj, args[0])
return type_obj
rescue NameError
raise(Error::UnknownType, "Invalid Type: #{type}", caller)
end
end
|