Module: DraftPunkHelper

Defined in:
lib/helper_methods.rb

Instance Method Summary collapse

Instance Method Details

#did_association_change?(children) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/helper_methods.rb', line 18

def did_association_change?(children)
  return true if children.is_a?(Hash) && children[:diff_status] !=:unchanged
  children.each do |obj|
    obj.each do |k,v|
      if v.is_a?(Array) #nested association
        return true if did_association_change?(v)
      elsif k == :draft_status
        return true if v != :unchanged
      end
    end
  end
  false
end

#summarize_association_changes(assoc, values) ⇒ Object



14
15
16
# File 'lib/helper_methods.rb', line 14

def summarize_association_changes(assoc, values)
  return assoc if did_association_change?(values)
end

#summarize_draft_changes(draft_diff) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/helper_methods.rb', line 2

def summarize_draft_changes(draft_diff)
  changed = []
  draft_diff.except("id", :draft_status, :class_info).each do |k,v|
    if v.is_a?(Array)
      changed << summarize_association_changes(k,v)
    else
      changed << k
    end
  end
  return "Changed: #{changed.compact.to_sentence}" if changed.present?
end