Module: Rabl
- Defined in:
- lib/rabl.rb,
lib/rabl/engine.rb,
lib/rabl/builder.rb,
lib/rabl/helpers.rb,
lib/rabl/railtie.rb,
lib/rabl/tracker.rb,
lib/rabl/version.rb,
lib/rabl/digestor.rb,
lib/rabl/partials.rb,
lib/rabl/renderer.rb,
lib/rabl/cache_engine.rb,
lib/rabl/configuration.rb
Overview
Defines the default cache engine for RABL when caching is invoked for a template. You can define your own caching engines by creating an object that responds to fetch and setting the configuration option:
config.cache_engine = AdvancedCacheEngine.new
Defined Under Namespace
Modules: Helpers, Partials Classes: Builder, CacheEngine, Configuration, Digestor, Engine, Railtie, Renderer, Tracker
Constant Summary collapse
- VERSION =
"0.9.2"
Class Method Summary collapse
-
.configuration ⇒ Object
Returns the configuration options set for RABL Rabl.configuration.include_json_root => false.
-
.configure {|configuration| ... } ⇒ Object
Yields a RABL configuration block Rabl.configure do |config| config.include_json_root = false config.enable_json_callbacks = true end.
-
.register! ⇒ Object
Initialize RABL within an application Rabl.register!.
-
.render(object, source, options = {}) ⇒ Object
Renders an object using a specified template within an application.
-
.reset_configuration! ⇒ Object
Resets the RABL configuration back to the defaults.
-
.reset_source_cache! ⇒ Object
Resets the RABL source cache.
-
.source_cache(file, view_path, &block) ⇒ Object
Fetches from the source_cache, stores block result in cache if nil Used to cache the contents and paths to various rabl templates source_cache(“users/index”, “path/to/view”) { “/full/path/to/template/users/index” }.
Class Method Details
.configuration ⇒ Object
Returns the configuration options set for RABL Rabl.configuration.include_json_root => false
45 46 47 |
# File 'lib/rabl.rb', line 45 def configuration @_configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
Yields a RABL configuration block Rabl.configure do |config|
config.include_json_root = false
config.enable_json_callbacks = true
end
38 39 40 41 |
# File 'lib/rabl.rb', line 38 def configure(&block) yield(configuration) configuration end |
.register! ⇒ Object
Initialize RABL within an application Rabl.register!
29 30 31 |
# File 'lib/rabl.rb', line 29 def register! require 'rabl/template' end |
.render(object, source, options = {}) ⇒ Object
Renders an object using a specified template within an application. render(@post, ‘posts/show’, :view_path => “/path/to/app/views”)
76 77 78 |
# File 'lib/rabl.rb', line 76 def render(object, source, = {}) Rabl::Renderer.new(source, object, ).render end |
.reset_configuration! ⇒ Object
Resets the RABL configuration back to the defaults.
50 51 52 |
# File 'lib/rabl.rb', line 50 def reset_configuration! @_configuration = nil end |
.reset_source_cache! ⇒ Object
Resets the RABL source cache
70 71 72 |
# File 'lib/rabl.rb', line 70 def reset_source_cache! @_source_cache = {} end |
.source_cache(file, view_path, &block) ⇒ Object
Fetches from the source_cache, stores block result in cache if nil Used to cache the contents and paths to various rabl templates source_cache(“users/index”, “path/to/view”) { “/full/path/to/template/users/index” }
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/rabl.rb', line 57 def source_cache(file, view_path, &block) return yield unless Rabl.configuration.cache_sources @_source_cache ||= {} cache_key = [file, view_path].compact.join(":") if cached_result = @_source_cache[cache_key] cached_result else # store result of block @_source_cache[cache_key] = yield end end |