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


852
853
854
855
856
857
858
859
860
861
862
# File 'lib/invoicing/ledger_item.rb', line 852

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:


850
851
852
# File 'lib/invoicing/ledger_item.rb', line 850

def subtype
  @subtype
end

#uuid_generatorObject (readonly)

:nodoc:


850
851
852
# File 'lib/invoicing/ledger_item.rb', line 850

def uuid_generator
  @uuid_generator
end

Instance Method Details

#method(name) ⇒ Object

Allow methods generated by CurrencyValue to be renamed as well


865
866
867
868
869
870
871
# File 'lib/invoicing/ledger_item.rb', line 865

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