Module: Trailblazer::Endpoint::Builder::DSL
- Defined in:
- lib/trailblazer/endpoint/builder.rb
Class Method Summary collapse
-
.build_options_for(builder:, **options) ⇒ Object
Endpoint_options.
- .endpoint_for(id:, builder:, default_options:, **config) ⇒ Object
-
.endpoints_for(dsl_options, **options) ⇒ Object
dsl_options being something like.
Class Method Details
.build_options_for(builder:, **options) ⇒ Object
Returns endpoint_options.
29 30 31 32 33 |
# File 'lib/trailblazer/endpoint/builder.rb', line 29 def (builder:, **) signal, (ctx, _) = builder.([]) ctx[:build_options] # ["web:submitted?", {protocol_block: ..., options_for_build: ...}] end |
.endpoint_for(id:, builder:, default_options:, **config) ⇒ Object
35 36 37 38 39 |
# File 'lib/trailblazer/endpoint/builder.rb', line 35 def endpoint_for(id:, builder:, default_options:, **config) = (builder: builder, **config) return id, Trailblazer::Endpoint.build(.merge([:options_for_build]).merge(protocol_block: [:protocol_block])) end |
.endpoints_for(dsl_options, **options) ⇒ Object
dsl_options being something like
"api:Start.default" => {policies: []},
"api:status?" => {policies: [:user_owns_diagram]},
"api:download?" => {policies: [:user_owns_diagram]},
"api:delete?" => {policies: [:user_owns_diagram]},
47 48 49 50 51 |
# File 'lib/trailblazer/endpoint/builder.rb', line 47 def endpoints_for(, **) endpoints = .collect do |id, config| endpoint_for(id: id, **, **config) # config is per endpoint, options are "global" end.to_h end |