Class: Lutaml::UmlRepository::StaticSite::Serializers::AttributeSerializer
- Inherits:
-
Object
- Object
- Lutaml::UmlRepository::StaticSite::Serializers::AttributeSerializer
- Includes:
- Lutaml::Uml::ModelHelpers
- Defined in:
- lib/lutaml/uml_repository/static_site/serializers/attribute_serializer.rb
Instance Method Summary collapse
- #build_map ⇒ Object
-
#initialize(repository, id_generator, options) ⇒ AttributeSerializer
constructor
A new instance of AttributeSerializer.
- #serialize(attribute, owner, id) ⇒ Object
Methods included from Lutaml::Uml::ModelHelpers
#class_type_for, #format_cardinality, #normalize_stereotypes, #package_path_for, #parse_cardinality, #qualified_name_for
Constructor Details
#initialize(repository, id_generator, options) ⇒ AttributeSerializer
Returns a new instance of AttributeSerializer.
14 15 16 17 18 |
# File 'lib/lutaml/uml_repository/static_site/serializers/attribute_serializer.rb', line 14 def initialize(repository, id_generator, ) @repository = repository @id_generator = id_generator @options = end |
Instance Method Details
#build_map ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/lutaml/uml_repository/static_site/serializers/attribute_serializer.rb', line 20 def build_map attributes = {} @repository.classes_index.each do |klass| next unless klass.attributes klass.attributes.each do |attr| id = @id_generator.attribute_id(attr, klass) attributes[id] = serialize(attr, klass, id) end end attributes end |
#serialize(attribute, owner, id) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/lutaml/uml_repository/static_site/serializers/attribute_serializer.rb', line 33 def serialize(attribute, owner, id) Models::SpaAttribute.new( id: id, name: attribute.name, type: attribute.type, visibility: attribute.visibility, owner: @id_generator.class_id(owner), owner_name: owner.name, cardinality: serialize_cardinality(attribute.cardinality), definition: format_definition(attribute.definition), stereotypes: normalize_stereotypes(attribute.stereotype), is_static: attribute.is_static, is_read_only: attribute.is_read_only, default_value: attribute.default, ) end |