Class: Invoicing::LedgerItem::ClassInfo

Inherits:
ClassInfo::Base show all
Defined in:
lib/invoicing/ledger_item.rb

Overview

Stores state in the ActiveRecord class object

Instance Attribute Summary collapse

Attributes inherited from ClassInfo::Base

#all_args, #all_options, #current_args, #current_options, #model_class, #new_args, #previous_info

Instance Method Summary collapse

Methods inherited from ClassInfo::Base

#get, #option_defaults, #set

Constructor Details

#initialize(model_class, previous_info, args) ⇒ ClassInfo

Returns a new instance of ClassInfo.


830
831
832
833
834
835
836
837
838
839
840
# File 'lib/invoicing/ledger_item.rb', line 830

def initialize(model_class, previous_info, args)
  super
  @subtype = all_options[:subtype]
  
  begin # try to load the UUID gem
    require 'uuid'
    @uuid_generator = UUID.new
  rescue LoadError, NameError # silently ignore if gem not found          
    @uuid_generator = nil
  end
end

Instance Attribute Details

#subtypeObject (readonly)

:nodoc:


828
829
830
# File 'lib/invoicing/ledger_item.rb', line 828

def subtype
  @subtype
end

#uuid_generatorObject (readonly)

:nodoc:


828
829
830
# File 'lib/invoicing/ledger_item.rb', line 828

def uuid_generator
  @uuid_generator
end

Instance Method Details

#method(name) ⇒ Object

Allow methods generated by CurrencyValue to be renamed as well


843
844
845
846
847
848
849
# File 'lib/invoicing/ledger_item.rb', line 843

def method(name)
  if name.to_s =~ /^(.*)_formatted$/
    "#{super($1)}_formatted"
  else
    super
  end
end