Module: Sbuilder::ControllerUtils
- Included in:
- Controller
- Defined in:
- lib/sbuilder/controller_utils.rb
Overview
collect method, which all
Instance Method Summary collapse
- #dispatchExtendDomain(domainDef) ⇒ Object
-
#extendDomainRange(domainDef) ⇒ Object
Extend domain with (integer) range.
- #extendDomainWithCardinality(domainDef) ⇒ Object
- #extendDomainWithType(domainDef) ⇒ Object
- #extendDomainWithValues(domainDef) ⇒ Object
-
#setApplicationDomainValues(domainName, arrOfDomainValues) ⇒ Object
Creates ‘domainDef’ and delegates to ‘extendDomainWithValues’.
Instance Method Details
#dispatchExtendDomain(domainDef) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/sbuilder/controller_utils.rb', line 8 def dispatchExtendDomain( domainDef ) Utils::Validate.validateProperties( domainDef, Constants::VALIDATION[:domain_extension][:required], Constants::VALIDATION[:domain_extension][:allowed] ) Utils::Validate.oneOf( domainDef, Constants::VALIDATION[:domain_extension][:one_of] ) if !domainDef['cardinality'].nil? then extendDomainWithCardinality( domainDef ) elsif !domainDef['values'].nil? extendDomainWithValues( domainDef ) elsif !domainDef['range'].nil? extendDomainRange( domainDef ) elsif !domainDef['type'].nil? extendDomainWithType( domainDef ) else raise ExtensionException, "Invalid domain definition #{domainDef}" end end |
#extendDomainRange(domainDef) ⇒ Object
Extend domain with (integer) range
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/sbuilder/controller_utils.rb', line 31 def extendDomainRange( domainDef ) # must be array with length of two, with first element less or equal raise ExtensionException, "Invalid domain range defintion" unless domainDef['range'] && domainDef['range'].is_a?( Array ) && domainDef['range'].length == 2 && domainDef['range'][0] <= domainDef['range'][1] domain = factory.createDomain( Sbuilder::Constants::TYPE_RANGE_DOMAIN ) domain.setName( domainDef['domain'] ) domain.setRange( domainDef['range'][0], domainDef['range'][1] ) # pass to model via controller extendDomain( domain ) end |
#extendDomainWithCardinality(domainDef) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/sbuilder/controller_utils.rb', line 67 def extendDomainWithCardinality( domainDef ) # @logger.info( "#{__method__} domainDef=#{domainDef}" ) # validateProperties( domainDef, @@extensionDoaminProperties ) Utils::Validate.validateProperties( domainDef, Constants::VALIDATION[:domain_extension][:cardinality_required], Constants::VALIDATION[:domain_extension][:cardinality_allowed] ) # create & configure domain = factory.createDomain( Sbuilder::Constants::TYPE_CARDINALITY_DOMAIN ) domain.setName( domainDef['domain'] ) domain.setCardinality( domainDef['cardinality'] ) # pass to model via controller extendDomain( domain ) end |
#extendDomainWithType(domainDef) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/sbuilder/controller_utils.rb', line 49 def extendDomainWithType( domainDef ) # @logger.info( "#{__method__}: domainDef=#{domainDef}" ) Utils::Validate.validateProperties( domainDef, Constants::VALIDATION[:domain_extension][:type_required], Constants::VALIDATION[:domain_extension][:type_allowed] ) # create & configure domain = factory.createDomain( Sbuilder::Constants::TYPE_DOMAIN_TYPE ) domain.setName( domainDef['domain'] ) domain.setType( domainDef['type'] ) # pass to model via controller extendDomain( domain ) end |
#extendDomainWithValues(domainDef) ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/sbuilder/controller_utils.rb', line 99 def extendDomainWithValues( domainDef ) # @logger.info( "#{__method__} domainDef=#{domainDef}" ) # validateProperties( domainDef, @@extensionValuesProperties ) Utils::Validate.validateProperties( domainDef, Constants::VALIDATION[:domain_extension][:value_required], Constants::VALIDATION[:domain_extension][:value_allowed] ) # create & configure domain = factory.createDomain( Sbuilder::Constants::TYPE_VALUE_DOMAIN ) domain.setName( domainDef['domain'] ) domainDef['values'].each { |value| domain.addValue( value ) } # pass to model via controller extendDomain( domain ) end |
#setApplicationDomainValues(domainName, arrOfDomainValues) ⇒ Object
Creates ‘domainDef’ and delegates to ‘extendDomainWithValues’
90 91 92 93 94 95 96 97 |
# File 'lib/sbuilder/controller_utils.rb', line 90 def setApplicationDomainValues( domainName, arrOfDomainValues ) domainDef = { 'domain' => domainName, 'values' => arrOfDomainValues } # add to model addApplicationDomainValue( domainDef ) end |