41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/rea/application.rb', line 41
def set_metadata
groupings = ::Rea.metadata['grouping_class_names'] || []
members = ::Rea.metadata['member_class_names'] || []
puts "[Rea]setting metadata...Groups: %s, Members: %s" % [groupings.inspect, members.inspect]
groupings.each do |name|
begin
name.constantize.grouping_options[:group_class_name].constantize.
find_or_create_by_name_and_type_name! name.underscore, name
rescue Exception=>e
puts e
end
end
members.each do |name|
begin
klass = name.constantize
klass.members.each_pair do |key, value|
classification_object = ::Rea::Classification.find_or_create_by_name_and_type_name! key.to_s.underscore, name
if (categories = value[:categories])
categories.each do |category_name|
classification_object.categories.find_or_create_by_name category_name, :group_ids=>[klass.default_group.id]
end
end
end
rescue Exception=>e
puts e
end
end
end
|