module LinkedRails::Model::Iri::ClassMethods

Public Instance Methods

iri() click to toggle source
# File lib/linked_rails/model/iri.rb, line 94
def iri
  @iri ||= iri_namespace[iri_value] if iri_namespace
end
iri_namespace() click to toggle source
# File lib/linked_rails/model/iri.rb, line 98
def iri_namespace
  return if self == ApplicationRecord

  superclass.try(:iri_namespace) ||
    (linked_rails_module? ? Vocab.ontola : LinkedRails.app_vocab)
end
iri_template() click to toggle source
# File lib/linked_rails/model/iri.rb, line 109
def iri_template
  @iri_template ||= URITemplate.new("/#{route_key}{/id}{#fragment}")
end
iri_value() click to toggle source
# File lib/linked_rails/model/iri.rb, line 105
def iri_value
  linked_rails_module? ? name.demodulize : name
end
linked_rails_module?() click to toggle source
# File lib/linked_rails/model/iri.rb, line 113
def linked_rails_module?
  (Rails.version < '6' ? parents : module_parents).include?(LinkedRails)
end