class Auditor::Config
Attributes
actions[R]
options[R]
Public Class Methods
new(*args)
click to toggle source
# File lib/auditor/config.rb, line 10 def initialize(*args) @options = (args.pop if args.last.kind_of?(Hash)) || {} normalize_options(@options) @actions = args.map(&:to_sym) validate_actions(@actions) end
valid_actions()
click to toggle source
# File lib/auditor/config.rb, line 6 def self.valid_actions @valid_actions ||= [:create, :find, :update, :destroy] end
Private Instance Methods
normalize_options(options)
click to toggle source
# File lib/auditor/config.rb, line 20 def normalize_options(options) options.each_pair { |k, v| options[k.to_sym] = options.delete(k) unless k.kind_of? Symbol } options[:only] ||= [] options[:except] ||= [] options[:only] = Array(options[:only]).map(&:to_s) options[:except] = Array(options[:except]).map(&:to_s) end
validate_actions(actions)
click to toggle source
# File lib/auditor/config.rb, line 28 def validate_actions(actions) raise Auditor::Error.new "at least one action in #{Config.valid_actions.inspect} must be specified" if actions.empty? raise Auditor::Error.new "#{Config.valid_actions.inspect} are the only valid actions" unless actions.all? { |a| Config.valid_actions.include?(a.to_sym) } end