module Xeroizer::Record::ApplicationHelper

Public Instance Methods

record(record_type) click to toggle source

Factory for new BaseModel instances with the class name `record_type`. Only creates the instance if one doesn't already exist.

@param [Symbol] record_type Symbol of the record type (e.g. :Invoice) @return [BaseModel] instance of BaseModel subclass matching `record_type`

# File lib/xeroizer/record/application_helper.rb, line 10
def record(record_type)
  define_method record_type do
    var_name = "@#{record_type}_cache".to_sym
    unless instance_variable_defined?(var_name)
      instance_variable_set(var_name, Xeroizer::Record.const_get("#{record_type}Model".to_sym).new(self, record_type.to_s))
    end
    instance_variable_get(var_name)
  end  
end
report(report_type) click to toggle source
# File lib/xeroizer/record/application_helper.rb, line 20
def report(report_type)
  define_method report_type do
    var_name = "@#{report_type}_cache".to_sym
    unless instance_variable_defined?(var_name)
      instance_variable_set(var_name, Xeroizer::Report::Factory.new(self, report_type.to_s))
    end
    instance_variable_get(var_name)
  end
end