Module: Moneybird::Resource::ClassMethods
- Included in:
- Administration, Contact, DocumentStyle, Estimate, FinancialAccount, FinancialMutation, Generic::Event, Generic::Note, Identity, Invoice::Details, LedgerAccount, Product, RecurringSalesInvoice, SalesInvoice, TaxRate, Webhook, Workflow, Webhook
- Defined in:
- lib/moneybird/resource.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
- #logger ⇒ Object
-
#nillable_attributes ⇒ Object
readonly
Returns the value of attribute nillable_attributes.
Instance Method Summary collapse
- #build(attributes) ⇒ Object
- #has_attributes(attributes) ⇒ Object
- #has_boolean_attributes(attributes) ⇒ Object
- #has_datetime_attributes(attributes) ⇒ Object
- #has_integer_attributes(attributes) ⇒ Object
- #has_nillable_attributes(attributes) ⇒ Object
- #resource ⇒ Object
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
49 50 51 |
# File 'lib/moneybird/resource.rb', line 49 def attributes @attributes end |
#logger ⇒ Object
56 57 58 59 60 |
# File 'lib/moneybird/resource.rb', line 56 def logger @logger ||= begin logger = Logger.new(STDOUT) end end |
#nillable_attributes ⇒ Object (readonly)
Returns the value of attribute nillable_attributes.
49 50 51 |
# File 'lib/moneybird/resource.rb', line 49 def nillable_attributes @nillable_attributes end |
Instance Method Details
#build(attributes) ⇒ Object
52 53 54 |
# File 'lib/moneybird/resource.rb', line 52 def build(attributes) new(attributes) end |
#has_attributes(attributes) ⇒ Object
66 67 68 |
# File 'lib/moneybird/resource.rb', line 66 def has_attributes(attributes) attr_accessor(*@attributes = attributes) end |
#has_boolean_attributes(attributes) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/moneybird/resource.rb', line 74 def has_boolean_attributes(attributes) attributes.each do |attribute| define_method(attribute) do input = instance_variable_get('@' + attribute) if input.kind_of?(String) if input == 'true' true elsif input == 'false' false else nil end else input end end end end |
#has_datetime_attributes(attributes) ⇒ Object
106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/moneybird/resource.rb', line 106 def has_datetime_attributes(attributes) attributes.each do |attribute| define_method(attribute) do input = instance_variable_get('@' + attribute) if input.kind_of?(Time) input elsif input.kind_of?(Date) input.to_time elsif input.kind_of?(String) input.strip == '' ? nil : Time.parse(input) end end end end |
#has_integer_attributes(attributes) ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/moneybird/resource.rb', line 93 def has_integer_attributes(attributes) attributes.each do |attribute| define_method(attribute) do input = instance_variable_get('@' + attribute) if input.kind_of?(String) input.to_i else input end end end end |
#has_nillable_attributes(attributes) ⇒ Object
70 71 72 |
# File 'lib/moneybird/resource.rb', line 70 def has_nillable_attributes(attributes) @nillable_attributes = attributes end |
#resource ⇒ Object
62 63 64 |
# File 'lib/moneybird/resource.rb', line 62 def resource self.name.split('::').last.downcase end |