Module: Card::Set::All::Actions
- Extended by:
- Card::Set
- Defined in:
- tmpsets/set/mod002-01_history/all/actions.rb
Instance Method Summary
collapse
Methods included from Card::Set
abstract_set?, all_set?, card_accessor, card_reader, card_writer, clean_empty_module_from_hash, clean_empty_modules, define_active_job, define_event_method, define_event_perform_later_method, define_on_format, ensure_set, event, extended, format, process_base_module_list, process_base_modules, register_set, register_set_format, shortname, view, write_tmp_file
Instance Method Details
#delete_old_actions ⇒ Object
44
45
46
47
48
49
50
51
52
53
|
# File 'tmpsets/set/mod002-01_history/all/actions.rb', line 44
def delete_old_actions
Card::TRACKED_FIELDS.each do |field|
if (la = last_action) && !la.change_for(field).present? and (last_change = last_change_on(field))
last_change = Card::Change.find(last_change.id) last_change.update_attributes!(:card_action_id=>last_action_id)
end
end
actions.where('id != ?', last_action_id ).delete_all
end
|
#find_action_by_params(args) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
|
# File 'tmpsets/set/mod002-01_history/all/actions.rb', line 13
def find_action_by_params args
if args[:rev]
nth_action args[:rev]
elsif Integer === args[:rev_id] || args[:rev_id] =~ /^\d+$/
if action = Action.fetch(args[:rev_id]) and action.card_id == id
action
end
elsif args[:rev_id] last_action
end
end
|
#nth_action(index) ⇒ Object
25
26
27
28
29
30
|
# File 'tmpsets/set/mod002-01_history/all/actions.rb', line 25
def nth_action index
index = index.to_i
if id and index > 0
Action.where("draft is not true AND card_id = #{id}").order(:id).limit(1).offset(index-1).first
end
end
|
#revision(action) ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
|
# File 'tmpsets/set/mod002-01_history/all/actions.rb', line 32
def revision action
if action.is_a? Integer
action = Card::Action.fetch(action)
end
action and Card::TRACKED_FIELDS.inject({}) do |attr_changes, field|
last_change = action.card_changes.find_by_field_name(field) || last_change_on(field, :not_after=>action)
attr_changes[field.to_sym] = (last_change ? last_change.value : self[field])
attr_changes
end
end
|
#select_action_by_params(params) ⇒ Object
5
6
7
8
9
10
11
|
# File 'tmpsets/set/mod002-01_history/all/actions.rb', line 5
def select_action_by_params params
if (action = find_action_by_params(params))
run_callbacks :select_action do
self.selected_action_id = action.id
end
end
end
|