Module: Ohbjects
- Defined in:
- lib/ohbjects.rb,
lib/ohbjects/quote.rb,
lib/ohbjects/account.rb,
lib/ohbjects/options.rb
Overview
Adds an object representation to Oh responses:
require "ohbjects"
Ohbjects.activate
Then, any further calls to Oh methods that used to return an XML doc will now return objects such as Ohbjects::Call, Ohbjects::Put, etc.
Defined Under Namespace
Modules: Buildable Classes: Account, AccountBuilder, Call, Option, OptionBuilder, Put, Quote, QuoteBuilder
Constant Summary collapse
- REGISTRY =
[]
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.activate ⇒ Object
58 59 60 |
# File 'lib/ohbjects.rb', line 58 def activate Oh.send :include, self end |
Instance Method Details
#objectify(doc) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/ohbjects.rb', line 38 def objectify(doc) qualified_builders = REGISTRY.select { |builder| builder.build?(doc) } objects = [] qualified_builders.each do |builder| doc.search(builder.spec).each do |fragment| objects.push(*builder.build(fragment)) end end objects end |
#post_process_request(result) ⇒ Object
53 54 55 |
# File 'lib/ohbjects.rb', line 53 def post_process_request(result) objectify(result) end |