Class: SimplyCouch::Model::View::ModelViewSpec::JavascriptGenerator
- Inherits:
-
Object
- Object
- SimplyCouch::Model::View::ModelViewSpec::JavascriptGenerator
- Defined in:
- lib/simply_couch/model/view/model_view_spec.rb
Instance Method Summary collapse
- #formatted_key(_key = nil) ⇒ Object
-
#initialize(options, klass) ⇒ JavascriptGenerator
constructor
A new instance of JavascriptGenerator.
- #map_body(&block) ⇒ Object
- #map_function ⇒ Object
Constructor Details
#initialize(options, klass) ⇒ JavascriptGenerator
Returns a new instance of JavascriptGenerator.
19 20 21 22 |
# File 'lib/simply_couch/model/view/model_view_spec.rb', line 19 def initialize(, klass) @options = @klass = klass end |
Instance Method Details
#formatted_key(_key = nil) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/simply_couch/model/view/model_view_spec.rb', line 40 def formatted_key(_key = nil) _key ||= @options[:key] if _key.is_a? Array '[' + _key.map{|key_part| formatted_key(key_part)}.join(', ') + ']' else "doc['#{_key}']" end end |
#map_body(&block) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/simply_couch/model/view/model_view_spec.rb', line 24 def map_body(&block) <<-JS function(doc) { if(doc.#{RUBY_CLASS_KEY} && doc.#{RUBY_CLASS_KEY} == '#{@klass.name}'#{conditions}) { #{yield} } } JS end |
#map_function ⇒ Object
34 35 36 37 38 |
# File 'lib/simply_couch/model/view/model_view_spec.rb', line 34 def map_function map_body do "emit(#{formatted_key}, #{emit_value});" end end |