Class: Sbuilder::Domain
- Inherits:
-
Object
- Object
- Sbuilder::Domain
- Includes:
- Utils::MyLogger
- Defined in:
- lib/sbuilder/domain.rb
Direct Known Subclasses
Constant Summary collapse
- PROGNAME =
mixer
"domain"
Constants included from Utils::MyLogger
Instance Attribute Summary collapse
-
#extension ⇒ Object
readonly
Returns the value of attribute extension.
-
#name ⇒ Object
(also: #domain_name)
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#cardinality ⇒ Object
delegate to extension - return 1 if does not exist.
-
#domain_entries ⇒ Object
return array of strings for entries in domain - overrid.
-
#domain_entry(i) ⇒ Object
Return domain value for for element ‘i’.
-
#domain_values ⇒ Object
return and array of :value,:_comma hashes.
-
#initialize(options = {}) ⇒ Domain
constructor
A new instance of Domain.
-
#setExtension(extension) ⇒ Object
—————————————————————— extendDomain.
-
#setName(name) ⇒ Object
—————————————————————— config.
- #to_s ⇒ Object
Methods included from Utils::MyLogger
Constructor Details
Instance Attribute Details
#extension ⇒ Object (readonly)
Returns the value of attribute extension.
8 9 10 |
# File 'lib/sbuilder/domain.rb', line 8 def extension @extension end |
#name ⇒ Object (readonly) Also known as: domain_name
Returns the value of attribute name.
6 7 8 |
# File 'lib/sbuilder/domain.rb', line 6 def name @name end |
Instance Method Details
#cardinality ⇒ Object
delegate to extension - return 1 if does not exist
50 51 52 53 |
# File 'lib/sbuilder/domain.rb', line 50 def cardinality return 1 unless extension extension.cardinality end |
#domain_entries ⇒ Object
return array of strings for entries in domain - overrid
96 97 98 99 |
# File 'lib/sbuilder/domain.rb', line 96 def domain_entries arr = *(1..cardinality).map { |i| domain_entry( i ) } return arr end |
#domain_entry(i) ⇒ Object
Return domain value for for element ‘i’. Possibly delegate to sub-class.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/sbuilder/domain.rb', line 72 def domain_entry( i ) # interpret 0 as Nil return false if i.is_a?(Integer) && i == 0 # delegage - if possible return extension.domain_entry( i ) if extension raise DomainException.new <<-EOS unless i.is_a?(Integer) Unknown type '#{i.class}' with value '#{i}' in 'domain_entry' #{name}. Support only for Integer EOS raise DomainException.new <<-EOS if i > cardinality Requested cardinality #{i} exceeds cardinality #{cardinality} of domain #{name} EOS "d_#{domain_name}_#{i}" end |
#domain_values ⇒ Object
return and array of :value,:_comma hashes
103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/sbuilder/domain.rb', line 103 def domain_values # delegate - if extended return extension.domain_values if extension arra = domain_entries.map.with_index do |domain_entry, i| { :namespace => Constants::TYPE_NAMESPACE_DOM, :value => domain_entry, :_comma => (i +1) == cardinality ? "" : ",", :index => i+1, } end @logger.debug( "#{__method__} #{name}: arra #{arra.to_yaml}" ) return arra end |
#setExtension(extension) ⇒ Object
extendDomain
42 43 44 |
# File 'lib/sbuilder/domain.rb', line 42 def setExtension( extension ) @extension = extension end |
#setName(name) ⇒ Object
config
28 29 30 31 |
# File 'lib/sbuilder/domain.rb', line 28 def setName( name ) @name = name self end |
#to_s ⇒ Object
21 22 23 |
# File 'lib/sbuilder/domain.rb', line 21 def to_s "#{self.class}: name=#{name}" end |