couchrest_model_config 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ *.sw?
2
+ *.gem
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm gemset use couchrest_model_database_config
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,83 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ couchrest_model_database_config (0.0.0)
5
+ couchrest_model (~> 1.0.0)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ abstract (1.0.0)
11
+ actionpack (3.0.7)
12
+ activemodel (= 3.0.7)
13
+ activesupport (= 3.0.7)
14
+ builder (~> 2.1.2)
15
+ erubis (~> 2.6.6)
16
+ i18n (~> 0.5.0)
17
+ rack (~> 1.2.1)
18
+ rack-mount (~> 0.6.14)
19
+ rack-test (~> 0.5.7)
20
+ tzinfo (~> 0.3.23)
21
+ activemodel (3.0.7)
22
+ activesupport (= 3.0.7)
23
+ builder (~> 2.1.2)
24
+ i18n (~> 0.5.0)
25
+ activesupport (3.0.7)
26
+ builder (2.1.2)
27
+ couchrest (1.0.2)
28
+ json (~> 1.5.1)
29
+ mime-types (~> 1.15)
30
+ rest-client (~> 1.6.1)
31
+ couchrest_model (1.0.0)
32
+ activemodel (~> 3.0.0)
33
+ couchrest (~> 1.0.1)
34
+ mime-types (~> 1.15)
35
+ railties (~> 3.0.0)
36
+ rspec (>= 2.0.0)
37
+ tzinfo (~> 0.3.22)
38
+ cucumber (0.10.2)
39
+ builder (>= 2.1.2)
40
+ diff-lcs (>= 1.1.2)
41
+ gherkin (>= 2.3.5)
42
+ json (>= 1.4.6)
43
+ term-ansicolor (>= 1.0.5)
44
+ diff-lcs (1.1.2)
45
+ erubis (2.6.6)
46
+ abstract (>= 1.0.0)
47
+ gherkin (2.3.6)
48
+ json (>= 1.4.6)
49
+ i18n (0.5.0)
50
+ json (1.5.1)
51
+ mime-types (1.16)
52
+ rack (1.2.2)
53
+ rack-mount (0.6.14)
54
+ rack (>= 1.0.0)
55
+ rack-test (0.5.7)
56
+ rack (>= 1.0)
57
+ railties (3.0.7)
58
+ actionpack (= 3.0.7)
59
+ activesupport (= 3.0.7)
60
+ rake (>= 0.8.7)
61
+ thor (~> 0.14.4)
62
+ rake (0.8.7)
63
+ rest-client (1.6.1)
64
+ mime-types (>= 1.16)
65
+ rspec (2.4.0)
66
+ rspec-core (~> 2.4.0)
67
+ rspec-expectations (~> 2.4.0)
68
+ rspec-mocks (~> 2.4.0)
69
+ rspec-core (2.4.0)
70
+ rspec-expectations (2.4.0)
71
+ diff-lcs (~> 1.1.2)
72
+ rspec-mocks (2.4.0)
73
+ term-ansicolor (1.0.5)
74
+ thor (0.14.6)
75
+ tzinfo (0.3.27)
76
+
77
+ PLATFORMS
78
+ ruby
79
+
80
+ DEPENDENCIES
81
+ couchrest_model_database_config!
82
+ cucumber (~> 0.10.0)
83
+ rspec (~> 2.4.0)
data/PUBLIC_DOMAIN ADDED
@@ -0,0 +1,103 @@
1
+ This software is PUBLIC DOMAIN
2
+
3
+
4
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
7
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
8
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
9
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;iiii;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
10
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;ijffffffffffffffffji;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
11
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;iffffffffffffffffffffffffffi;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, iffffffffffffffffffffffffffffffi ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ijffffffffffffffffffffffffffffffffffji,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
14
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,iffffffffffffffffffffffffffffffffffffffffi,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,jffffffffffffffffffffffffffffffffffffffffffffj,,,,,,,,,,,,,,,,,,,,,,,,,,,
16
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,tfffffffffffffffffffffffffffffffffffffffffffffft,,,,,,,,,,,,,,,,,,,,,,,,,,
17
+ ,,,,,,,,,,,,,,,,,,,,,,,,;ffffffffffffffffffffffffffffffffffffffffffffffffff;,,,,,,,,,,,,,,,,,,,,,,,,
18
+ ,,,,,,,,,,,,,,,,,,,,,,,ffffffffffffffffffffffjt;;,,;;tjffffffffffffffffffffff,,,,,,,,,,,,,,,,,,,,,,,
19
+ ,,,,,,,,,,,,,,,,,,,,,;fffffffffffffffffft: :tffffffffffffffffff;,,,,,,,,,,,,,,,,,,,,,
20
+ ,,,,,,,,,,,,,,,,,,,,,jfffffffffffffffft. .tffffffffffffffffj,,,,,,,,,,,,,,,,,,,,,
21
+ ,,,,,,,,,,,,,,,,,,,ifffffffffffffffi: :ifffffffffffffffi,,,,,,,,,,,,,,,,,,,
22
+ ,,,,,,,,,,,,,,,,,,tffffffffffffffi ifffffffffffffft,,,,,,,,,,,,,,,,,,
23
+ ,,,,,,,,,,,,,,,,,ifffffffffffff, ,fffffffffffffi,,,,,,,,,,,,,,,,,
24
+ ,,,,,,,,,,,,,,,,,fffffffffffffi ifffffffffffff,,,,,,,,,,,,,,,,,
25
+ ,,,,,,,,,,,,,,,;jffffffffffff ffffffffffffj;,,,,,,,,,,,,,,,
26
+ ,,,,,,,,,,,,,,,ffffffffffff: jffffffffffffff,,,,,,,,,,,,,,,
27
+ ,,,,,,,,,,,,,,ffffffffffff. jffffffffffffffff,,,,,,,,,,,,,,
28
+ ,,,,,,,,,,,,,;ffffffffffft :fffffffffffffffff;,,,,,,,,,,,,,
29
+ ,,,,,,,,,,,,,ffffffffffft ,tfffffft; jfffffffffffffffffff,,,,,,,,,,,,,
30
+ ,,,,,,,,,,,,tffffffffff. ;ffffffffffffffff; jfffffffffffffffffffft,,,,,,,,,,,,
31
+ ,,,,,,,,,,,jffffffffff: ,ffffffffffffffffffffff, jffffffffffffffffffffffj,,,,,,,,,,,
32
+ ,,,,,,,,,,,fffffffffff :ffffffffffffffffffffffff: :ffffffffffffffffffffffff,,,,,,,,,,,
33
+ ,,,,,,,,,,iffffffffff ,jfffffffffffffffffffffffff jfffffffffffffffffffffffffi,,,,,,,,,,
34
+ ,,,,,,,,,,ffffffffffi tffffffffffffffffffffffffff jfffffffffffffff iffffffffff,,,,,,,,,,
35
+ ,,,,,,,,,ifffffffff, jfffffffffffffffffffffffff, jfffffffffffffff ,fffffffffi,,,,,,,,,
36
+ ,,,,,,,,,jfffffffff :ffffffffffffffffffffffffff :fffffffffffffff; fffffffffj,,,,,,,,,
37
+ ,,,,,,,, fffffffffi jffffffffffffffffffffffffff jfffffffffffffff ifffffffff ,,,,,,,,
38
+ ,,,,,,,,ifffffffff tffffffffffffffffffffffffff jfffffffffffffff fffffffffi,,,,,,,,
39
+ ,,,,,,,;fffffffffi :fffffffffffffffffffffffff, jfffffffffffffff ifffffffff;,,,,,,,
40
+ ,,,,,,,ifffffffff: jfffffffffffffffffffffffff :fffffffffffffff; :fffffffffi,,,,,,,
41
+ ,,,,,,,ffffffffff :fffffffffffffffffffffffff jfffffffffffffff ffffffffff,,,,,,,
42
+ ,,,,,,,ffffffffft ,fffffffffffffffff; jfffffffffffffff t, tfffffffff,,,,,,,
43
+ ,,,,,,;fffffffff ffffffffffffffff jfffffffffffffff tff fffffffff;,,,,,,
44
+ ,,,,,,ifffffffft fffffffffffffff, :fffffffffffffff;.fff tffffffffi,,,,,,
45
+ ,,,,,,jffffffff: ;ffffffffffffff. jfffffffffffffff .ffff; :ffffffffj,,,,,,
46
+ ,,,,,,fffffffff ffffffffffffff, jfffffffffffffff tffffff fffffffff,,,,,,
47
+ ,,,,,,fffffffff fffffffffffff jfffffffffffffff tfffffff fffffffff,,,,,,
48
+ ,,,,,,fffffffff fffffffffffff :fffffffffffffff; ........ fffffffff,,,,,,
49
+ ,,,,,;ffffffffj ,ffffffffffff; jfffffffffffffff jffffffff;,,,,,
50
+ ,,,,,;ffffffffi tffffffffffff jfffffffffffffff iffffffff;,,,,,
51
+ ,,,,,;ffffffff; fffffffffffff jfffffffffffffff ;ffffffff;,,,,,
52
+ ,,,,,;ffffffff; fffffffffffff :fffffffffffffff; ;ffffffff;,,,,,
53
+ ,,,,,iffffffff, fffffffffffff jfffffffffffffff ,ffffffffi,,,,,
54
+ ,,,,,iffffffff, fffffffffffff jfffffffffffffff ,ffffffffi,,,,,
55
+ ,,,,,;ffffffff; fffffffffffff jfffffffffffffff ;ffffffff;,,,,,
56
+ ,,,,,;ffffffff; fffffffffffff :fffffffffffffff; ;ffffffff;,,,,,
57
+ ,,,,,;ffffffffi tffffffffffff jfffffffffffffff iffffffff;,,,,,
58
+ ,,,,,;ffffffffj ,fffffffffff jfffffffffffffff jffffffff;,,,,,
59
+ ,,,,,,fffffffff fffffffff, jfffffffffffffff jjjjjjjjjjjjj fffffffff,,,,,,
60
+ ,,,,,,fffffffff fffffffff :fffffffffffffff; .fffffffffffff fffffffff,,,,,,
61
+ ,,,,,,fffffffff ffffffff jfffffffffffffff ,ffffffffffffff fffffffff,,,,,,
62
+ ,,,,,,jffffffff: ;ffffff jfffffffffffffff .ffffffffffffff; :ffffffffj,,,,,,
63
+ ,,,,,,ifffffffft ffff, jfffffffffffffff ,fffffffffffffff tffffffffi,,,,,,
64
+ ,,,,,,;fffffffff ffff :fffffffffffffff; ffffffffffffffff fffffffff;,,,,,,
65
+ ,,,,,,,ffffffffft ,ff jfffffffffffffff ifffffffffffffffff, tfffffffff,,,,,,,
66
+ ,,,,,,,ffffffffff : jfffffffffffffff tfffffffffffffffffffffff: ffffffffff,,,,,,,
67
+ ,,,,,,,ifffffffff: jfffffffffffffff tfffffffffffffffffffffffj :fffffffffi,,,,,,,
68
+ ,,,,,,,;fffffffffi :fffffffffffffff;.ffffffffffffffffffffffff: ifffffffff;,,,,,,,
69
+ ,,,,,,,,ifffffffff jfffffffffffffff .fffffffffffffffffffffffft fffffffffi,,,,,,,,
70
+ ,,,,,,,, fffffffffi jfffffffffffffff tffffffffffffffffffffffffj ifffffffff ,,,,,,,,
71
+ ,,,,,,,,,jfffffffff jfffffffffffffff tffffffffffffffffffffffff: fffffffffj,,,,,,,,,
72
+ ,,,,,,,,,ifffffffff, :fffffffffffffff;.ffffffffffffffffffffffffj ,fffffffffi,,,,,,,,,
73
+ ,,,,,,,,,,ffffffffffi jfffffffffffffff .fffffffffffffffffffffffft iffffffffff,,,,,,,,,,
74
+ ,,,,,,,,,,iffffffffff jfffffffffffffff tfffffffffffffffffffffffj, ffffffffffi,,,,,,,,,,
75
+ ,,,,,,,,,,,ffffffffffffffffffffffffff tfffffffffffffffffffffff: fffffffffff,,,,,,,,,,,
76
+ ,,,,,,,,,,,jffffffffffffffffffffffff; ,ffffffffffffffffffffff, :ffffffffffj,,,,,,,,,,,
77
+ ,,,,,,,,,,,,tffffffffffffffffffffff ;ffffffffffffffff; .fffffffffft,,,,,,,,,,,,
78
+ ,,,,,,,,,,,,,fffffffffffffffffffff ,tfffffft; tfffffffffff,,,,,,,,,,,,,
79
+ ,,,,,,,,,,,,,;fffffffffffffffffff tfffffffffff;,,,,,,,,,,,,,
80
+ ,,,,,,,,,,,,,,ffffffffffffffffff; .ffffffffffff,,,,,,,,,,,,,,
81
+ ,,,,,,,,,,,,,,,ffffffffffffffff :ffffffffffff,,,,,,,,,,,,,,,
82
+ ,,,,,,,,,,,,,,,;jfffffffffffff ffffffffffffj;,,,,,,,,,,,,,,,
83
+ ,,,,,,,,,,,,,,,,,fffffffffffffi ifffffffffffff,,,,,,,,,,,,,,,,,
84
+ ,,,,,,,,,,,,,,,,,ifffffffffffff, ,fffffffffffffi,,,,,,,,,,,,,,,,,
85
+ ,,,,,,,,,,,,,,,,,,tffffffffffffffi ifffffffffffffft,,,,,,,,,,,,,,,,,,
86
+ ,,,,,,,,,,,,,,,,,,,ifffffffffffffffi: :ifffffffffffffffi,,,,,,,,,,,,,,,,,,,
87
+ ,,,,,,,,,,,,,,,,,,,,,jfffffffffffffffft. .tffffffffffffffffj,,,,,,,,,,,,,,,,,,,,,
88
+ ,,,,,,,,,,,,,,,,,,,,,;fffffffffffffffffft: :tffffffffffffffffff;,,,,,,,,,,,,,,,,,,,,,
89
+ ,,,,,,,,,,,,,,,,,,,,,,,ffffffffffffffffffffffjt;;,,;;tjffffffffffffffffffffff,,,,,,,,,,,,,,,,,,,,,,,
90
+ ,,,,,,,,,,,,,,,,,,,,,,,,;ffffffffffffffffffffffffffffffffffffffffffffffffff;,,,,,,,,,,,,,,,,,,,,,,,,
91
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,tfffffffffffffffffffffffffffffffffffffffffffffft,,,,,,,,,,,,,,,,,,,,,,,,,,
92
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,jffffffffffffffffffffffffffffffffffffffffffffj,,,,,,,,,,,,,,,,,,,,,,,,,,,
93
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,iffffffffffffffffffffffffffffffffffffffffi,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
94
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ijffffffffffffffffffffffffffffffffffji,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
95
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, iffffffffffffffffffffffffffffffi ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
96
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;iffffffffffffffffffffffffffi;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
97
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;ijffffffffffffffffji;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
98
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;iiii;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
99
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
100
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
101
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
102
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
103
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,24 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{couchrest_model_config}
3
+ s.version = File.read "VERSION"
4
+
5
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
+ s.authors = ["Matt Parker"]
7
+ s.date = %q{2011-04-26}
8
+ s.description = %q{Simple, environment-based server and database configuration for couchrest_model.}
9
+ s.email = %q{moonmaster9000@gmail.com}
10
+ s.extra_rdoc_files = [
11
+ "readme.markdown"
12
+ ]
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+
17
+ s.homepage = %q{http://github.com/moonmaster9000/couchrest_model_config}
18
+ s.require_paths = ["lib"]
19
+ s.rubygems_version = %q{1.5.0}
20
+ s.summary = %q{Simple, environment-based server and database configuration for couchrest_model}
21
+ s.add_dependency(%q<couchrest_model>, ["~> 1.0.0"])
22
+ s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
23
+ s.add_development_dependency(%q<rspec>, ["~> 2.4.0"])
24
+ end
@@ -0,0 +1,80 @@
1
+ @db
2
+ Feature: Configure CouchRest::Model database connections
3
+
4
+ Scenario Outline: Configuring the database for a model
5
+ Given I have a Book model
6
+ And I have configured databases for 'default', 'production', 'development', and 'test' environments
7
+ And my app is in the "<environment>" environment
8
+ When I call CouchRest::Model::Config.Book.current_database
9
+ Then I should get back the database I cofigured for the "<target>" environment
10
+
11
+ Examples:
12
+ |environment|target|
13
+ |test|test|
14
+ |development|development|
15
+ |production|production|
16
+ |poo|default|
17
+
18
+ Scenario Outline: Configuring the database for a set of models
19
+ Given I have several models
20
+ And I set their database via the `database` method
21
+ And my app is in the "<environment>" environment
22
+ When I lookup their current_database
23
+ Then their database should be the one I configured for the "<target>" environment
24
+
25
+ Examples:
26
+ |environment|target|
27
+ |test|test|
28
+ |development|development|
29
+ |production|production|
30
+ |poo|default|
31
+
32
+ Scenario Outline: Configuring the database for a set of models
33
+ Given I have several models that inherit from a single parent
34
+ And I configure the parent database via the `database` method
35
+ And I do not configure the database for the child models
36
+ And my app is in the "<environment>" environment
37
+ When I lookup the current_database for the child models
38
+ Then their database should be the one I configured for the "<target>" environment on the parent
39
+
40
+ Examples:
41
+ |environment|target|
42
+ |test|test|
43
+ |development|development|
44
+ |production|production|
45
+ |poo|default|
46
+
47
+ Scenario Outline: Setting the default database
48
+ Given I have several models
49
+ And I configure default databases for all models for the 'test', 'development', 'production', and 'default' environments
50
+ And I do not configure the database for any specific models
51
+ And my app is in the "<environment>" environment
52
+ When I lookup their current_database
53
+ Then their database should be the one I configured for the "<target>" environment in the default database configuration section
54
+
55
+ Examples:
56
+ |environment|target|
57
+ |test|test|
58
+ |development|development|
59
+ |production|production|
60
+ |poo|default|
61
+
62
+ Scenario: Setting the server while configuring the database
63
+ When I configure the database for a model
64
+ Then I should be able to provide the full URI to the database
65
+ And the database should use the domain provided for the server instead of the default server
66
+
67
+ @focus
68
+ Scenario: Database configured directly on the model takes highest precedence
69
+ Given I have configured the database for a model directly on the model via `use_database`
70
+ And I have configured the database for that model via CouchRest::Model::Config
71
+ When I call the `database` method on the model
72
+ Then I should receive the database configured directly on the model via `use_database`
73
+
74
+ @focus
75
+ Scenario: Looking up the model's database via the model itself
76
+ Given I have configured the database for a model via CouchRest::Model::Config
77
+ When I call the `database` method on the model
78
+ Then I should receive the database I configured via CouchRest::Model::Config
79
+ When I call the `database` method on an instance of the model
80
+ Then I should receive the database I configured via CouchRest::Model::Config
@@ -0,0 +1,12 @@
1
+ @environment
2
+ Feature: Configuring and Retrieving the environment
3
+
4
+ Scenario: Environment should default to Rails.env
5
+ Given Rails.env returns "hi"
6
+ When I call CouchRest::Model::Config.environment
7
+ Then I should receive the value of "Rails.env"
8
+
9
+ Scenario: Changing the environment detection
10
+ Given I have configured couchrest_model to detect environment via ENV['RACK_ENV']
11
+ When I call CouchRest::Model::Config.environment
12
+ Then I should receive the value of "ENV['RACK_ENV']"
@@ -0,0 +1,9 @@
1
+ Feature: Support Namespaced models
2
+ As an API designer
3
+ I want to support namespaced models
4
+ So that I don't look like a fool!
5
+
6
+ Scenario: Configuring namespace models
7
+ Given I have a namespaced model
8
+ Then I should be able to configure it just like all other models
9
+ And I should be able to retrieve configuration information about it via the `for` method on CouchRest::Model::Config
@@ -0,0 +1,23 @@
1
+ @server
2
+ Feature: Configure CouchRest::Model database connections
3
+
4
+ Scenario: Default CouchRest server
5
+ When I call CouchRest::Model::Config.server.default
6
+ Then I should get back a CouchRest server defaulted to host "http://127.0.0.1:5984"
7
+
8
+ Scenario: Configuring the CouchRest server
9
+ When I call CouchRest::Model::Config.edit
10
+ Then I should be able to pass a block to it that configures the default CouchRest server
11
+
12
+ Scenario Outline: Getting the appropriate server
13
+ Given I have configured servers for 'default', 'production', 'development', and 'test' environments
14
+ And my app is in the "<environment>" environment
15
+ When I call CouchRest::Model::Config.current_server
16
+ Then I should get back the server I configured for the "<target>" environment
17
+
18
+ Examples:
19
+ |environment|target|
20
+ |test|test|
21
+ |development|development|
22
+ |production|production|
23
+ |poo|default|
@@ -0,0 +1,6 @@
1
+ Feature: Resetting the configuration
2
+
3
+ Scenario: Resetting configuration
4
+ Given I have configured CouchRest::Model via CouchRest::Model::Config
5
+ When I call the reset method
6
+ Then CouchRest::Model::Config should be reset to defaults
@@ -0,0 +1,223 @@
1
+ When /^I call CouchRest::Model::Config\.server\.default$/ do
2
+ @default_server = CouchRest::Model::Config.server.default
3
+ end
4
+
5
+ Then /^I should be able to pass a block to it that configures the default CouchRest server$/ do
6
+ CouchRest::Model::Config.edit do
7
+ server do
8
+ default "http://localhost:5984"
9
+ end
10
+ end
11
+ end
12
+
13
+ Given /^I have configured servers for 'default', 'production', 'development', and 'test' environments$/ do
14
+ CouchRest::Model::Config.edit do
15
+ server do
16
+ default "http://default:5984"
17
+ production "http://production:5984"
18
+ development "http://development:5984"
19
+ test "http://test:5984"
20
+ end
21
+ end
22
+ end
23
+
24
+ Given /^my app is in the "([^"]*)" environment$/ do |env|
25
+ CouchRest::Model::Config.edit do
26
+ environment do
27
+ env
28
+ end
29
+ end
30
+ end
31
+
32
+ When /^I call CouchRest::Model::Config\.current_server$/ do
33
+ @current_server = CouchRest::Model::Config.current_server
34
+ end
35
+
36
+ Then /^I should get back the server I configured for the "([^"]*)" environment$/ do |env|
37
+ @current_server.uri.should == "http://#{env}:5984"
38
+ end
39
+
40
+ Then /^I should get back a CouchRest server defaulted to host "([^"]*)"$/ do |host_uri|
41
+ @default_server.uri.should == host_uri
42
+ end
43
+
44
+ When /^I call CouchRest::Model::Config\.edit$/ do
45
+ end
46
+
47
+ Given /^I have a Book model$/ do
48
+ class Book < CouchRest::Model::Base; end
49
+ end
50
+
51
+ Given /^I have configured databases for 'default', 'production', 'development', and 'test' environments$/ do
52
+ CouchRest::Model::Config.edit do
53
+ database Book do
54
+ default "book_default_db"
55
+ production "book_production_db"
56
+ development "book_development_db"
57
+ test "book_test_db"
58
+ end
59
+ end
60
+ end
61
+
62
+ When /^I call CouchRest::Model::Config\.Book\.current_database$/ do
63
+ @current_database = CouchRest::Model::Config.Book.current_database
64
+ end
65
+
66
+ Then /^I should get back the database I cofigured for the "([^"]*)" environment$/ do |env|
67
+ @current_database.name.should == "book_#{env}_db"
68
+ end
69
+
70
+ Given /^I have several models$/ do
71
+ class Models1 < CouchRest::Model::Base; end
72
+ class Models2 < CouchRest::Model::Base; end
73
+ class Models3 < CouchRest::Model::Base; end
74
+ class Models4 < CouchRest::Model::Base; end
75
+ end
76
+
77
+ Given /^I set their database via the `database` method$/ do
78
+ CouchRest::Model::Config.edit do
79
+ database Models1, Models2, Models3, Models4 do
80
+ default "default_db"
81
+ test "test_db"
82
+ development "development_db"
83
+ production "production_db"
84
+ end
85
+ end
86
+ end
87
+
88
+ When /^I lookup their current_database$/ do
89
+ @dbs = (1..4).to_a.map {|i| CouchRest::Model::Config.send("Models#{i}").current_database}
90
+ end
91
+
92
+ Then /^their database should be the one I configured for the "([^"]*)" environment$/ do |env|
93
+ @dbs.all? {|db| db.name == "#{env}_db"}.should be_true
94
+ end
95
+
96
+ Given /^I have several models that inherit from a single parent$/ do
97
+ class ParentModel < CouchRest::Model::Base; end
98
+ class ChildModel1 < ParentModel; end
99
+ class ChildModel2 < ParentModel; end
100
+ class ChildModel3 < ParentModel; end
101
+ class ChildModel4 < ParentModel; end
102
+ end
103
+
104
+ Given /^I configure the parent database via the `database` method$/ do
105
+ CouchRest::Model::Config.edit do
106
+ database ParentModel do
107
+ default "default_db"
108
+ production "production_db"
109
+ development "development_db"
110
+ test "test_db"
111
+ end
112
+ end
113
+ end
114
+
115
+ Given /^I do not configure the database for the child models$/ do
116
+ end
117
+
118
+ When /^I lookup the current_database for the child models$/ do
119
+ @dbs = (1..4).to_a.map {|i| CouchRest::Model::Config.send("ChildModel#{i}").current_database}
120
+ end
121
+
122
+ Then /^their database should be the one I configured for the "([^"]*)" environment on the parent$/ do |env|
123
+ @dbs.all? {|db| db.name == "#{env}_db"}.should be_true
124
+ end
125
+
126
+ Given /^I configure default databases for all models for the 'test', 'development', 'production', and 'default' environments$/ do
127
+ CouchRest::Model::Config.edit do
128
+ database do
129
+ default "default_db"
130
+ production "production_db"
131
+ development "development_db"
132
+ test "test_db"
133
+ end
134
+ end
135
+ end
136
+
137
+ Given /^I do not configure the database for any specific models$/ do
138
+ end
139
+
140
+ Then /^their database should be the one I configured for the "([^"]*)" environment in the default database configuration section$/ do |env|
141
+ @dbs.all? {|db| db.name == "#{env}_db"}.should be_true
142
+ end
143
+
144
+ Given /^I have a namespaced model$/ do
145
+ module ConfigTest
146
+ class Model < CouchRest::Model::Base; end
147
+ end
148
+ end
149
+
150
+ Then /^I should be able to configure it just like all other models$/ do
151
+ CouchRest::Model::Config.edit do
152
+ database ConfigTest::Model do
153
+ production "config_test_model_production"
154
+ default "config_test_model_default"
155
+ end
156
+ end
157
+ end
158
+
159
+ Then /^I should be able to retrieve configuration information about it via the `for` method on CouchRest::Model::Config$/ do
160
+ CouchRest::Model::Config.for(ConfigTest::Model).production.name.should == "config_test_model_production"
161
+ CouchRest::Model::Config.for(ConfigTest::Model).default.name.should == "config_test_model_default"
162
+ CouchRest::Model::Config.for(ConfigTest::Model).test.should be_nil
163
+ end
164
+
165
+ When /^I configure the database for a model$/ do
166
+ class ModelWithCustomServer < CouchRest::Model::Base; end
167
+ end
168
+
169
+ Then /^I should be able to provide the full URI to the database$/ do
170
+ CouchRest::Model::Config.edit do
171
+ database ModelWithCustomServer do
172
+ default "http://my.custom.server.com/model_db"
173
+ end
174
+ end
175
+ end
176
+
177
+ Then /^the database should use the domain provided for the server instead of the default server$/ do
178
+ CouchRest::Model::Config.ModelWithCustomServer.default.name.should == "model_db"
179
+ CouchRest::Model::Config.ModelWithCustomServer.default.server.uri.should == "http://my.custom.server.com"
180
+ end
181
+
182
+ Given /^I have configured the database for a model directly on the model via `use_database`$/ do
183
+ server = CouchRest.new
184
+ DIRECTLY_CONFIGURED_MODEL_DB = server.database! "directly_configured_model_database"
185
+ class DirectlyConfiguredModel < CouchRest::Model::Base
186
+ use_database DIRECTLY_CONFIGURED_MODEL_DB
187
+ end
188
+ @model = DirectlyConfiguredModel
189
+ end
190
+
191
+ Given /^I have configured the database for that model via CouchRest::Model::Config$/ do
192
+ CouchRest::Model::Config.edit do
193
+ database DirectlyConfiguredModel do
194
+ default "indirectly_configured_db"
195
+ end
196
+ end
197
+ end
198
+
199
+ When /^I call the `database` method on the model$/ do
200
+ @model_database = @model.database
201
+ end
202
+
203
+ Then /^I should receive the database configured directly on the model via `use_database`$/ do
204
+ @model_database.name.should == "directly_configured_model_database"
205
+ end
206
+
207
+ Given /^I have configured the database for a model via CouchRest::Model::Config$/ do
208
+ class IndirectlyConfiguredModel < CouchRest::Model::Base; end
209
+ CouchRest::Model::Config.edit do
210
+ database IndirectlyConfiguredModel do
211
+ default "indirect_db"
212
+ end
213
+ end
214
+ @model = IndirectlyConfiguredModel
215
+ end
216
+
217
+ Then /^I should receive the database I configured via CouchRest::Model::Config$/ do
218
+ @model_database.name.should == "indirect_db"
219
+ end
220
+
221
+ When /^I call the `database` method on an instance of the model$/ do
222
+ @model_database = IndirectlyConfiguredModel.new.database
223
+ end
@@ -0,0 +1,24 @@
1
+ Given /^Rails\.env returns "([^"]*)"$/ do |rails_env|
2
+ unless defined? Rails
3
+ Rails = double "Rails"
4
+ end
5
+ Rails.stub(:env).and_return rails_env
6
+ Rails.env.should == rails_env
7
+ end
8
+
9
+ When /^I call CouchRest::Model::Config\.environment$/ do
10
+ @env = CouchRest::Model::Config.environment
11
+ end
12
+
13
+ Then /^I should receive the value of "([^"]*)"$/ do |eval_this|
14
+ @env.should == eval(eval_this)
15
+ end
16
+
17
+ Given /^I have configured couchrest_model to detect environment via ENV\['RACK_ENV'\]$/ do
18
+ ENV['RACK_ENV'] = 'matt did this!'
19
+ CouchRest::Model::Config.edit do
20
+ environment do
21
+ ENV['RACK_ENV']
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,35 @@
1
+ Given /^I have configured CouchRest::Model via CouchRest::Model::Config$/ do
2
+ class Book < CouchRest::Model::Base; end
3
+ CouchRest::Model::Config.edit do
4
+ database Book do
5
+ default "book_db"
6
+ end
7
+
8
+ environment do
9
+ "haha"
10
+ end
11
+
12
+ server do
13
+ default "http://poo.com"
14
+ end
15
+ end
16
+ CouchRest::Model::Config.Book.default.class.should == CouchRest::Database
17
+ CouchRest::Model::Config.Book.default.name.should == "book_db"
18
+ CouchRest::Model::Config.server.default.uri.should == "http://poo.com"
19
+ CouchRest::Model::Config.environment.should == "haha"
20
+ end
21
+
22
+ When /^I call the reset method$/ do
23
+ CouchRest::Model::Config.reset
24
+ end
25
+
26
+ Then /^CouchRest::Model::Config should be reset to defaults$/ do
27
+ unless defined? Rails
28
+ Rails = double "Rails"
29
+ end
30
+ Rails.stub(:env).and_return "matt"
31
+ CouchRest::Model::Config.Book.all.should be_nil
32
+ CouchRest::Model::Config.Book.default.should be_nil
33
+ CouchRest::Model::Config.server.default.uri.should == "http://127.0.0.1:5984"
34
+ CouchRest::Model::Config.environment.should == "matt"
35
+ end
@@ -0,0 +1,4 @@
1
+ $LOAD_PATH.unshift './lib'
2
+ require 'couchrest_model_config'
3
+ require 'rspec/mocks/standalone'
4
+ require 'cucumber/rspec/doubles'
@@ -0,0 +1,3 @@
1
+ Before do
2
+ CouchRest::Model::Config.reset
3
+ end
@@ -0,0 +1,5 @@
1
+ require 'couchrest_model'
2
+ require 'couchrest_model_config/config'
3
+ require 'couchrest_model_config/model'
4
+ require 'couchrest_model_config/server'
5
+ require 'couchrest_model_config/couchrest_model_base.rb'
@@ -0,0 +1,74 @@
1
+ module CouchRest
2
+ module Model
3
+ module Config
4
+ extend self
5
+
6
+ def environment(&block)
7
+ block ? environment_proc(block) : environment_proc.call
8
+ end
9
+
10
+ def current_server
11
+ Server.send(environment) || Server.default
12
+ end
13
+
14
+ def server(&block)
15
+ block ? Server.instance_eval(&block) : Server
16
+ end
17
+
18
+ def edit(&block)
19
+ self.instance_eval &block
20
+ end
21
+
22
+ def database(*args, &block)
23
+ if args.empty?
24
+ configure_default_database &block
25
+ else
26
+ args.each {|m| configure_model m, &block}
27
+ end
28
+ end
29
+
30
+ def reset
31
+ @model_configs = {}
32
+ @environment_proc = nil
33
+ Server.reset
34
+ end
35
+
36
+ def default_database
37
+ model_configs(:default_database).send(self.environment) || model_configs(:default_database).default
38
+ end
39
+
40
+ def for(m)
41
+ m = m.to_s.camelize.constantize unless m.class == Class
42
+ model_configs(m)
43
+ end
44
+
45
+ def method_missing(model, *args, &block)
46
+ model = model.to_s.camelize.constantize
47
+ return model_configs(model) unless block
48
+ configure_model model, &block
49
+ end
50
+
51
+ private
52
+ def environment_proc(p=nil)
53
+ if p.nil?
54
+ @environment_proc ||= proc { Rails.env }
55
+ else
56
+ @environment_proc = p
57
+ end
58
+ end
59
+
60
+ def configure_model(model, &block)
61
+ model_configs(model).instance_eval &block
62
+ end
63
+
64
+ def model_configs(model=nil)
65
+ @model_configs ||= {}
66
+ return (@model_configs[model] ||= Model.new model) if model
67
+ end
68
+
69
+ def configure_default_database(&block)
70
+ model_configs(:default_database).instance_eval &block
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,13 @@
1
+ module CouchRest
2
+ module Model
3
+ class Base
4
+ class << self
5
+ def database_with_couchrest_model_config
6
+ database_without_couchrest_model_config || CouchRest::Model::Config.for(self).current_database
7
+ end
8
+
9
+ alias_method_chain :database, :couchrest_model_config
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,61 @@
1
+ module CouchRest
2
+ module Model
3
+ module Config
4
+ class Model
5
+ attr_reader :environments
6
+
7
+ def initialize(klass)
8
+ @klass = klass
9
+ @environments = {}
10
+ end
11
+
12
+ def test(db=nil)
13
+ if db.nil?
14
+ @environments[:test]
15
+ else
16
+ @environments[:test] = CouchRest::Model::Config.current_server.database! db
17
+ end
18
+ end
19
+
20
+ def current_database
21
+ configured_model_database ||
22
+ configured_ancestor_database ||
23
+ CouchRest::Model::Config.default_database
24
+ end
25
+
26
+ def method_missing(environment, *args, &block)
27
+ return @environments[environment] if args.length == 0
28
+ couch_server, database = parse_database_config args.first
29
+ @environments[environment] = couch_server.database! database
30
+ end
31
+
32
+ private
33
+ def parse_database_config(db)
34
+ if db.match(%r{^(https?://.*)/(.*)$})
35
+ [CouchRest.new($1), $2]
36
+ else
37
+ [CouchRest::Model::Config.current_server, db]
38
+ end
39
+ end
40
+
41
+ def configured_model_database
42
+ @environments[current_env] || @environments[:default]
43
+ end
44
+
45
+ def configured_ancestor_database
46
+ db = nil
47
+ @klass.ancestors.each do |a|
48
+ db ||=
49
+ CouchRest::Model::Config.for(a).send(current_env) ||
50
+ CouchRest::Model::Config.for(a).default
51
+ end
52
+ db
53
+ end
54
+
55
+ def current_env
56
+ current_env = CouchRest::Model::Config.environment.to_sym
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,42 @@
1
+ module CouchRest
2
+ module Model
3
+ module Config
4
+ module Server
5
+ extend self
6
+
7
+ def reset
8
+ @environments = {}
9
+ end
10
+
11
+ def default(uri=nil)
12
+ if uri.nil?
13
+ environments[:default] ||= CouchRest.new
14
+ else
15
+ environments[:default] = CouchRest.new uri
16
+ end
17
+ end
18
+
19
+ def test(uri=nil)
20
+ if uri.nil?
21
+ environments[:test]
22
+ else
23
+ environments[:test] = CouchRest.new uri
24
+ end
25
+ end
26
+
27
+ def method_missing(environment, *args, &block)
28
+ case args.length
29
+ when 0 then environments[environment]
30
+ when 1 then environments[environment] = CouchRest.new args.first
31
+ else raise "Too many arguments passed to the '#{environment}' server configuration!"
32
+ end
33
+ end
34
+
35
+ private
36
+ def environments
37
+ @environments ||= {}
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
data/readme.markdown ADDED
@@ -0,0 +1,153 @@
1
+ # CouchRest::Model::Config
2
+
3
+ Simple environment-based CouchRest::Model configuration. Suitable for Rails, Sinatra, Rack, whatev.
4
+
5
+ ## Installation
6
+
7
+ Install the gem `couchrest_model_config` however you see fit to do so. Then `require 'couchrest_model_config'`.
8
+
9
+ ## Configuring environment detection
10
+
11
+ By default, CouchRest::Model::Config assumes a Rails 3 app, and will detect your app's environment via `Rails.env`. If you're using this in something other than a Rails 3 app,
12
+ then simply override the default environment detection:
13
+
14
+ # Sinatra example
15
+ CouchRest::Model::Config.edit do
16
+ environment do
17
+ settings.environment
18
+ end
19
+ end
20
+
21
+ # Rack example
22
+ CouchRest::Model::Config.edit do
23
+ environment do
24
+ ENV['RACK_ENV'] || 'development'
25
+ end
26
+ end
27
+
28
+ ## Configuring the default database
29
+
30
+ Suppose you want all of your couchrest models to use the same database in your application. No problem! You can use the `database` configuration method without
31
+ any arguments:
32
+
33
+ CouchRest::Model::Config.edit do
34
+ database do
35
+ default "my_db_#{Rails.env}"
36
+ end
37
+ end
38
+
39
+ This means that the default database name for all of your models will be "my_db_" followed by your Rails environment.
40
+
41
+ You could customize the database names per environment further:
42
+
43
+ CouchRest::Model::Config.edit do
44
+ database do
45
+ default "my_db_#{Rails.env}"
46
+ production "my_production_db"
47
+ test "funny_test_db_name"
48
+ end
49
+ end
50
+
51
+ For any environment not explicitly configured, it will fall back to the database name.
52
+
53
+ ## Configuring the database for a model
54
+
55
+ To set the database for a model, use the `database` method. For example, suppose we'd like to set the database name for our `Book` model to
56
+ `library` in all environments:
57
+
58
+ CouchRest::Model::Config.edit do
59
+ database Book do
60
+ default "library"
61
+ end
62
+ end
63
+
64
+ Or, perhaps we'd like to differentiate the name between production, development, and test environments:
65
+
66
+ CouchRest::Model::Config.edit do
67
+ database Book do
68
+ production "library_production"
69
+ development "library_development"
70
+ test "library_test"
71
+ end
72
+ end
73
+
74
+ In a Rails app, this could be simplified to:
75
+
76
+ CouchRest::Model::Config.edit do
77
+ database Book do
78
+ default "library_#{Rails.env}"
79
+ end
80
+ end
81
+
82
+ ## Configuring the database for a set of models
83
+
84
+ Similarly, you could set the database for a whole set of models in one of two ways:
85
+
86
+ 1. Make every model inherit from the same parent (or mixin the same module), and set the parent's database via the `database` method
87
+ 2. Pass several models to the `database` method
88
+
89
+ ### Inheritance / Mixins
90
+
91
+ Let's imagine that our `Book`, `Author`, and `Genre` models all mixed in the `Library` module:
92
+
93
+ module Library; end
94
+ class Book < CouchRest::Model::Base; include Library; end
95
+ class Author < CouchRest::Model::Base; include Library; end
96
+ class Genre < CouchRest::Model::Base; include Library; end
97
+
98
+ To make the `Book`, `Author`, and `Genre` models use the same database, simply set the `Library` database in the config:
99
+
100
+ CouchRest::Model::Config.edit do
101
+ database Library do
102
+ default "library"
103
+ end
104
+ end
105
+
106
+ Now, the database for `Book`, `Author`, and `Genre` will all be set to the same database, "library".
107
+
108
+ ### Passing several models to the `database` method
109
+
110
+ Suppose `Book`, `Author`, and `Genre` couldn't all inherit from the same parent class, yet we'd still like all of them to share the same database;
111
+ then we could simply pass all of the models to the `database` method:
112
+
113
+ CouchRest::Model::Config.edit do
114
+ database Book, Author, Genre do
115
+ default "library"
116
+ end
117
+ end
118
+
119
+ ## Configuring the CouchDB server
120
+
121
+ Without any configuration, CouchRest::Model::Config will assume a CouchDB server at "http://127.0.0.1:5984".
122
+
123
+ If you'd like to set a default server for all models regardless of environment, then try:
124
+
125
+ CouchRest::Model::Config.edit do
126
+ server do
127
+ default "http://admin:password@localhost:5984"
128
+ end
129
+ end
130
+
131
+ If you wanted to change the server to be different in the `production` environment:
132
+
133
+ CouchRest::Model::Config.edit do
134
+ server do
135
+ default "http://admin:password@localhost:5984"
136
+ production "https://root:blah@my.production.server:5984"
137
+ end
138
+ end
139
+
140
+ Now, in the production environment, it will connect to CouchDB server `my.production.server`; in all other environments, it will connect to `localhost`.
141
+
142
+ If you'd like to change the CouchDB server for a specific model or set of models, simply set the database name for the model (or models) to the entire
143
+ CouchDB uri for the database:
144
+
145
+ CouchRest::Model::Config.edit do
146
+ database Blog do
147
+ default "http://localhost:5984/blog"
148
+ end
149
+ end
150
+
151
+ ## LICENSE
152
+
153
+ There is no license. Why? Because this software has been committed to the public domain. DO ANYTHING WITH IT!!!
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: couchrest_model_config
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Matt Parker
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-04-26 00:00:00 -04:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: couchrest_model
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 23
30
+ segments:
31
+ - 1
32
+ - 0
33
+ - 0
34
+ version: 1.0.0
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: cucumber
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 55
46
+ segments:
47
+ - 0
48
+ - 10
49
+ - 0
50
+ version: 0.10.0
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 31
62
+ segments:
63
+ - 2
64
+ - 4
65
+ - 0
66
+ version: 2.4.0
67
+ type: :development
68
+ version_requirements: *id003
69
+ description: Simple, environment-based server and database configuration for couchrest_model.
70
+ email: moonmaster9000@gmail.com
71
+ executables: []
72
+
73
+ extensions: []
74
+
75
+ extra_rdoc_files:
76
+ - readme.markdown
77
+ files:
78
+ - .gitignore
79
+ - .rvmrc
80
+ - Gemfile
81
+ - Gemfile.lock
82
+ - PUBLIC_DOMAIN
83
+ - VERSION
84
+ - couchrest_model_config.gemspec
85
+ - features/configure_database.feature
86
+ - features/configure_environment.feature
87
+ - features/configure_namespace_model.feature
88
+ - features/configure_server.feature
89
+ - features/reset.feature
90
+ - features/step_definitions/configure_steps.rb
91
+ - features/step_definitions/environment_steps.rb
92
+ - features/step_definitions/reset_steps.rb
93
+ - features/support/env.rb
94
+ - features/support/hooks.rb
95
+ - lib/couchrest_model_config.rb
96
+ - lib/couchrest_model_config/config.rb
97
+ - lib/couchrest_model_config/couchrest_model_base.rb
98
+ - lib/couchrest_model_config/model.rb
99
+ - lib/couchrest_model_config/server.rb
100
+ - readme.markdown
101
+ has_rdoc: true
102
+ homepage: http://github.com/moonmaster9000/couchrest_model_config
103
+ licenses: []
104
+
105
+ post_install_message:
106
+ rdoc_options: []
107
+
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
127
+ version: "0"
128
+ requirements: []
129
+
130
+ rubyforge_project:
131
+ rubygems_version: 1.6.2
132
+ signing_key:
133
+ specification_version: 3
134
+ summary: Simple, environment-based server and database configuration for couchrest_model
135
+ test_files:
136
+ - features/configure_database.feature
137
+ - features/configure_environment.feature
138
+ - features/configure_namespace_model.feature
139
+ - features/configure_server.feature
140
+ - features/reset.feature
141
+ - features/step_definitions/configure_steps.rb
142
+ - features/step_definitions/environment_steps.rb
143
+ - features/step_definitions/reset_steps.rb
144
+ - features/support/env.rb
145
+ - features/support/hooks.rb