Class: Filter

Inherits:
Object
  • Object
show all
Defined in:
lib/filters/uri.rb,
lib/filters/email.rb,
lib/filters/filter.rb,
lib/filters/markup.rb,
lib/filters/phrase.rb,
lib/filters/version.rb,
lib/filters/profanity.rb

Direct Known Subclasses

Email, Markup, Phrase, URI

Defined Under Namespace

Classes: Email, Markup, Phrase, Profanity, URI

Constant Summary collapse

VERSION =
'1.0.1'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(string, options = {}) ⇒ Filter

Initialize with string and options.



12
13
14
# File 'lib/filters/filter.rb', line 12

def initialize string, options = {}
  @string, @options = string, options
end

Instance Attribute Details

#stringObject (readonly)

Input string.



7
8
9
# File 'lib/filters/filter.rb', line 7

def string
  @string
end

Class Method Details

.inherited(subclass) ⇒ Object

Auto generate Filter::Subclass() methods which act as a shortcut to Filter::Subclass.new(…).filter!



20
21
22
23
24
# File 'lib/filters/filter.rb', line 20

def self.inherited subclass
  (class << self; self end).send :define_method, subclass.name.split('::').last do |*args|
    subclass.new(*args).filter!
  end
end

.Profanity(*args) ⇒ Object



303
304
305
# File 'lib/filters/profanity.rb', line 303

def self.Profanity *args
  Profanity.new(*args).filter!
end