diff --git a/README.md b/README.md index 6c6fcdb..1e2b69b 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,10 @@ The example config above for example would use a database called "project_test". ## Generators +### Configuration + + $ rails generate couchrest_model:config + ### Model $ rails generate model person --orm=couchrest_model diff --git a/history.md b/history.md index 62b8542..9261320 100644 --- a/history.md +++ b/history.md @@ -8,6 +8,7 @@ * Minor Fixes * Validation callbacks now support context (thanks kostia) * Document comparisons now performed using database and document ID (pointer by neocsr) + * Automatic config generation now supported (thanks lucasrenan) ## 1.1.0.rc1 - 2011-06-08 diff --git a/lib/rails/generators/couchrest_model/config/config_generator.rb b/lib/rails/generators/couchrest_model/config/config_generator.rb new file mode 100644 index 0000000..b78b4d5 --- /dev/null +++ b/lib/rails/generators/couchrest_model/config/config_generator.rb @@ -0,0 +1,18 @@ +require 'rails/generators/couchrest_model' + +module CouchrestModel + module Generators + class ConfigGenerator < Rails::Generators::Base + source_root File.expand_path('../templates', __FILE__) + + def app_name + Rails::Application.subclasses.first.parent.to_s.underscore + end + + def copy_configuration_file + template 'couchdb.yml', File.join('config', "couchdb.yml") + end + + end + end +end \ No newline at end of file diff --git a/lib/rails/generators/couchrest_model/config/templates/couchdb.yml b/lib/rails/generators/couchrest_model/config/templates/couchdb.yml new file mode 100644 index 0000000..2216a90 --- /dev/null +++ b/lib/rails/generators/couchrest_model/config/templates/couchdb.yml @@ -0,0 +1,21 @@ +development: &development + protocol: 'http' + host: localhost + port: 5984 + prefix: <%= app_name %> + suffix: development + username: + password: + +test: + <<: *development + suffix: test + +production: + protocol: 'https' + host: localhost + port: 5984 + prefix: <%= app_name %> + suffix: production + username: root + password: 123 \ No newline at end of file diff --git a/spec/unit/base_spec.rb b/spec/unit/base_spec.rb index fb17f0a..59ed673 100644 --- a/spec/unit/base_spec.rb +++ b/spec/unit/base_spec.rb @@ -110,14 +110,22 @@ describe "Model Base" do describe "#persisted?" do context "when the document is new" do it "returns false" do - @obj.persisted?.should == false + @obj.persisted?.should be_false end end context "when the document is not new" do it "returns id" do @obj.save - @obj.persisted?.should == true + @obj.persisted?.should be_true + end + end + + context "when the document is destroyed" do + it "returns false" do + @obj.save + @obj.destroy + @obj.persisted?.should be_false end end end