Module: RablRails

Extended by:
Renderer
Defined in:
lib/rabl-rails.rb,
lib/rabl-rails/handler.rb,
lib/rabl-rails/library.rb,
lib/rabl-rails/railtie.rb,
lib/rabl-rails/version.rb,
lib/rabl-rails/compiler.rb,
lib/rabl-rails/renderer.rb,
lib/rabl-rails/template.rb,
lib/rabl-rails/responder.rb,
lib/rabl-rails/renderers/xml.rb,
lib/rabl-rails/renderers/base.rb,
lib/rabl-rails/renderers/json.rb

Defined Under Namespace

Modules: Handlers, Renderer, Renderers Classes: CompiledTemplate, Compiler, Library, Railtie, Responder

Constant Summary collapse

VERSION =
'0.2.0'
@@cache_templates =
true
@@include_json_root =
true
@@use_custom_responder =
false
@@responder_default_template =
'show'

Class Method Summary collapse

Methods included from Renderer

render

Class Method Details

.cache_templates?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'lib/rabl-rails.rb', line 61

def self.cache_templates?
  ActionController::Base.perform_caching && @@cache_templates
end

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (RablRails)

    the object that the method was called on



35
36
37
38
39
# File 'lib/rabl-rails.rb', line 35

def self.configure
  yield self

  ActionController::Base.responder = Responder if self.use_custom_responder
end

.json_engineObject



47
48
49
# File 'lib/rabl-rails.rb', line 47

def self.json_engine
  MultiJson.engine
end

.json_engine=(name) ⇒ Object



41
42
43
44
45
# File 'lib/rabl-rails.rb', line 41

def self.json_engine=(name)
  MultiJson.engine = name
rescue LoadError
  Rails.logger.warn %Q(WARNING: rabl-rails could not load "#{name}" as JSON engine, fallback to default)
end

.load_default_engines!Object



65
66
67
68
# File 'lib/rabl-rails.rb', line 65

def self.load_default_engines!
  self.json_engine = MultiJson.default_engine
  self.xml_engine  = 'LibXML' if defined?(LibXML)
end

.xml_engineObject



57
58
59
# File 'lib/rabl-rails.rb', line 57

def self.xml_engine
  ActiveSupport::XmlMini.backend
end

.xml_engine=(name) ⇒ Object



51
52
53
54
55
# File 'lib/rabl-rails.rb', line 51

def self.xml_engine=(name)
  ActiveSupport::XmlMini.backend = name
rescue LoadError, NameError
  Rails.logger.warn %Q(WARNING: rabl-rails could not load "#{name}" as XML engine, fallback to default)
end