Class: ActiveRecord::Journal::Journable::Options
- Inherits:
-
Struct
- Object
- Struct
- ActiveRecord::Journal::Journable::Options
- Defined in:
- lib/active_record/journal/journable/options.rb
Class Method Summary collapse
Instance Method Summary collapse
- #check_actions! ⇒ Object
-
#initialize(**kwargs) ⇒ Options
constructor
rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity, Metrics/AbcSize.
Constructor Details
#initialize(**kwargs) ⇒ Options
rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity, Metrics/AbcSize
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/active_record/journal/journable/options.rb', line 15 def initialize(**kwargs) # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity, Metrics/AbcSize type = kwargs[:type].to_sym kwargs[:type] = type kwargs[:entries_class] ||= ActiveRecord::Journal.configuration.entries_class kwargs[:tags_class] ||= ActiveRecord::Journal.configuration. kwargs[:on] = kwargs[:on]&.map(&:to_s) || ActiveRecord::Journal::ACTIONS[type] kwargs[:only] = kwargs[:only]&.map(&:to_s) kwargs[:except] = kwargs[:except]&.map(&:to_s) kwargs[:mask] = kwargs[:mask]&.map(&:to_s) super(**kwargs) end |
Class Method Details
Instance Method Details
#check_actions! ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/active_record/journal/journable/options.rb', line 27 def check_actions! on.each do |action| next if ActiveRecord::Journal::ACTIONS[type.to_sym].include?(action) raise OptionError, "#{action} is not a valid value for the on option" end end |