Class: Sbuilder::DomainRange
- Includes:
- Utils::MyLogger
- Defined in:
- lib/sbuilder/domain_range.rb
Constant Summary collapse
- PROGNAME =
progname for logger default class name
nil
Constants included from Utils::MyLogger
Instance Attribute Summary collapse
- #rangeEnd ⇒ Object readonly
- #rangeStart ⇒ Object readonly
Attributes inherited from Domain
Constructor & configure collapse
-
#initialize(options = {}) ⇒ DomainRange
constructor
A new instance of DomainRange.
-
#setRange(rangeStart, rangeEnd) ⇒ Object
Set domain
rangeStart..
Override from base class collapse
-
#cardinality ⇒ Integer
#rangeEnd - #rangeStart + 1.
-
#domain_entry(i) ⇒ rangeStart
+ i.
-
#domain_range ⇒ Object
Range overrides default implementation for ‘domain’, and return valid index for ‘domain_entry’.
-
#includeNil ⇒ Boolean
Range does not include Nil in domain set.
-
#render_values ⇒ Array
Of intergers [#rangeStart..#rangeEnd].
-
#stringize(val) ⇒ val
No change (because integers should not be wrapped.
Methods included from Utils::MyLogger
Methods inherited from Domain
#domain_values, #nilValue, #numberOfElements, #render_entry, #setExtension, #setName, #tlaBaseType, #to_s
Constructor Details
#initialize(options = {}) ⇒ DomainRange
Returns a new instance of DomainRange.
19 20 21 22 23 24 |
# File 'lib/sbuilder/domain_range.rb', line 19 def initialize( = {} ) super( ) @logger = getLogger( PROGNAME, ) @logger.debug( "#{__method__} initialized" ) end |
Instance Attribute Details
#rangeEnd ⇒ Object (readonly)
12 13 14 |
# File 'lib/sbuilder/domain_range.rb', line 12 def rangeEnd @rangeEnd end |
#rangeStart ⇒ Object (readonly)
9 10 11 |
# File 'lib/sbuilder/domain_range.rb', line 9 def rangeStart @rangeStart end |
Instance Method Details
#cardinality ⇒ Integer
Returns #rangeEnd - #rangeStart + 1.
50 51 52 |
# File 'lib/sbuilder/domain_range.rb', line 50 def cardinality rangeEnd - rangeStart + 1 end |
#domain_entry(i) ⇒ rangeStart
Returns + i.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/sbuilder/domain_range.rb', line 56 def domain_entry( i ) # Convert to integer - if possible i = Integer(i ) unless i.is_a?( Integer ) # Valid range index? if i<rangeStart || i>rangeEnd msg = <<-EOS Error in domain range #{i} Valid domain index: #{rangeStart}..#{rangeEnd} EOS @logger.error "#{__method__}: #{msg}" raise DomainException, msg end i end |
#domain_range ⇒ Object
Range overrides default implementation for ‘domain’, and return valid index for ‘domain_entry’.
(maybe extentended) domain
91 92 93 |
# File 'lib/sbuilder/domain_range.rb', line 91 def domain_range rangeStart..rangeEnd end |
#includeNil ⇒ Boolean
Range does not include Nil in domain set.
45 46 47 |
# File 'lib/sbuilder/domain_range.rb', line 45 def includeNil false end |
#render_values ⇒ Array
Returns of intergers [#rangeStart..#rangeEnd].
81 82 83 |
# File 'lib/sbuilder/domain_range.rb', line 81 def render_values (rangeStart..rangeEnd).to_a end |
#setRange(rangeStart, rangeEnd) ⇒ Object
Set domain rangeStart .. rangeEnd
31 32 33 34 |
# File 'lib/sbuilder/domain_range.rb', line 31 def setRange( rangeStart, rangeEnd ) @rangeStart = rangeStart @rangeEnd = rangeEnd end |
#stringize(val) ⇒ val
Returns no change (because integers should not be wrapped.
76 77 78 |
# File 'lib/sbuilder/domain_range.rb', line 76 def stringize( val ) val end |