Class: Textus::Surface::Projector
- Inherits:
-
Object
- Object
- Textus::Surface::Projector
- Defined in:
- lib/textus/surface/projector.rb
Instance Method Summary collapse
- #dispatch(verb_name, inputs:, store:, role:, session: nil) ⇒ Object
-
#initialize(view_key: :default, binder_method: :inputs_from_wire) ⇒ Projector
constructor
A new instance of Projector.
- #names(action_verbs = Textus::Action::VERBS) ⇒ Object
- #verbs(action_verbs = Textus::Action::VERBS) ⇒ Object
Constructor Details
#initialize(view_key: :default, binder_method: :inputs_from_wire) ⇒ Projector
Returns a new instance of Projector.
4 5 6 7 |
# File 'lib/textus/surface/projector.rb', line 4 def initialize(view_key: :default, binder_method: :inputs_from_wire) @view_key = view_key @binder_method = binder_method end |
Instance Method Details
#dispatch(verb_name, inputs:, store:, role:, session: nil) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/textus/surface/projector.rb', line 19 def dispatch(verb_name, inputs:, store:, role:, session: nil) klass = Textus::Action::VERBS.fetch(verb_name.to_sym) spec = klass.contract bound = Textus::Gate::Binder.public_send(@binder_method, spec, inputs) store.gate.dispatch(spec:, inputs: bound, role:, session:, surface: @view_key) end |