Sha256: 96280d70c6225b45f82000e53dcd473bdf440ee9912502dd4608710b056849db
Contents?: true
Size: 1.88 KB
Versions: 4
Compression:
Stored size: 1.88 KB
Contents
module Sbuilder class ResolverRuleMatch < ResolverRule attr_reader :matchRule # string or regexp attr_reader :domain # ------------------------------------------------------------------ # mixer PROGNAME = nil # progname for logger default class name include Sbuilder::Utils::MyLogger # mix logger # ------------------------------------------------------------------ # constrcutore def initialize( options = {} ) @logger = getLogger( PROGNAME, options ) @logger.debug( "#{__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}'" ) # self.class.setDomain( parameter, domain, model ) # parameter.setDomain( domain ) # parameter.resolveDomain( model ) return true end return false end def self.setDomain( parameter, domain, model ) parameter.setDomain( domain ) parameter.resolveDomain( model ) end end end
Version data entries
4 entries across 4 versions & 1 rubygems