Module: Fort::Type::Providable
- Included in:
- Base
- Defined in:
- lib/fort/type.rb
Constant Summary collapse
- ID_GENERATOR =
lambda{ id_number = '0' lambda{'T' + id_number.next!}}.call
Instance Method Summary collapse
Instance Method Details
#multi_provide(params = {}) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/fort/type.rb', line 18 def multi_provide(params = {}) @params_default_for_multi_provide ||= {} params_for_new = @params_default_for_multi_provide.merge(params) product_all(params_for_new.values.map{|val| Array(val)})\ .map{|values| Hash[params_for_new.keys.zip(values)]}\ .map{|hash| provide(hash)} end |
#provide(params = {}) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/fort/type.rb', line 10 def provide(params = {}) @params_default ||= {} @memo ||= {} params_for_new = @params_default.merge(params) @memo[params_for_new] ||= new(::Fort::Type::Providable::ID_GENERATOR.call, params_for_new) end |