class ActionSubscriber::DSL::Filter
Attributes
callback_method[RW]
excluded_actions[RW]
included_actions[RW]
Public Class Methods
new(callback_method, options)
click to toggle source
# File lib/action_subscriber/dsl.rb, line 8 def initialize(callback_method, options) @callback_method = callback_method @included_actions = @excluded_actions = [] parse_options(options) end
Public Instance Methods
matches(action)
click to toggle source
# File lib/action_subscriber/dsl.rb, line 14 def matches(action) unless included_actions.empty? return included_actions.include?(action) end unless excluded_actions.empty? return false if excluded_actions.include?(action) end true end
Private Instance Methods
parse_options(options)
click to toggle source
# File lib/action_subscriber/dsl.rb, line 28 def parse_options(options) return unless options @included_actions = options.fetch(:if, []) @excluded_actions = options.fetch(:unless, []) end