class ActiveEndpoint::Routes::Momento
Attributes
actions[R]
endpoints[R]
resources[R]
scopes[R]
Public Class Methods
new(structure_class)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 11 def initialize(structure_class) @endpoints = structure_class.new @resources = structure_class.new @actions = structure_class.new @scopes = structure_class.new end
Public Instance Methods
add(**options) { |options| ... }
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 27 def add(**options, &block) yield(options) if block_given? add_endpoint(options) if fetch_endpoint(options).present? add_resources(options) if fetch_resources(options).present? add_scopes(options) if fetch_scope(options).present? end
include?(request)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 18 def include?(request) any_presented? [ present_endpoint?(request), present_resource?(request), present_action?(request), present_scope?(request) ] end
Private Instance Methods
add_endpoint(_options)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 38 def add_endpoint(_options) raise NotImplementedError end
add_resource(_options)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 42 def add_resource(_options) raise NotImplementedError end
add_scopes(_options)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 46 def add_scopes(_options) raise NotImplementedError end
any_presented?(chain)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 70 def any_presented?(chain) chain.reduce(false) { |state, responder_state| state || responder_state } end
apply(_scope, _collection)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 66 def apply(_scope, _collection) raise NotImplementedError end
present_action?(_request)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 58 def present_action?(_request) raise NotImplementedError end
present_endpoint?(_request)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 50 def present_endpoint?(_request) raise NotImplementedError end
present_resource?(_request)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 54 def present_resource?(_request) raise NotImplementedError end
present_scope?(_request)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 62 def present_scope?(_request) raise NotImplementedError end
reduce_state(collection, request)
click to toggle source
# File lib/active_endpoint/routes/momento.rb, line 74 def reduce_state(collection, request) collection.reduce(false) do |state, subject| state || request[:endpoint].present? && request[:endpoint].start_with?(subject) end end