Module: DraftPunkHelper
- Defined in:
- lib/helper_methods.rb
Instance Method Summary collapse
- #did_association_change?(children) ⇒ Boolean
- #summarize_association_changes(assoc, values) ⇒ Object
- #summarize_draft_changes(draft_diff) ⇒ Object
Instance Method Details
#did_association_change?(children) ⇒ 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 |