Class: LinkedRails::Sequence

Inherits:
Object
  • Object
show all
Defined in:
app/models/linked_rails/sequence.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(members, **opts) ⇒ Sequence

Returns a new instance of Sequence.



8
9
10
11
12
13
14
# File 'app/models/linked_rails/sequence.rb', line 8

def initialize(members, **opts)
  self.node = opts[:id] || RDF::Node.new
  self.parent = opts[:parent]
  self.raw_members = members
  self.scope = opts[:scope]
  self.user_context = opts[:user_context]
end

Instance Attribute Details

#nodeObject

Returns the value of attribute node.



5
6
7
# File 'app/models/linked_rails/sequence.rb', line 5

def node
  @node
end

#parentObject

Returns the value of attribute parent.



5
6
7
# File 'app/models/linked_rails/sequence.rb', line 5

def parent
  @parent
end

#raw_membersObject

Returns the value of attribute raw_members.



5
6
7
# File 'app/models/linked_rails/sequence.rb', line 5

def raw_members
  @raw_members
end

#scopeObject

Returns the value of attribute scope.



5
6
7
# File 'app/models/linked_rails/sequence.rb', line 5

def scope
  @scope
end

#user_contextObject

Returns the value of attribute user_context.



5
6
7
# File 'app/models/linked_rails/sequence.rb', line 5

def user_context
  @user_context
end

Class Method Details

.iriObject



50
51
52
# File 'app/models/linked_rails/sequence.rb', line 50

def iri
  RDF[:Seq]
end

Instance Method Details

#idObject



19
20
21
# File 'app/models/linked_rails/sequence.rb', line 19

def iri(**_opts)
  node
end

#iri(**_opts) ⇒ Object



16
17
18
# File 'app/models/linked_rails/sequence.rb', line 16

def iri(**_opts)
  node
end

#membersObject



21
22
23
24
25
# File 'app/models/linked_rails/sequence.rb', line 21

def members
  @members ||= apply_scope(
    raw_members.respond_to?(:call) ? raw_members.call : raw_members
  )
end

#preview_includesObject



27
28
29
# File 'app/models/linked_rails/sequence.rb', line 27

def preview_includes
  [:members]
end

#rdf_typeObject



31
32
33
# File 'app/models/linked_rails/sequence.rb', line 31

def rdf_type
  self.class.iri
end