6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/rails_extend/active_record/taxon.rb', line 6
def has_taxons(*columns)
columns.each do |column|
attribute "#{column}_ancestors", :taxon, outer: column
class_eval " before_validation :sync_\#{column}_id, if: -> { \#{column}_ancestors_changed? }\n \n def sync_\#{column}_id\n _outer_id = Hash(\#{column}_ancestors).values.compact.last\n if _outer_id\n self.\#{column}_id = _outer_id\n else\n self.\#{column}_id = nil\n end\n end\n RUBY_EVAL\n end\nend\n", __FILE__, __LINE__ + 1
|