Module: Spidy::Binder::Json
- Defined in:
- lib/spidy/binder/json.rb
Overview
Bind json and convert to object
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(obj) ⇒ Object
22 23 24 |
# File 'lib/spidy/binder/json.rb', line 22 def self.extended(obj) obj.alias_method :json, :resource end |
Instance Method Details
#let(name, *query, &block) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/spidy/binder/json.rb', line 5 def let(name, *query, &block) @attribute_names ||= [] @attribute_names << name return define_method(name) { json.dig(*query) } if block.nil? define_method(name) do if query.present? instance_exec(json.dig(*query), &block) else instance_exec(&block) end rescue StandardError => e raise Spidy::Binder::Error, "spidy(#{@define_name})##{name} => #{e.}" end end |