Class: ActiveFacts::Metamodel::ValueField

Inherits:
Mapping show all
Defined in:
lib/activefacts/metamodel/metamodel.rb,
lib/activefacts/metamodel/extensions.rb

Constant Summary

Constants inherited from Component

Component::RANK_DISCRIMINATOR, Component::RANK_FOREIGN, Component::RANK_IDENT, Component::RANK_INDICATOR, Component::RANK_INJECTION, Component::RANK_MANDATORY, Component::RANK_MULTIPLE, Component::RANK_NON_MANDATORY, Component::RANK_SCOPING, Component::RANK_SUBTYPE, Component::RANK_SUPER, Component::RANK_SURROGATE, Component::RANK_VALUE

Instance Method Summary collapse

Methods inherited from Mapping

#all_leaf, #inspect_reason, #is_auto_assigned, #is_mandatory, #is_partitioned_here, #is_type_inheritance, #path_mandatory, #re_rank, #root, #validate_members, #validate_reverse

Methods inherited from Component

#all_role, #data_type, #depth, #in_foreign_key, #in_natural_index, #in_primary_index, #is_auto_assigned, #is_in_primary, #is_mandatory, #leaves, #narrow_value_constraint, #parent_entity_type, #path, #path_mandatory, #primary_index_components, #rank_key, #rank_kind, #rank_path, #root, #uncache_rank_key

Instance Method Details

#commentObject



2266
2267
2268
# File 'lib/activefacts/metamodel/extensions.rb', line 2266

def comment
  (c = parent && parent.comment) && c != '' ? c : name
end

#fork_to_new_parent(parent) ⇒ Object



2270
2271
2272
2273
# File 'lib/activefacts/metamodel/extensions.rb', line 2270

def fork_to_new_parent parent
  # When we fork from a ValueField, we want to use the name of the ValueType, not the ValueField name
  @constellation.fork self, guid: :new, parent: parent, name: object_type.name, injection_annotation: nil
end

#inspectObject



2258
2259
2260
# File 'lib/activefacts/metamodel/extensions.rb', line 2258

def inspect
  "#{self.class.basename} #{object_type.name.inspect}"
end

#show_traceObject



2262
2263
2264
# File 'lib/activefacts/metamodel/extensions.rb', line 2262

def show_trace
  trace :composition, "#{ordinal}: #{inspect}#{name ? " (as #{name.inspect})" : ''}"
end