Module: Knuckles
- Extended by:
- Knuckles
- Included in:
- Knuckles
- Defined in:
- lib/knuckles.rb,
lib/knuckles/view.rb,
lib/knuckles/keygen.rb,
lib/knuckles/stages.rb,
lib/knuckles/version.rb,
lib/knuckles/pipeline.rb,
lib/knuckles/stages/dumper.rb,
lib/knuckles/stages/writer.rb,
lib/knuckles/stages/fetcher.rb,
lib/knuckles/stages/combiner.rb,
lib/knuckles/stages/enhancer.rb,
lib/knuckles/stages/hydrator.rb,
lib/knuckles/stages/renderer.rb
Overview
Knuckles is a performance focused data serialization pipeline. More simply, it tries to serialize models into large JSON payloads as quickly as possible. It operates on a collection of data through stages, passing them through a pipeline of transformations.
The default configuration uses MemoryStore, but you can configure it along
with other customizations.
With the module configured you can begin transforming models into JSON (or MessagePack, whatever your API uses):
Defined Under Namespace
Modules: Keygen, Stages, View Classes: Pipeline
Constant Summary collapse
- VERSION =
"0.3.0".freeze
Instance Attribute Summary collapse
-
#cache ⇒ #cache
Module accessor for
cache, defaults toCache::MemoryStore. -
#keygen ⇒ Module
Module accessor
keygen, defaults toKnuckles::Keygen. -
#notifications ⇒ Module
Module accessor for
notifications, defaults toActiveSupport::Notifications. -
#serializer ⇒ Module
Module accessor for
serializer, defaults toJSON.
Instance Method Summary collapse
-
#configure {|_self| ... } ⇒ Object
Convenience for setting properties as within a block.
-
#new(*args) ⇒ Object
Convenience method for initializing a new
Pipeline. - #reset! ⇒ Object
Instance Attribute Details
#cache ⇒ #cache
Module accessor for cache, defaults to Cache::MemoryStore
53 54 55 |
# File 'lib/knuckles.rb', line 53 def cache @cache ||= ActiveSupport::Cache::MemoryStore.new end |
#keygen ⇒ Module
Module accessor keygen, defaults to Knuckles::Keygen
61 62 63 |
# File 'lib/knuckles.rb', line 61 def keygen @keygen ||= Knuckles::Keygen end |
#notifications ⇒ Module
Module accessor for notifications, defaults to
ActiveSupport::Notifications
70 71 72 |
# File 'lib/knuckles.rb', line 70 def notifications @notifications ||= ActiveSupport::Notifications end |
#serializer ⇒ Module
Module accessor for serializer, defaults to JSON
78 79 80 |
# File 'lib/knuckles.rb', line 78 def serializer @serializer ||= JSON end |
Instance Method Details
#configure {|_self| ... } ⇒ Object
Convenience for setting properties as within a block
90 91 92 |
# File 'lib/knuckles.rb', line 90 def configure yield self end |
#new(*args) ⇒ Object
Convenience method for initializing a new Pipeline
45 46 47 |
# File 'lib/knuckles.rb', line 45 def new(*args) Knuckles::Pipeline.new(*args) end |
#reset! ⇒ Object
95 96 97 98 99 100 |
# File 'lib/knuckles.rb', line 95 def reset! @cache = nil @keygen = nil @notifications = nil @serializer = nil end |