10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb', line 10
def initialize_acts_as_taggable_on_dirty
tag_types.map(&:to_s).each do |tags_type|
tag_type = tags_type.to_s.singularize
class_eval <<-RUBY, __FILE__, __LINE__ + 1
def #{tag_type}_list_changed?
changed_attributes.include?("#{tag_type}_list")
end
def #{tag_type}_list_was
changed_attributes.include?("#{tag_type}_list") ? changed_attributes["#{tag_type}_list"] : __send__("#{tag_type}_list")
end
def #{tag_type}_list_change
[changed_attributes['#{tag_type}_list'], __send__('#{tag_type}_list')] if changed_attributes.include?("#{tag_type}_list")
end
def #{tag_type}_list_changes
[changed_attributes['#{tag_type}_list'], __send__('#{tag_type}_list')] if changed_attributes.include?("#{tag_type}_list")
end
RUBY
end
end
|