Module: Card::ActiveRecordHelper
- Included in:
- Migration
- Defined in:
- lib/card/active_record_helper.rb
Instance Method Summary collapse
- #create_card(args) ⇒ Object
- #create_card!(args) ⇒ Object
- #create_or_update(name_or_args, args = nil) ⇒ Object
- #create_or_update!(name_or_args, args = nil) ⇒ Object
- #resolve_name_conflict(args) ⇒ Object
- #update_card(name, args) ⇒ Object
- #update_card!(args) ⇒ Object
Instance Method Details
#create_card(args) ⇒ Object
2 3 4 5 |
# File 'lib/card/active_record_helper.rb', line 2 def create_card args resolve_name_conflict args Card.create! args end |
#create_card!(args) ⇒ Object
7 8 9 |
# File 'lib/card/active_record_helper.rb', line 7 def create_card! args create_card args.reverse_merge(rename_if_conflict: :new) end |
#create_or_update(name_or_args, args = nil) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/card/active_record_helper.rb', line 20 def create_or_update name_or_args, args=nil name = args ? name_or_args : name_or_args[:name] args ||= name_or_args if Card[name] update_card name, args else create_card args.merge(name: name) end end |
#create_or_update!(name_or_args, args = nil) ⇒ Object
30 31 32 33 34 |
# File 'lib/card/active_record_helper.rb', line 30 def create_or_update! name_or_args, args=nil name = args ? name_or_args : name_or_args[:name] args ||= {} create_or_update name, args.reverse_merge(rename_if_conflict: :new) end |
#resolve_name_conflict(args) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/card/active_record_helper.rb', line 36 def resolve_name_conflict args rename = args.delete :rename_if_conflict if rename args[:name] = Card.uniquify_name args[:name], rename end end |
#update_card(name, args) ⇒ Object
11 12 13 14 |
# File 'lib/card/active_record_helper.rb', line 11 def update_card name, args resolve_name_conflict args Card[name].update_attributes! args end |
#update_card!(args) ⇒ Object
16 17 18 |
# File 'lib/card/active_record_helper.rb', line 16 def update_card! args update_card args.reverse_merge(rename_if_conflict: :new) end |