module Shale
Main library namespace
Shale
uses adapters for parsing and serializing documents. For handling JSON and YAML, adapter must implement .load and .dump methods, so e.g for handling JSON, MultiJson works out of the box.
Adapters for XML handling are more complicated and must conform to [@see shale/adapter/rexml] Shale
provides adaters for most popular XML parsing libraries: Shale::Adapter::REXML
, Shale::Adapter::Nokogiri
and Shale::Adapter::Ox
By default Shale::Adapter::REXML
is used so no external dependencies are needed, but it’s not as performant as Nokogiri or Ox, so you may want to change it.
@example setting MultiJSON for handling JSON documents
Shale.json_adapter = MultiJson Shale.json_adapter # => MultiJson
@example setting YAML adapter for handling YAML documents
Shale.yaml_adapter = MultiJson Shale.yaml_adapter # => MultiJson
@example setting REXML adapter for handling XML documents
Shale.xml_adapter = Shale::Adapter::REXML Shale.xml_adapter # => Shale::Adapter::REXML
@example setting Nokogiri adapter for handling XML documents
require 'shale/adapter/nokogiri' Shale.xml_adapter = Shale::Adapter::Nokogir Shale.xml_adapter # => Shale::Adapter::Nokogir
@example setting Ox adapter for handling XML documents
require 'shale/adapter/ox' Shale.xml_adapter = Shale::Adapter::Ox Shale.xml_adapter # => Shale::Adapter::Ox
@api public
Constants
- VERSION
@api private
Attributes
Set JSON adapter
@param [.load, .dump] adapter
@example
Shale.json_adapter = Shale::Adapter::JSON
@api public
Set XML adapter
@param [@see Shale::Adapter::REXML
] adapter
@example
Shale.xml_adapter = Shale::Adapter::REXML
@api public
Set YAML adapter
@param [.load, .dump] adapter
@example
Shale.yaml_adapter = YAML
@api public
Public Class Methods
Return JSON adapter. By default Shale::Adapter::JSON
is used
@return [.load, .dump]
@example
Shale.json_adapter # => Shale::Adapter::JSON
@api public
# File lib/shale.rb, line 95 def json_adapter @json_adapter || Adapter::JSON end
Return XML adapter. By default Shale::Adapter::REXML
is used. Available adapters are Shale::Adapter::REXML
, Shale::Adapter::Nokogiri
and Shale::Adapter::Ox
@return [@see Shale::Adapter::REXML
]
@example
Shale.xml_adapter # => Shale::Adapter::REXML
@api public
# File lib/shale.rb, line 123 def xml_adapter @xml_adapter || Adapter::REXML end
Return YAML adapter. By default YAML is used
@return [.load, .dump]
@example
Shale.yaml_adapter # => YAML
@api public
# File lib/shale.rb, line 108 def yaml_adapter @yaml_adapter || YAML end