Sha256: 85e7f500a646edb2ba7b0d2d7d4f7d9d89c1acb5d448a02534d2cf768cdc6abf
Contents?: true
Size: 1.87 KB
Versions: 1
Compression:
Stored size: 1.87 KB
Contents
module Sbuilder class DomainValue < Domain attr_reader :values # ------------------------------------------------------------------ # mixer PROGNAME = "ValueDomain" # progname for logger include Sbuilder::Utils::MyLogger # mix logger def initialize( options = {} ) super( options ) @logger = getLogger( PROGNAME, options ) @logger.info( "#{__method__} initialized" ) # default values one @values = [] end # ------------------------------------------------------------------ # cardinality overriden def cardinality @values.size end # @param i [integer|string] domain entry to access # @return value in location `i-1` ie. indexing from 1,2,3,.. when i:integer # value with the given name when i:string def domain_entry( i ) case i when Integer @values[i-1] when String ret = @values.select { |val| val == i }.first if ret.nil? raise DomainException.new <<-EOS Unknown domain entry #{i} Known domain entries: #{values.join(',')} EOS end return ret else raise DomainException.new <<-EOS Unknown type #{i.class} in 'domain_entry' #{name}. Support only for Integer, String EOS end end # ------------------------------------------------------------------ # return array of strings for entries in domain - overides super def domain_entries @logger.debug( "#{__method__} #{name}: added domain_entries #{values.join(',')}" ) values end # ------------------------------------------------------------------ # build def addValue( value ) @logger.debug( "#{__method__} #{name}: added value #{value}" ) @values << value self end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tla-sbuilder-0.1.0 | lib/sbuilder/domain_value.rb |