Class: OntologyUnited::DSL::BaseDSL
- Inherits:
-
Object
- Object
- OntologyUnited::DSL::BaseDSL
- Extended by:
- Stack, Stack::Delegate
- Defined in:
- lib/ontology-united/dsl/base_dsl.rb
Direct Known Subclasses
Class Attribute Summary collapse
-
.stack ⇒ Object
writeonly
Sets the attribute stack.
-
.the_attr_readers ⇒ Object
readonly
Returns the value of attribute the_attr_readers.
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Stack
Methods included from Stack::Delegate
Class Attribute Details
.stack=(value) ⇒ Object (writeonly)
Sets the attribute stack
9 10 11 |
# File 'lib/ontology-united/dsl/base_dsl.rb', line 9 def stack=(value) @stack = value end |
.the_attr_readers ⇒ Object (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
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_defaults ⇒ Object
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 |