Class: Fiona7::AttributeNamesFromCms

Inherits:
Object
  • Object
show all
Defined in:
lib/fiona7/attribute_names_from_cms.rb

Instance Method Summary collapse

Constructor Details

#initialize(attribute, type_register = Fiona7::TypeRegister.instance) ⇒ AttributeNamesFromCms

Returns a new instance of AttributeNamesFromCms.



7
8
9
10
# File 'lib/fiona7/attribute_names_from_cms.rb', line 7

def initialize(attribute, type_register=Fiona7::TypeRegister.instance)
  @attribute = attribute
  @type_register = type_register
end

Instance Method Details

#attributesObject



12
13
14
15
16
17
18
# File 'lib/fiona7/attribute_names_from_cms.rb', line 12

def attributes
  # Select all known (i.e. registered) classes
  obj_classes = Fiona7::ObjClassesFromCms.new(@type_register).obj_classes
  # Select classes with the given attribute
  obj_classes = obj_classes.select {|obj_class| @type_register.read(obj_class).find_attribute(@attribute) }
  obj_classes.map {|obj_class| Fiona7::AttributeNameMangler.new(@attribute, obj_class).mangle }.uniq
end