class Silicon::ChainFactory
Public Class Methods
new(container, silicon_config)
click to toggle source
# File lib/silicon/chain_factory.rb, line 5 def initialize(container, silicon_config) @container = container @silicon_config = silicon_config end
Public Instance Methods
create(match)
click to toggle source
# File lib/silicon/chain_factory.rb, line 10 def create(match) status = match.route.http_status || default_http_status(match.route.http_verb) register_params(match.params) register_status(status) Chain.new(@container, @silicon_config, match.route.commands, match.route.catch) end
Private Instance Methods
default_http_status(http_verb)
click to toggle source
# File lib/silicon/chain_factory.rb, line 35 def default_http_status(http_verb) http_verb == 'POST' ? 201 : 200 end
register_params(params)
click to toggle source
# File lib/silicon/chain_factory.rb, line 19 def register_params(params) params.keys.each do |key| @container .register_instance(params[key], key.to_sym) .using_lifetime(:scope) .bound_to(:silicon_request) end end
register_status(status)
click to toggle source
# File lib/silicon/chain_factory.rb, line 28 def register_status(status) @container .register_instance(status, :silicon_status) .using_lifetime(:scope) .bound_to(:silicon_request) end