Class: Card::Act
- Defined in:
- mod/01_history/lib/card/act.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#action_on(card_id) ⇒ Object
Card[ card_id ] end.
- #elapsed_time ⇒ Object
- #main_action ⇒ Object
- #relevant_actions_for(card, with_drafts = false) ⇒ Object
- #relevant_drafts_for(card) ⇒ Object
- #set_actor ⇒ Object
Class Method Details
.delete_actionless ⇒ Object
14 15 16 17 18 19 |
# File 'mod/01_history/lib/card/act.rb', line 14 def self.delete_actionless Card::Act.where( "id NOT IN (?)", Card::Action.pluck("card_act_id"), ).delete_all end |
.find_all_with_actions_on(card_ids, args = {}) ⇒ Object
21 22 23 24 25 26 |
# File 'mod/01_history/lib/card/act.rb', line 21 def self.find_all_with_actions_on card_ids, args={} sql = 'card_actions.card_id IN (:card_ids) AND ( (draft is not true) ' sql << ( args[:with_drafts] ? 'OR actor_id = :current_user_id)' : ')' ) vars = {:card_ids => card_ids, :current_user_id=>Card::Auth.current_id } Card::Act.joins(:actions).where( sql, vars ).uniq.order(:id).reverse_order end |
Instance Method Details
#action_on(card_id) ⇒ Object
Card[ card_id ]
end
36 37 38 |
# File 'mod/01_history/lib/card/act.rb', line 36 def action_on card_id actions.where( "card_id = #{card_id} and draft is not true" ).first end |
#elapsed_time ⇒ Object
44 45 46 |
# File 'mod/01_history/lib/card/act.rb', line 44 def elapsed_time DateTime.new(acted_at).distance_of_time_in_words_to_now end |
#main_action ⇒ Object
40 41 42 |
# File 'mod/01_history/lib/card/act.rb', line 40 def main_action action_on(card_id) || actions.first end |
#relevant_actions_for(card, with_drafts = false) ⇒ Object
54 55 56 57 58 |
# File 'mod/01_history/lib/card/act.rb', line 54 def relevant_actions_for card, with_drafts=false actions.select do |action| card.included_card_ids.include?(action.card_id) || (card.id == action.card_id) end end |
#relevant_drafts_for(card) ⇒ Object
48 49 50 51 52 |
# File 'mod/01_history/lib/card/act.rb', line 48 def relevant_drafts_for card drafts.select do |action| card.included_card_ids.include?(action.card_id) || (card.id == action.card_id) end end |
#set_actor ⇒ Object
10 11 12 |
# File 'mod/01_history/lib/card/act.rb', line 10 def set_actor self.actor_id ||= Auth.current_id end |