Module: Tidy

Defined in:
lib/tidy.rb

Overview

Ruby interface to HTML Tidy Library Project (http://tidy.sf.net).

=Usage

require 'tidy'
Tidy.path = '/usr/lib/tidylib.so'
html = '<html><title>title</title>Body</html>'
xml = Tidy.open(:show_warnings=>true) do |tidy|
tidy.options.output_xml = true
puts tidy.options.show_warnings
xml = tidy.clean(html)
puts tidy.errors
puts tidy.diagnostics
xml
end
puts xml
Author

Kevin Howe

License

Distributes under the same terms as Ruby

Class Method Summary collapse

Class Method Details

.new(options = nil) ⇒ Object

Return a Tidyobj instance.



35
36
37
# File 'lib/tidy.rb', line 35

def new(options=nil)
  Tidyobj.new(options)
end

.open(options = nil) ⇒ Object

With no block, open is a synonym for Tidy.new. If a block is present, it is passed aTidy as a parameter. aTidyObj.release is ensured at end of the block.



54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/tidy.rb', line 54

def open(options=nil)
  raise "Tidy.path was not specified." unless @path
  tidy = Tidy.new(options)
  if block_given?
    begin
      yield tidy
    ensure
      tidy.release
    end
  else
    tidy
  end
end

.pathObject

Path to Tidylib.



41
# File 'lib/tidy.rb', line 41

def path() @path end

.path=(path) ⇒ Object

Set the path to Tidylib (automatically loads the library).



45
46
47
48
# File 'lib/tidy.rb', line 45

def path=(path)
  Tidylib.load(path)
  @path = path
end

.to_b(value) ⇒ Object

Convert to boolean. 0, false and nil return false, anything else true.



71
72
73
# File 'lib/tidy.rb', line 71

def to_b(value)
  [0,false,nil].include?(value) ? false : true
end