Sha256: 9797304f651b101e1f9a25a76125ba54d2853e78b62b4fca7e94c0bea40e32de

Contents?: true

Size: 1.05 KB

Versions: 17

Compression:

Stored size: 1.05 KB

Contents

module Nucleon
module Event
class Regex < Nucleon.plugin_class(:nucleon, :event)
 
  #-----------------------------------------------------------------------------
  # Regular expression event interface
  
  def normalize(reload)
    super
    
    if get(:string)
      myself.pattern = delete(:string)
    end
  end
      
  #-----------------------------------------------------------------------------
  # Property accessors / modifiers
  
  def pattern(default = '')
    return get(:pattern, default)
  end
  
  #---
   
  def pattern=pattern
    set(:pattern, string(pattern))  
  end
  
  #-----------------------------------------------------------------------------
  # Operations
  
  def render
    return "#{name}:#{pattern}"
  end
  
  #---
   
  def check(source)
    if pattern.empty?
      logger.warn("Can not check regex pattern because it is empty")
    else
      success = source.match(/#{pattern}/)
      
      logger.debug("Checking regex event with pattern #{pattern}: #{success.inspect}")
      return success
    end
    return true
  end
end
end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
nucleon-0.2.16 lib/nucleon/event/regex.rb
nucleon-0.2.15 lib/nucleon/event/regex.rb
nucleon-0.2.14 lib/nucleon/event/regex.rb
nucleon-0.2.13 lib/nucleon/event/regex.rb
nucleon-0.2.12 lib/nucleon/event/regex.rb
nucleon-0.2.11 lib/nucleon/event/regex.rb
nucleon-0.2.10 lib/nucleon/event/regex.rb
nucleon-0.2.9 lib/nucleon/event/regex.rb
nucleon-0.2.8 lib/nucleon/event/regex.rb
nucleon-0.2.7 lib/nucleon/event/regex.rb
nucleon-0.2.6 lib/nucleon/event/regex.rb
nucleon-0.2.5 lib/nucleon/event/regex.rb
nucleon-0.2.4 lib/nucleon/event/regex.rb
nucleon-0.2.3 lib/nucleon/event/regex.rb
nucleon-0.2.2 lib/nucleon/event/regex.rb
nucleon-0.2.1 lib/nucleon/event/regex.rb
nucleon-0.2.0 lib/nucleon/event/regex.rb