module Moneybird::Resource::ClassMethods
Attributes
attributes[R]
logger[W]
nillable_attributes[R]
Public Instance Methods
build(attributes)
click to toggle source
# File lib/moneybird/resource.rb, line 54 def build(attributes) new(attributes) end
has_attributes(attributes)
click to toggle source
# File lib/moneybird/resource.rb, line 68 def has_attributes(attributes) attr_accessor(*@attributes = attributes) end
has_boolean_attributes(attributes)
click to toggle source
# File lib/moneybird/resource.rb, line 76 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)
click to toggle source
# File lib/moneybird/resource.rb, line 108 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)
click to toggle source
# File lib/moneybird/resource.rb, line 95 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)
click to toggle source
# File lib/moneybird/resource.rb, line 72 def has_nillable_attributes(attributes) @nillable_attributes = attributes end
logger()
click to toggle source
# File lib/moneybird/resource.rb, line 58 def logger @logger ||= begin Logger.new(STDOUT) end end
resource()
click to toggle source
# File lib/moneybird/resource.rb, line 64 def resource self.name.split('::').last.underscore end