class Apitizer::Routing::Node::Operation

Public Class Methods

new(name, options = {}) click to toggle source
# File lib/apitizer/routing/node/operation.rb, line 5
def initialize(name, options = {})
  @name = name
  @action = options.fetch(:action)
  @on = options.fetch(:on)
end

Public Instance Methods

on?(on) click to toggle source
# File lib/apitizer/routing/node/operation.rb, line 19
def on?(on)
  @on == on
end
permit?(action, options) click to toggle source
# File lib/apitizer/routing/node/operation.rb, line 15
def permit?(action, options)
  @action == action && @on == options.fetch(:on)
end
recognize?(steps) click to toggle source
# File lib/apitizer/routing/node/operation.rb, line 11
def recognize?(steps)
  @name == steps.first || @name.to_s =~ /^:/
end

Private Instance Methods

walk(steps, path) click to toggle source
# File lib/apitizer/routing/node/operation.rb, line 25
def walk(steps, path)
  path.advance(steps.shift, node: self, on: @on)
end