Revision 9681b76a
Added by Marc Dequènes about 15 years ago
- ID 9681b76a1be610ebf6489b28f115114c1eb3adb0
test.rb | ||
---|---|---|
aspect_data = self.class.mapper.get_aspect(aspect)
|
||
|
||
if defined?(aspect_data[:presentation][:associated_attributes]) and aspect_data[:presentation][:associated_attributes]
|
||
taken_attr_list = aspect_data[:presentation][:associated_attributes] & attr_list
|
||
taken_attr_list = aspect_data[:presentation][:associated_attributes] & (attr_list + ignored_attrs)
|
||
unless taken_attr_list.empty?
|
||
obj_aspects[aspect] ||= {}
|
||
obj_aspects[aspect].merge!(fetch_attributes_data(taken_attr_list, options))
|
||
... | ... | |
|
||
def display_data(attr_data)
|
||
attr_data.each_pair do |key, val|
|
||
item_name = translate_data_key(key)
|
||
puts item_name + ": " + (val.is_a?(Array) ? val.sort.collect{|v| v.to_s }.join(", ") : val.to_s)
|
||
field_name = translate_data_key(key)
|
||
puts field_name + ": " + (val.is_a?(Array) ? val.sort.collect{|v| v.to_s }.join(", ") : val.to_s)
|
||
end
|
||
end
|
||
|
||
... | ... | |
exit 2
|
||
end
|
||
|
||
item_name = args[1]
|
||
item_identifier = args[1]
|
||
begin
|
||
item = obj_klass.find(item_name)
|
||
item = obj_klass.find(item_identifier)
|
||
rescue ActiveLdap::EntryNotFound
|
||
STDERR.puts "No such item '#{obj_name}/#{item_name}'"
|
||
STDERR.puts "No such item '#{obj_name}/#{item_identifier}'"
|
||
exit 2
|
||
end
|
||
|
||
obj_human_name = I18n.t(obj_name, :scope => 'objects', :default => "Object '#{obj_name}'")
|
||
puts "=== #{obj_human_name}: #{item.name} ==="
|
||
|
||
if $debug_opt
|
||
puts item.to_s
|
||
puts "=== Detected Info ==="
|
||
puts "--- Detected Info ---"
|
||
puts "aspects: " + item.aspects.sort.join(", ")
|
||
|
||
puts "=== Relations ==="
|
||
puts "--- Relations ---"
|
||
item.relations.each do |rel|
|
||
puts "#{rel}: " + item.send(rel).collect{|g| g.name }.join(", ")
|
||
end
|
||
... | ... | |
display_data(obj_info)
|
||
|
||
obj_aspects.each_pair do |aspect_name, aspect_data|
|
||
aspect_display_name = I18n.t(aspect_name, :scope => 'aspects', :default => "Aspect: #{aspect_name}")
|
||
puts "=== #{aspect_display_name} ==="
|
||
aspect_display_name = I18n.t(aspect_name, :scope => 'aspects', :default => "Aspect '#{aspect_name}'")
|
||
puts "--- #{aspect_display_name} ---"
|
||
display_data(aspect_data)
|
||
end
|
||
end
|
Also available in: Unified diff
[evol] distinguish object handle from the attributes, and allow aspects to associate with an attribute ignored by the object