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