Module: LedgerSync::ResourceAdaptor::Mixin::ClassMethods

Defined in:
lib/ledger_sync/resource_adaptor.rb

Instance Method Summary collapse

Instance Method Details

#attribute(record_attribute, args = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ledger_sync/resource_adaptor.rb', line 7

def attribute(record_attribute, args = {})
  resource_attribute = args.fetch(:resource_attribute, record_attribute)

  attributes[record_attribute.to_sym] = {
    record_attribute: record_attribute,
    resource_attribute: resource_attribute
  }

  define_method(resource_attribute) do
    resource.send(record_attribute)
  end

  define_method("#{resource_attribute}=") do |*setter_args|
    resource.send("#{record_attribute}=", *setter_args)
  end
end

#attributesObject



24
25
26
# File 'lib/ledger_sync/resource_adaptor.rb', line 24

def attributes
  @attributes ||= {}
end