module Croods::Resource::Actions

Constants

DEFAULT_ACTIONS

Public Instance Methods

actions(*names) click to toggle source
# File lib/croods/resource/actions.rb, line 14
def actions(*names)
  return filtered_actions if names.empty?

  @actions = names.map do |name|
    Croods::Action.new name
  end
end
add_action(name, method: :get, on: :member, &block) click to toggle source
# File lib/croods/resource/actions.rb, line 28
def add_action(name, method: :get, on: :member, &block)
  additional_actions << Action.new(
    name, method: method, on: on, block: block
  )
end
additional_actions() click to toggle source
# File lib/croods/resource/actions.rb, line 34
def additional_actions
  @additional_actions ||= []
end
default_actions() click to toggle source
# File lib/croods/resource/actions.rb, line 8
def default_actions
  DEFAULT_ACTIONS.map do |name|
    Croods::Action.new name
  end
end
filtered_actions() click to toggle source
# File lib/croods/resource/actions.rb, line 22
def filtered_actions
  @actions ||= default_actions

  @actions.reject { |action| ignored_actions.include?(action.name) }
end
ignored_actions() click to toggle source
# File lib/croods/resource/actions.rb, line 44
def ignored_actions
  @ignored_actions ||= []
end
skip_action(*names)
Alias for: skip_actions
skip_actions(*names) click to toggle source
# File lib/croods/resource/actions.rb, line 38
def skip_actions(*names)
  names.each do |name|
    ignored_actions << name.to_sym
  end
end
Also aliased as: skip_action