Class: Microcon::Controller
- Inherits:
-
Object
- Object
- Microcon::Controller
- Includes:
- Contextualizer
- Defined in:
- lib/microcon/controller.rb
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Contextualizer
Class Method Details
.call(env) ⇒ Object
26 27 28 |
# File 'lib/microcon/controller.rb', line 26 def self.call(env) self.new.call(env) end |
.process(context) ⇒ Object
30 31 32 |
# File 'lib/microcon/controller.rb', line 30 def self.process(context) @processor.call(context) end |
.process_with(handler = nil, &blk) ⇒ Object
22 23 24 |
# File 'lib/microcon/controller.rb', line 22 def self.process_with(handler = nil, &blk) @processor = handler.nil? ? blk : handler end |
Instance Method Details
#call(env) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/microcon/controller.rb', line 9 def call(env) #binding.pry #F . parse . contextualize . process . call(env) result = parse(env) .bind {|req| self.class.contextualize(req) } .fmap {|context| self.class.process(context) } .value unless result.is_a?(Result) raise "#{result.class} is not a valid result type. Should be a Result object" end render(result) end |