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
191
192
193
194
195
196
197
198
199
200
201
|
# File 'lib/eBayAPI.rb', line 191
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
208
209
210
211
|
# File 'lib/eBayAPI.rb', line 208
def fix_case_down(name)
name[0] = name[0,1].downcase
name
end
|
.fix_case_up(name) ⇒ Object
203
204
205
206
|
# File 'lib/eBayAPI.rb', line 203
def fix_case_up(name)
name[0] = name[0,1].upcase name
end
|
.method_missing(m, *args) ⇒ Object
177
178
179
180
181
182
183
184
185
186
187
188
189
|
# File 'lib/eBayAPI.rb', line 177
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
|