Class: LinkedRails::Ontology::Class

Inherits:
Base
  • Object
show all
Defined in:
app/models/linked_rails/ontology/class.rb

Constant Summary

Constants included from Model::Collections

Model::Collections::COLLECTION_CUSTOMIZABLE_OPTIONS, Model::Collections::COLLECTION_OPTIONS, Model::Collections::COLLECTION_STATIC_OPTIONS

Instance Attribute Summary collapse

Attributes inherited from Base

#iri

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#data, #description, #image, #label

Methods included from Model

#build_child

Methods included from Model::Singularable

#root_relative_iri, #root_relative_singular_iri, #singular_iri, #singular_iri?, #singular_iri_opts, #singular_iri_template, #singular_resource?

Methods included from Model::Serialization

#preview_includes, #show_includes

Methods included from Model::Menuable

#menu, #menu_list, #menus

Methods included from Model::IRI

#anonymous_iri, #anonymous_iri?, #iri, #iri_elements, #iri_opts, #rdf_type, #reload, #root_relative_iri, #route_fragment

Methods included from Model::Enhancements

#enhanced_with?

Methods included from Model::Dirty

#previously_changed_relations

Methods included from Model::Collections

#collection_for, #collection_iri, #collection_options_for, #collection_root_relative_iri, #parent_collections

Methods included from Model::Actionable

#action, #action_list, #action_triples, #actions, #collection_actions, #favorite_actions

Instance Attribute Details

#klassObject

Returns the value of attribute klass.



8
9
10
# File 'app/models/linked_rails/ontology/class.rb', line 8

def klass
  @klass
end

Class Method Details

.iriObject



33
34
35
# File 'app/models/linked_rails/ontology/class.rb', line 33

def iri
  Vocab.rdfs.Class
end

.translation_keyObject



37
38
39
# File 'app/models/linked_rails/ontology/class.rb', line 37

def translation_key
  :class
end

Instance Method Details

#input_select_propertyObject



10
11
12
# File 'app/models/linked_rails/ontology/class.rb', line 10

def input_select_property
  klass.try(:input_select_property)
end

#parent_classObject



14
15
16
17
18
19
20
# File 'app/models/linked_rails/ontology/class.rb', line 14

def parent_class
  if klass&.superclass == ApplicationRecord
    Vocab.schema.Thing
  else
    klass&.superclass.try(:iri) || Vocab.schema.Thing
  end
end

#plural_labelObject



22
23
24
25
26
# File 'app/models/linked_rails/ontology/class.rb', line 22

def plural_label
  @plural_label ||= LinkedRails.translations(
    -> { LinkedRails.translate(self.class.translation_key, :plural_label, iri) }
  )
end

#propertiesObject



28
29
30
# File 'app/models/linked_rails/ontology/class.rb', line 28

def properties
  @properties ||= klass&.predicate_mapping&.keys&.map { |key| LinkedRails.ontology_property_class.new(iri: key) }
end