Module: SPS::Converter

Included in:
Account, CreditorAddress, DebtorAddress, StructuredRemittanceInformation, Transaction
Defined in:
lib/sps_king/converter.rb

Defined Under Namespace

Modules: InstanceMethods

Instance Method Summary collapse

Instance Method Details

#convert(*attributes, options) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/sps_king/converter.rb', line 4

def convert(*attributes, options)
  include InstanceMethods

  method_name = "convert_#{options[:to]}"
  unless InstanceMethods.method_defined?(method_name)
    raise ArgumentError.new("Converter '#{options[:to]}' does not exist!")
  end

  attributes.each do |attribute|
    define_method "#{attribute}=" do |value|
      instance_variable_set("@#{attribute}", send(method_name, value))
    end
  end
end