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
208
209
210
211
212
213
214
215
216
217
218
|
# File 'lib/eBayAPI.rb', line 208
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
225
226
227
228
|
# File 'lib/eBayAPI.rb', line 225
def fix_case_down(name)
name[0] = name[0,1].downcase
name
end
|
.fix_case_up(name) ⇒ Object
220
221
222
223
|
# File 'lib/eBayAPI.rb', line 220
def fix_case_up(name)
name[0] = name[0,1].upcase name
end
|
.method_missing(m, *args) ⇒ Object
194
195
196
197
198
199
200
201
202
203
204
205
206
|
# File 'lib/eBayAPI.rb', line 194
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
|