module Card::Director::All
director-related Card
instance methods
Attributes
director[W]
Public Instance Methods
act(options={})
click to toggle source
# File lib/card/director/all.rb, line 30 def act options={}, &block if act_card add_to_act options, &block else start_new_act(&block) end end
act_card()
click to toggle source
# File lib/card/director/all.rb, line 38 def act_card Card::Director.act_card end
act_card?()
click to toggle source
# File lib/card/director/all.rb, line 42 def act_card? self == act_card end
clear_action_specific_attributes()
click to toggle source
# File lib/card/director/all.rb, line 98 def clear_action_specific_attributes self.class.action_specific_attributes.each do |attr| instance_variable_set "@#{attr}", nil end end
director()
click to toggle source
# File lib/card/director/all.rb, line 10 def director @director ||= Director.fetch self end
identify_action()
click to toggle source
# File lib/card/director/all.rb, line 19 def identify_action @action = if trash && trash_changed? :delete elsif new_card? :create else :update end end
prepare_for_phases()
click to toggle source
# File lib/card/director/all.rb, line 14 def prepare_for_phases reset_patterns include_set_modules end
restore_changes_information()
click to toggle source
# File lib/card/director/all.rb, line 89 def restore_changes_information # restores changes for integration phase # (rails cleared them in an after_create/after_update hook which is # executed before the integration phase) return unless saved_changes.present? @mutations_from_database = mutations_before_last_save end
save(*_args)
click to toggle source
Calls superclass method
# File lib/card/director/all.rb, line 51 def save *_args act { super } end
save!(**args)
click to toggle source
Calls superclass method
# File lib/card/director/all.rb, line 46 def save! **args as_subcard = args.delete :as_subcard act(as_subcard: as_subcard) { super **args } end
save_if_needed()
click to toggle source
# File lib/card/director/all.rb, line 67 def save_if_needed validate save if save_needed? end
save_if_needed!()
click to toggle source
# File lib/card/director/all.rb, line 72 def save_if_needed! validate save! if save_needed? end
save_needed?()
click to toggle source
# File lib/card/director/all.rb, line 77 def save_needed? # ( new? || test_field_changing? || subcards.cards.any?(&:save_needed?) # ).tap do |r| # # binding.pry if r # puts "save needed for #{name}".yellow if r && !new? # end end
update(*_args)
click to toggle source
Calls superclass method
# File lib/card/director/all.rb, line 59 def update *_args act { super } end
Also aliased as: update_attributes
update!(*_args)
click to toggle source
Calls superclass method
# File lib/card/director/all.rb, line 63 def update! *_args act { super } end
Also aliased as: update_attributes!
valid?(*_args)
click to toggle source
Calls superclass method
# File lib/card/director/all.rb, line 55 def valid? *_args act(validating: true) { super } end
Private Instance Methods
add_to_act(options={}) { || ... }
click to toggle source
# File lib/card/director/all.rb, line 121 def add_to_act options={} director.appoint self unless @director director.head = true unless options[:validating] || options[:as_subcard] yield end
save_test_fields()
click to toggle source
# File lib/card/director/all.rb, line 110 def save_test_fields %i[name db_content trash type_id codename] end
start_new_act(&block)
click to toggle source
# File lib/card/director/all.rb, line 114 def start_new_act &block self.director = nil Director.run_act(self) do run_callbacks(:act, &block) end end
test_field_changing?()
click to toggle source
# File lib/card/director/all.rb, line 106 def test_field_changing? save_test_fields.any? { |fld| send "#{fld}_is_changing?" } end