Sha256: f98143f6c9da91d4bb1f6ecdf73722b655664fd5e201433a9a0cd54bc5ddeded

Contents?: true

Size: 944 Bytes

Versions: 5

Compression:

Stored size: 944 Bytes

Contents

require File.dirname(__FILE__) + '/base_view_spec'
require File.dirname(__FILE__) + '/model_view_spec'
require File.dirname(__FILE__) + '/properties_view_spec'
require File.dirname(__FILE__) + '/custom_view_spec'
require File.dirname(__FILE__) + '/raw_view_spec'


module CouchPotato
  module View
    module CustomViews
      
      def self.included(base)
        base.extend ClassMethods
      end
      
      module ClassMethods
        
        # declare a couchdb view, for examples on how to use see the *ViewSpec classes in CouchPotato::View
        def view(view_name, options)
          self.class.instance_eval do
            define_method view_name do |view_parameters = {}|
              klass = options[:type] ? options[:type].to_s.camelize : 'Model'
              CouchPotato::View.const_get("#{klass}ViewSpec").new self, view_name, options, view_parameters
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
langalex-couch_potato-0.2.0 lib/couch_potato/view/custom_views.rb
langalex-couch_potato-0.2.1 lib/couch_potato/view/custom_views.rb
langalex-couch_potato-0.2.2 lib/couch_potato/view/custom_views.rb
speedmax-couch_potato-0.2.0 lib/couch_potato/view/custom_views.rb
speedmax-couch_potato-0.2.2 lib/couch_potato/view/custom_views.rb