Module: Myjson::Resource::ClassMethods
- Defined in:
- lib/myjson/resource.rb
Overview
Class-level extensions
Instance Method Summary collapse
Instance Method Details
#find(id) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/myjson/resource.rb', line 34 def find(id) myjson_bin = Myjson::Bin.new attributes = myjson_bin.show(id) return nil unless attributes new.tap do |instance| instance.instance_variable_set(:@id, id) attributes.each do |attr, value| instance.send "#{attr}=", value end end end |
#myjson_attribute(attribute, type) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/myjson/resource.rb', line 21 def myjson_attribute(attribute, type) instance_eval do attr_reader attribute define_method "#{attribute}=" do |value| value = Kernel.send(type.to_s, value) instance_variable_set("@#{attribute}", value) end end myjson_attributes.push(attribute) end |