Sha256: 41242fd0b78377aac3ff9f18ecd68ec79d524469a51b95ef4707120d5c16c9be

Contents?: true

Size: 919 Bytes

Versions: 2

Compression:

Stored size: 919 Bytes

Contents

class Pedantic
  @@processors = []
  
  def self.fix(string)
    Pedantic.new(string).to_s
  end
  
  def self.processors(*methods)
    @@processors += methods
  end
  
  def initialize(string)
    @original = string
  end
  
  def to_s
    process
  end
  
  private
  
  def process
    @current = @original.clone
    
    @@processors.each do |processor|
      @current = send(processor, @current)
    end
    
    @current.gsub(/\s+/, ' ').strip
  end
end

require 'pedantic/emphasis'
require 'pedantic/emoticons'
require 'pedantic/html'
require 'pedantic/punctuation'
require 'pedantic/stems'
require 'pedantic/txt'
require 'pedantic/unimportant'
require 'pedantic/uris'

class Pedantic
  include Pedantic::Uris
  include Pedantic::Html
  include Pedantic::Emoticons
  include Pedantic::Txt
  include Pedantic::Punctuation
  include Pedantic::Emphasis
  include Pedantic::Unimportant
  include Pedantic::Stems
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pedantic-0.1.1 lib/pedantic.rb
pedantic-0.1.0 lib/pedantic.rb