class TokyoMetro::Factory::Convert::Common::Api::MetaClass::Converter::InfoForConversion

Public Class Methods

new( for_conversion , attr_of_info , method_for_deciding_default_value , arrow_blank: true ) click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 3
def initialize( for_conversion , attr_of_info , method_for_deciding_default_value , arrow_blank: true )
  @for_conversion = for_conversion
  @attr_of_info = attr_of_info
  @method_for_deciding_default_value = method_for_deciding_default_value
  @arrow_blank = arrow_blank
end

Public Instance Methods

match?( info ) click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 10
def match?( info )
  valid_blank? or ( class_is_valid? and info.send( @attr_of_info ) == @for_conversion ) or ( hash_for_conversion_is_set? and info.send( @attr_of_info ) == convert_from and convert_from.send( @method_for_deciding_default_value ) )
end
process() click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 14
def process
  ::Proc.new { | info |
    if to_process?( info )
      info.instance_variable_set( "@#{ @attr_of_info }" , convert_to )
    end
  }
end

Private Instance Methods

arrow_blank?() click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 24
def arrow_blank?
  @arrow_blank
end
class_is_valid?() click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 32
def class_is_valid?
  @for_conversion.send( @method_for_deciding_default_value )
end
convert_from() click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 44
def convert_from
  @for_conversion[ :from ]
end
convert_to() click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 48
def convert_to
  @for_conversion[ :to ]
end
hash_for_conversion_is_set?() click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 36
def hash_for_conversion_is_set?
  @for_conversion.instance_of?( ::Hash )
end
to_process?( info ) click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 40
def to_process?( info )
  hash_for_conversion_is_set? and convert_to.present? and convert_to.send( @method_for_deciding_default_value ) and info.send( @attr_of_info ) == convert_from
end
valid_blank?() click to toggle source
# File lib/tokyo_metro/factory/convert/common/api/meta_class/converter/info_for_conversion.rb, line 28
def valid_blank?
  arrow_blank? and @for_conversion.blank?
end