Class: OntologyUnited::DSL::BaseDSL

Inherits:
Object
  • Object
show all
Extended by:
Stack, Stack::Delegate
Defined in:
lib/ontology-united/dsl/base_dsl.rb

Direct Known Subclasses

OntologyDSL

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Stack

current, parent, stack

Methods included from Stack::Delegate

delegate_stack_to

Class Attribute Details

.stack=(value) ⇒ Object (writeonly)

Sets the attribute stack

Parameters:

  • value

    the value to set the attribute stack to.



9
10
11
# File 'lib/ontology-united/dsl/base_dsl.rb', line 9

def stack=(value)
  @stack = value
end

.the_attr_readersObject (readonly)

Returns the value of attribute the_attr_readers.



10
11
12
# File 'lib/ontology-united/dsl/base_dsl.rb', line 10

def the_attr_readers
  @the_attr_readers
end

Class Method Details

.attr_reader_with_default(*readers, default: nil) ⇒ Object

Raises:

  • (ArgumentError)


12
13
14
15
16
17
18
# File 'lib/ontology-united/dsl/base_dsl.rb', line 12

def attr_reader_with_default(*readers, default: nil)
  raise ArgumentError, 'Default value for reader needed' if default.nil?
  attr_reader *readers
  @the_attr_readers ||= {}
  klass = default.is_a?(Class) ? default : default.class
  readers.each { |reader| @the_attr_readers[reader] = klass }
end

Instance Method Details

#establish_defaultsObject



22
23
24
25
26
# File 'lib/ontology-united/dsl/base_dsl.rb', line 22

def establish_defaults
  self.class.the_attr_readers.each do |var, klass|
    self.instance_variable_set(:"@#{var}", klass.new)
  end
end