Sha256: 322c85a72faffdcdeed8780cb0bf947f4780495c414b4a61812ac906a87a41a1
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
module Sbuilder class ResolverRuleMatch < ResolverRule attr_reader :matchRule # string or regexp attr_reader :domain # ------------------------------------------------------------------ # mixer PROGNAME = "ResolverRuleMatch" # progname for logger include Sbuilder::Utils::MyLogger # mix logger # ------------------------------------------------------------------ # constrcutore def initialize( options = {} ) @logger = getLogger( PROGNAME, options ) @logger.info( "#{__method__} initialized" ) super( options ) end # set properties when loading def config( matchRule, domain ) @matchRule = matchRule @domain = domain end # ------------------------------------------------------------------ # resolve domain def match( parameter ) matchRule.is_a?( String ) ? parameter.name == matchRule : (parameter.name =~ matchRule) != nil end # return true if domain resolved def doApplyRule( parameter, model ) @logger.debug( "#{__method__} matchRule=#{matchRule}, matchRule.class=#{matchRule.class} on parameter.getName=#{parameter.getName}" ) # no need to resolve domain - Paramter_Ref? return true unless parameter.respond_to?( :domain ) # its already read return true if parameter.domain if match( parameter ) then @logger.info( "#{__method__} setDomain '#{domain}' on parameter '#{parameter.getName}' based on rule '#{matchRule}'" ) # parameter.setDomain( domain ) parameter.resolveDomain( model ) return true end return false end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tla-sbuilder-0.1.0 | lib/sbuilder/resolver_rule_match.rb |