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