Module: LinkedRails::Model::Singularable

Extended by:
ActiveSupport::Concern
Included in:
LinkedRails::Model
Defined in:
lib/linked_rails/model/singularable.rb

Instance Method Summary collapse

Instance Method Details

#root_relative_iri(**opts) ⇒ Object



16
17
18
19
20
# File 'lib/linked_rails/model/singularable.rb', line 16

def root_relative_iri(**opts)
  return super unless singular_iri?

  root_relative_singular_iri(**opts)
end

#root_relative_singular_iri(**opts) ⇒ Object



12
13
14
# File 'lib/linked_rails/model/singularable.rb', line 12

def root_relative_singular_iri(**opts)
  RDF::URI(singular_iri_template.expand(singular_iri_opts.merge(opts)))
end

#singular_iri(**opts) ⇒ Object



22
23
24
25
26
# File 'lib/linked_rails/model/singularable.rb', line 22

def singular_iri(**opts)
  return iri_with_root(root_relative_singular_iri(**opts)) if opts.present?

  @singular_iri ||= iri_with_root(root_relative_singular_iri)
end

#singular_iri?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/linked_rails/model/singularable.rb', line 28

def singular_iri?
  anonymous_iri?
end

#singular_iri_optsObject



32
33
34
# File 'lib/linked_rails/model/singularable.rb', line 32

def singular_iri_opts
  {}
end

#singular_iri_templateObject



36
37
38
# File 'lib/linked_rails/model/singularable.rb', line 36

def singular_iri_template
  self.class.singular_iri_template
end

#singular_resource?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/linked_rails/model/singularable.rb', line 40

def singular_resource?
  singular_resource || false
end