Module: CouchPotato

Defined in:
lib/couch_potato.rb,
lib/couch_potato/railtie.rb,
lib/couch_potato/version.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/persistence/callbacks.rb,
lib/couch_potato/view/custom_view_spec.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/validation/with_validatable.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/validation/with_active_model.rb,
lib/couch_potato/rspec/matchers/map_to_matcher.rb,
lib/couch_potato/rspec/matchers/list_as_matcher.rb,
lib/couch_potato/rspec/matchers/reduce_to_matcher.rb,
lib/couch_potato/persistence/active_model_compliance.rb

Defined Under Namespace

Modules: Attachments, GhostAttributes, MagicTimestamps, Persistence, RSpec, Validation, View Classes: Database, NotFound, Railtie

Constant Summary collapse

Config =
Struct.new(:database_name, :validation_framework, :split_design_documents_per_view).new
VERSION =
"0.5.10"

Class Method Summary collapse

Class Method Details

.couchrest_databaseObject

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.



23
24
25
# File 'lib/couch_potato.rb', line 23

def self.couchrest_database
  @@__couchrest_database ||= CouchRest.database(full_url_to_database)
end

.databaseObject

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.



18
19
20
# File 'lib/couch_potato.rb', line 18

def self.database
  @@__database ||= Database.new(self.couchrest_database)
end

.rails_initObject



5
6
7
8
9
10
11
12
13
14
# File 'lib/couch_potato/railtie.rb', line 5

def self.rails_init
  config = YAML::load(ERB.new(File.read(Rails.root.join('config/couchdb.yml'))).result)[Rails.env]
  if config.is_a?(String)
    CouchPotato::Config.database_name = config
  else
    CouchPotato::Config.database_name = config['database']
    CouchPotato::Config.validation_framework = config['validation_framework'] if config['validation_framework']
    CouchPotato::Config.split_design_documents_per_view = config['split_design_documents_per_view'] if config['split_design_documents_per_view']
  end
end