Module: CouchPotato
- Defined in:
- lib/couch_potato.rb,
lib/couch_potato/version.rb,
lib/couch_potato/railtie.rb,
lib/couch_potato/database.rb,
lib/couch_potato/validation.rb,
lib/couch_potato/view/lists.rb,
lib/couch_potato/persistence.rb,
lib/couch_potato/rspec/matchers.rb,
lib/couch_potato/view/view_query.rb,
lib/couch_potato/persistence/json.rb,
lib/couch_potato/view/custom_views.rb,
lib/couch_potato/view/raw_view_spec.rb,
lib/couch_potato/view/base_view_spec.rb,
lib/couch_potato/view/model_view_spec.rb,
lib/couch_potato/view/custom_view_spec.rb,
lib/couch_potato/persistence/callbacks.rb,
lib/couch_potato/persistence/properties.rb,
lib/couch_potato/persistence/attachments.rb,
lib/couch_potato/persistence/type_caster.rb,
lib/couch_potato/view/properties_view_spec.rb,
lib/couch_potato/persistence/simple_property.rb,
lib/couch_potato/persistence/dirty_attributes.rb,
lib/couch_potato/persistence/ghost_attributes.rb,
lib/couch_potato/persistence/magic_timestamps.rb,
lib/couch_potato/rspec/matchers/map_to_matcher.rb,
lib/couch_potato/rspec/matchers/list_as_matcher.rb,
lib/couch_potato/forbidden_attributes_protection.rb,
lib/couch_potato/rspec/matchers/reduce_to_matcher.rb,
lib/couch_potato/persistence/active_model_compliance.rb,
lib/couch_potato/rspec/matchers/map_reduce_to_matcher.rb
Defined Under Namespace
Modules: Attachments, ForbiddenAttributesProtection, GhostAttributes, MagicTimestamps, Persistence, RSpec, Validation, View Classes: Database, NotFound, Railtie
Constant Summary
- Config =
Struct.new(:database_name, :split_design_documents_per_view, :default_language).new
- VERSION =
"0.7.1"
Class Method Summary (collapse)
-
+ (Object) couchrest_database
Returns the underlying CouchRest database object if you want low level access to your CouchDB.
-
+ (Object) couchrest_database_for_name(database_name)
Creates a CouchRest-Database for directly accessing that functionality.
-
+ (Object) database
Returns a database instance which you can then use to create objects and query views.
-
+ (Object) models
returns all the classes that implement the CouchPotato::Persistence module.
- + (Object) rails_init
-
+ (Object) with_database(database_name) {|@@__databases["#{database_name}"]| ... }
Executes a block of code and yields a datbase with the given name.
Class Method Details
+ (Object) couchrest_database
Returns the underlying CouchRest database object if you want low level access to your CouchDB. You have to set the CouchPotato::Config.database_name before this works.
28 29 30 |
# File 'lib/couch_potato.rb', line 28 def self.couchrest_database @@__couchrest_database ||= CouchRest.database(full_url_to_database) end |
+ (Object) couchrest_database_for_name(database_name)
Creates a CouchRest-Database for directly accessing that functionality.
46 47 48 |
# File 'lib/couch_potato.rb', line 46 def self.couchrest_database_for_name(database_name) CouchRest.database(full_url_to_database(database_name)) end |
+ (Object) database
Returns a database instance which you can then use to create objects and query views. You have to set the CouchPotato::Config.database_name before this works.
23 24 25 |
# File 'lib/couch_potato.rb', line 23 def self.database @@__database ||= Database.new(self.couchrest_database) end |
+ (Object) models
returns all the classes that implement the CouchPotato::Persistence module
17 18 19 20 |
# File 'lib/couch_potato.rb', line 17 def self.models @models ||= [] @models end |
+ (Object) rails_init
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/couch_potato/railtie.rb', line 5 def self.rails_init path = Rails.root.join('config/couchdb.yml') if File.exist?(path) config = YAML::load(ERB.new(File.read(path)).result)[Rails.env] if config.is_a?(String) CouchPotato::Config.database_name = config else CouchPotato::Config.database_name = config['database'] CouchPotato::Config.split_design_documents_per_view = config['split_design_documents_per_view'] if config['split_design_documents_per_view'] CouchPotato::Config.default_language = config['default_language'] if config['default_language'] end else Rails.logger.warn "Rails.root/config/couchdb.yml does not exist. Not configuring a database." end end |
+ (Object) with_database(database_name) {|@@__databases["#{database_name}"]| ... }
Executes a block of code and yields a datbase with the given name.
example:
CouchPotato.with_database('couch_customer') do |couch|
couch.save @customer
end
39 40 41 42 43 |
# File 'lib/couch_potato.rb', line 39 def self.with_database(database_name) @@__databases ||= {} @@__databases["#{database_name}"] = Database.new(couchrest_database_for_name(database_name)) unless @@__databases["#{database_name}"] yield(@@__databases["#{database_name}"]) end |