Class: AuditedChangeSet::Change
- Inherits:
-
Object
- Object
- AuditedChangeSet::Change
show all
- Includes:
- Hooks, Enumerable
- Defined in:
- lib/audited_change_set/change.rb
Defined Under Namespace
Modules: Hooks
Classes: Field
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Hooks
#hooks, included
Constructor Details
#initialize(audit, fields = nil) ⇒ Change
Returns a new instance of Change.
108
109
110
111
|
# File 'lib/audited_change_set/change.rb', line 108
def initialize(audit, fields=nil)
@audit = audit
@fields = fields
end
|
Class Method Details
.field_names_for_audits(audits) ⇒ Object
94
95
96
|
# File 'lib/audited_change_set/change.rb', line 94
def field_names_for_audits(audits)
audits_to_changes(audits).map(&:field_names).flatten.uniq.sort
end
|
.for_audits(audits, fields = nil, unfiltered_change_id = nil) ⇒ Object
90
91
92
|
# File 'lib/audited_change_set/change.rb', line 90
def for_audits(audits, fields=nil, unfiltered_change_id=nil)
audits_to_changes(audits, fields, unfiltered_change_id).select(&:relevant?).reverse
end
|
Instance Method Details
#create_field(name, changes) ⇒ Object
113
114
115
|
# File 'lib/audited_change_set/change.rb', line 113
def create_field(name, changes)
Field.new(@audit.auditable_type, name, *[changes].flatten.reverse)
end
|
#date ⇒ Object
129
130
131
|
# File 'lib/audited_change_set/change.rb', line 129
def date
@audit.created_at
end
|
#each(&block) ⇒ Object
145
146
147
|
# File 'lib/audited_change_set/change.rb', line 145
def each(&block)
changed_fields.each(&block)
end
|
#field_names ⇒ Object
141
142
143
|
# File 'lib/audited_change_set/change.rb', line 141
def field_names
non_empty_fields.map { |name, vals| name }
end
|
#relevant? ⇒ Boolean
133
134
135
|
# File 'lib/audited_change_set/change.rb', line 133
def relevant?
any?(&:present?)
end
|
#relevant_field?(field) ⇒ Boolean
137
138
139
|
# File 'lib/audited_change_set/change.rb', line 137
def relevant_field?(field)
@fields ? @fields.map(&:downcase).include?(field.name) : true
end
|
#username ⇒ Object
121
122
123
124
125
126
127
|
# File 'lib/audited_change_set/change.rb', line 121
def username
if @audit.user
hook(:username, @audit.user) || @audit.username
else
'unknown'
end
end
|