Class: SweeperAPI::Resources::Base
- Inherits:
-
Object
- Object
- SweeperAPI::Resources::Base
- Defined in:
- lib/sweeper_api/resources/base.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(response) ⇒ Base
constructor
A new instance of Base.
Constructor Details
#initialize(response) ⇒ Base
Returns a new instance of Base.
12 13 14 15 16 17 |
# File 'lib/sweeper_api/resources/base.rb', line 12 def initialize(response) response.each { |key, value| _attrs[key] = parse_attribute(value) } = (class << self; self; end) .send(:dynamic_accessor, *_attrs.keys) end |
Class Method Details
.dynamic_accessor(*attrs) ⇒ Object
2 3 4 5 6 7 8 9 10 |
# File 'lib/sweeper_api/resources/base.rb', line 2 def self.dynamic_accessor(*attrs) attrs.each do |attr| class_eval do define_method(attr) { _attrs[attr] } define_method("#{attr}?") { !!_attrs[attr] } # rubocop:disable Style/DoubleNegation define_method("#{attr}=") { |value| _attrs[attr] = value } end end end |