Class: OntologyUnited::Serializer::SerializerBase
- Inherits:
-
Object
- Object
- OntologyUnited::Serializer::SerializerBase
show all
- Includes:
- OntologyUnited::Stack
- Defined in:
- lib/ontology-united/serializer/serializer_base.rb
Instance Method Summary
collapse
#current, #parent, #stack
Constructor Details
Returns a new instance of SerializerBase.
6
7
8
|
# File 'lib/ontology-united/serializer/serializer_base.rb', line 6
def initialize(current: nil)
stack.push(current) if current
end
|
Instance Method Details
#class?(subject) ⇒ Boolean
37
38
39
|
# File 'lib/ontology-united/serializer/serializer_base.rb', line 37
def class?(subject)
subject.is_a?(OntologyUnited::DSL::OntologyClass)
end
|
#join(elements, sep) ⇒ Object
25
26
27
28
29
30
31
|
# File 'lib/ontology-united/serializer/serializer_base.rb', line 25
def join(elements, sep)
elements.reduce('') do |str, raw_element|
str << sep unless str.empty?
element = yield raw_element
str << element
end
end
|
#mark!(subject) ⇒ Object
17
18
19
|
# File 'lib/ontology-united/serializer/serializer_base.rb', line 17
def mark!(subject)
stack.push(subject)
end
|
#ontology?(subject) ⇒ Boolean
33
34
35
|
# File 'lib/ontology-united/serializer/serializer_base.rb', line 33
def ontology?(subject)
subject.is_a?(OntologyUnited::DSL::Ontology)
end
|
#process(subject, &block) ⇒ Object
10
11
12
13
14
15
|
# File 'lib/ontology-united/serializer/serializer_base.rb', line 10
def process(subject, &block)
mark!(subject)
result = block.call
unmark!
result
end
|
#sentence?(subject) ⇒ Boolean
#unmark! ⇒ Object
21
22
23
|
# File 'lib/ontology-united/serializer/serializer_base.rb', line 21
def unmark!
stack.pop
end
|