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.
12 13 14 15 16 |
# File 'lib/lutaml/uml_repository/static_site/serializers/attribute_serializer.rb', line 12 def initialize(repository, id_generator, ) @repository = repository @id_generator = id_generator @options = end |
Instance Method Details
#build_map ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/lutaml/uml_repository/static_site/serializers/attribute_serializer.rb', line 18 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
31 32 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 31 def serialize(attribute, owner, id) { id: id, name: attribute.name, type: attribute.type, visibility: attribute.visibility, owner: @id_generator.class_id(owner), ownerName: owner.name, cardinality: serialize_cardinality(attribute.cardinality), definition: format_definition(attribute.definition), stereotypes: normalize_stereotypes( attribute.respond_to?(:stereotype) ? attribute.stereotype : nil, ), isStatic: attribute.respond_to?(:is_static) ? attribute.is_static : false, isReadOnly: attribute.respond_to?(:is_read_only) ? attribute.is_read_only : false, defaultValue: attribute.respond_to?(:default) ? attribute.default : nil, } end |