Class: ActiveRecord::Journal::Journable::Attributes

Inherits:
Struct
  • Object
show all
Defined in:
lib/active_record/journal/journable/attributes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#ruleObject

Returns the value of attribute rule

Returns:

  • (Object)

    the current value of rule



6
7
8
# File 'lib/active_record/journal/journable/attributes.rb', line 6

def rule
  @rule
end

#subjectObject

Returns the value of attribute subject

Returns:

  • (Object)

    the current value of subject



6
7
8
# File 'lib/active_record/journal/journable/attributes.rb', line 6

def subject
  @subject
end

Instance Method Details

#default_ignored_keysObject



29
30
31
# File 'lib/active_record/journal/journable/attributes.rb', line 29

def default_ignored_keys
  [model.primary_key, model.inheritance_column, model.locking_column].compact
end

#ignored_keysObject



15
16
17
18
19
20
21
22
23
# File 'lib/active_record/journal/journable/attributes.rb', line 15

def ignored_keys
  if rule.only
    (keys - rule.only) | default_ignored_keys
  elsif rule.except
    default_ignored_keys | rule.except
  else
    default_ignored_keys
  end
end

#keysObject



25
26
27
# File 'lib/active_record/journal/journable/attributes.rb', line 25

def keys
  model.column_names.map(&:to_s)
end

#modelObject



7
8
9
# File 'lib/active_record/journal/journable/attributes.rb', line 7

def model
  subject.class
end

#tracked_keysObject



11
12
13
# File 'lib/active_record/journal/journable/attributes.rb', line 11

def tracked_keys
  keys - ignored_keys
end