module WireClient::Converter

Public Instance Methods

convert(*attributes, options) click to toggle source
# File lib/wire_client/base/converters.rb, line 3
def convert(*attributes, options)
  include InstanceMethods

  method_name = "convert_#{options[:to]}"
  unless InstanceMethods.method_defined?(method_name)
    raise ArgumentError, "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