Class: TokyoMetro::Factory::Generate::Api::MetaClass::Info::ConvertAndSetArrayData::FactoryClass
- Inherits:
-
Object
- Object
- TokyoMetro::Factory::Generate::Api::MetaClass::Info::ConvertAndSetArrayData::FactoryClass
- Defined in:
- lib/tokyo_metro/factory/generate/api/meta_class/info/convert_and_set_array_data/factory_class.rb
Overview
配列のデータを JSON のハッシュから変換するための Factory Pattern のクラス
Class Method Summary collapse
Instance Method Summary collapse
- #generate ⇒ Object
- #generate_info_instance ⇒ Object
-
#initialize(data_from_hash, list_class, info_class, to_flatten) ⇒ FactoryClass
constructor
A new instance of FactoryClass.
Constructor Details
#initialize(data_from_hash, list_class, info_class, to_flatten) ⇒ FactoryClass
Returns a new instance of FactoryClass.
4 5 6 7 8 9 10 11 12 |
# File 'lib/tokyo_metro/factory/generate/api/meta_class/info/convert_and_set_array_data/factory_class.rb', line 4 def initialize( data_from_hash , list_class , info_class , to_flatten ) if generate_info_instance and info_class.nil? raise "Error" end @info_list = set_info_list( data_from_hash , to_flatten ) @list_class = set_list_class( list_class ) @info_class = info_class end |
Class Method Details
.process(data_from_hash, list_class, info_class, to_flatten) ⇒ Object
29 30 31 |
# File 'lib/tokyo_metro/factory/generate/api/meta_class/info/convert_and_set_array_data/factory_class.rb', line 29 def self.process( data_from_hash , list_class , info_class , to_flatten ) self.new( data_from_hash , list_class , info_class , to_flatten ).generate end |
Instance Method Details
#generate ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/tokyo_metro/factory/generate/api/meta_class/info/convert_and_set_array_data/factory_class.rb', line 14 def generate #puts @info_class.name #puts "" if generate_info_instance # inspect_info_of_list ary_new = @list_class.new @info_list.each do | info | ary_new << @info_class.generate_from_hash( info ) end ary_new else @list_class.new( @info_list ) end end |
#generate_info_instance ⇒ Object
33 34 35 |
# File 'lib/tokyo_metro/factory/generate/api/meta_class/info/convert_and_set_array_data/factory_class.rb', line 33 def generate_info_instance @info_class.present? end |