Sha256: 3f948881ecba3b540e4210fa293f7fbf43c58907d407d320a0c4f652c8c828e5
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
require_relative "error" require_relative "initializer/new_no_args" require_relative "initializer/from_initializers" require_relative "initializer/proc_based" module Uses module Initializer def self.from_args(uses_method_args) strategy_klass(uses_method_args).new(uses_method_args) end private def self.strategy_klass(uses_method_args) case uses_method_args.initializer_strategy when :new_no_args then NewNoArgs when :config_initializers then FromInitializers when Proc then ProcBased else raise UnknownInitializerStrategy.new(uses_method_args.initializer_strategy) end end class UnknownInitializerStrategy < Uses::Error def initialize(strategy) if strategy.kind_of?(Symbol) super("initialize: received #{strategy}, which is not supported. Should be either the symbol :config_initializers, a Proc, or simply omitted") else super("initialize: received a #{strategy.class}, which is not supported. Should be either the symbol :config_initializers, a Proc, or simply omitted") end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
uses-1.0.0 | lib/uses/initializer.rb |
uses-1.0.0.pre.beta1 | lib/uses/initializer.rb |