samlown-couchrest 0.35

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.
Files changed (105) hide show
  1. data/LICENSE +176 -0
  2. data/README.md +46 -0
  3. data/Rakefile +67 -0
  4. data/THANKS.md +19 -0
  5. data/examples/model/example.rb +144 -0
  6. data/examples/word_count/markov +38 -0
  7. data/examples/word_count/views/books/chunked-map.js +3 -0
  8. data/examples/word_count/views/books/united-map.js +1 -0
  9. data/examples/word_count/views/markov/chain-map.js +6 -0
  10. data/examples/word_count/views/markov/chain-reduce.js +7 -0
  11. data/examples/word_count/views/word_count/count-map.js +6 -0
  12. data/examples/word_count/views/word_count/count-reduce.js +3 -0
  13. data/examples/word_count/word_count.rb +46 -0
  14. data/examples/word_count/word_count_query.rb +40 -0
  15. data/examples/word_count/word_count_views.rb +26 -0
  16. data/history.txt +114 -0
  17. data/lib/couchrest/commands/generate.rb +71 -0
  18. data/lib/couchrest/commands/push.rb +103 -0
  19. data/lib/couchrest/core/adapters/restclient.rb +35 -0
  20. data/lib/couchrest/core/database.rb +377 -0
  21. data/lib/couchrest/core/design.rb +79 -0
  22. data/lib/couchrest/core/document.rb +84 -0
  23. data/lib/couchrest/core/http_abstraction.rb +48 -0
  24. data/lib/couchrest/core/response.rb +16 -0
  25. data/lib/couchrest/core/rest_api.rb +49 -0
  26. data/lib/couchrest/core/server.rb +88 -0
  27. data/lib/couchrest/core/view.rb +4 -0
  28. data/lib/couchrest/helper/pager.rb +103 -0
  29. data/lib/couchrest/helper/streamer.rb +51 -0
  30. data/lib/couchrest/helper/upgrade.rb +51 -0
  31. data/lib/couchrest/middlewares/logger.rb +263 -0
  32. data/lib/couchrest/mixins/attachments.rb +31 -0
  33. data/lib/couchrest/mixins/attribute_protection.rb +74 -0
  34. data/lib/couchrest/mixins/callbacks.rb +532 -0
  35. data/lib/couchrest/mixins/class_proxy.rb +124 -0
  36. data/lib/couchrest/mixins/collection.rb +260 -0
  37. data/lib/couchrest/mixins/design_doc.rb +103 -0
  38. data/lib/couchrest/mixins/document_queries.rb +80 -0
  39. data/lib/couchrest/mixins/extended_attachments.rb +70 -0
  40. data/lib/couchrest/mixins/extended_document_mixins.rb +9 -0
  41. data/lib/couchrest/mixins/properties.rb +154 -0
  42. data/lib/couchrest/mixins/validation.rb +246 -0
  43. data/lib/couchrest/mixins/views.rb +173 -0
  44. data/lib/couchrest/mixins.rb +4 -0
  45. data/lib/couchrest/monkeypatches.rb +113 -0
  46. data/lib/couchrest/more/casted_model.rb +58 -0
  47. data/lib/couchrest/more/extended_document.rb +310 -0
  48. data/lib/couchrest/more/property.rb +50 -0
  49. data/lib/couchrest/more/typecast.rb +175 -0
  50. data/lib/couchrest/support/blank.rb +42 -0
  51. data/lib/couchrest/support/class.rb +190 -0
  52. data/lib/couchrest/support/rails.rb +42 -0
  53. data/lib/couchrest/validation/auto_validate.rb +157 -0
  54. data/lib/couchrest/validation/contextual_validators.rb +78 -0
  55. data/lib/couchrest/validation/validation_errors.rb +125 -0
  56. data/lib/couchrest/validation/validators/absent_field_validator.rb +74 -0
  57. data/lib/couchrest/validation/validators/confirmation_validator.rb +107 -0
  58. data/lib/couchrest/validation/validators/format_validator.rb +122 -0
  59. data/lib/couchrest/validation/validators/formats/email.rb +66 -0
  60. data/lib/couchrest/validation/validators/formats/url.rb +43 -0
  61. data/lib/couchrest/validation/validators/generic_validator.rb +120 -0
  62. data/lib/couchrest/validation/validators/length_validator.rb +139 -0
  63. data/lib/couchrest/validation/validators/method_validator.rb +89 -0
  64. data/lib/couchrest/validation/validators/numeric_validator.rb +109 -0
  65. data/lib/couchrest/validation/validators/required_field_validator.rb +114 -0
  66. data/lib/couchrest.rb +162 -0
  67. data/spec/couchrest/core/couchrest_spec.rb +184 -0
  68. data/spec/couchrest/core/database_spec.rb +840 -0
  69. data/spec/couchrest/core/design_spec.rb +138 -0
  70. data/spec/couchrest/core/document_spec.rb +275 -0
  71. data/spec/couchrest/core/server_spec.rb +35 -0
  72. data/spec/couchrest/helpers/pager_spec.rb +122 -0
  73. data/spec/couchrest/helpers/streamer_spec.rb +52 -0
  74. data/spec/couchrest/more/attribute_protection_spec.rb +150 -0
  75. data/spec/couchrest/more/casted_extended_doc_spec.rb +79 -0
  76. data/spec/couchrest/more/casted_model_spec.rb +406 -0
  77. data/spec/couchrest/more/extended_doc_attachment_spec.rb +135 -0
  78. data/spec/couchrest/more/extended_doc_inherited_spec.rb +40 -0
  79. data/spec/couchrest/more/extended_doc_spec.rb +797 -0
  80. data/spec/couchrest/more/extended_doc_subclass_spec.rb +98 -0
  81. data/spec/couchrest/more/extended_doc_view_spec.rb +456 -0
  82. data/spec/couchrest/more/property_spec.rb +628 -0
  83. data/spec/fixtures/attachments/README +3 -0
  84. data/spec/fixtures/attachments/couchdb.png +0 -0
  85. data/spec/fixtures/attachments/test.html +11 -0
  86. data/spec/fixtures/more/article.rb +35 -0
  87. data/spec/fixtures/more/card.rb +22 -0
  88. data/spec/fixtures/more/cat.rb +20 -0
  89. data/spec/fixtures/more/course.rb +22 -0
  90. data/spec/fixtures/more/event.rb +8 -0
  91. data/spec/fixtures/more/invoice.rb +17 -0
  92. data/spec/fixtures/more/person.rb +9 -0
  93. data/spec/fixtures/more/question.rb +6 -0
  94. data/spec/fixtures/more/service.rb +12 -0
  95. data/spec/fixtures/more/user.rb +22 -0
  96. data/spec/fixtures/views/lib.js +3 -0
  97. data/spec/fixtures/views/test_view/lib.js +3 -0
  98. data/spec/fixtures/views/test_view/only-map.js +4 -0
  99. data/spec/fixtures/views/test_view/test-map.js +3 -0
  100. data/spec/fixtures/views/test_view/test-reduce.js +3 -0
  101. data/spec/spec.opts +6 -0
  102. data/spec/spec_helper.rb +49 -0
  103. data/utils/remap.rb +27 -0
  104. data/utils/subset.rb +30 -0
  105. metadata +223 -0
@@ -0,0 +1,20 @@
1
+ class Cat < CouchRest::ExtendedDocument
2
+ include ::CouchRest::Validation
3
+
4
+ # Set the default database to use
5
+ use_database DB
6
+
7
+ property :name, :accessible => true
8
+ property :toys, :cast_as => ['CatToy'], :default => [], :accessible => true
9
+ property :favorite_toy, :cast_as => 'CatToy', :accessible => true
10
+ property :number
11
+ end
12
+
13
+ class CatToy < Hash
14
+ include ::CouchRest::CastedModel
15
+ include ::CouchRest::Validation
16
+
17
+ property :name
18
+
19
+ validates_presence_of :name
20
+ end
@@ -0,0 +1,22 @@
1
+ require File.join(FIXTURE_PATH, 'more', 'question')
2
+ require File.join(FIXTURE_PATH, 'more', 'person')
3
+
4
+ class Course < CouchRest::ExtendedDocument
5
+ use_database TEST_SERVER.default_database
6
+
7
+ property :title, :cast_as => 'String'
8
+ property :questions, :cast_as => ['Question']
9
+ property :professor, :cast_as => 'Person'
10
+ property :participants, :type => ['Object']
11
+ property :ends_at, :type => 'Time'
12
+ property :estimate, :type => 'Float'
13
+ property :hours, :type => 'Integer'
14
+ property :profit, :type => 'BigDecimal'
15
+ property :started_on, :type => 'Date'
16
+ property :updated_at, :type => 'DateTime'
17
+ property :active, :type => 'Boolean'
18
+ property :klass, :type => 'Class'
19
+
20
+ view_by :title
21
+ view_by :dept, :ducktype => true
22
+ end
@@ -0,0 +1,8 @@
1
+ class Event < CouchRest::ExtendedDocument
2
+ use_database DB
3
+
4
+ property :subject
5
+ property :occurs_at, :cast_as => 'Time', :init_method => 'parse'
6
+ property :end_date, :cast_as => 'Date', :init_method => 'parse'
7
+
8
+ end
@@ -0,0 +1,17 @@
1
+ class Invoice < CouchRest::ExtendedDocument
2
+ # Include the validation module to get access to the validation methods
3
+ include CouchRest::Validation
4
+
5
+ # Set the default database to use
6
+ use_database DB
7
+
8
+ # Official Schema
9
+ property :client_name
10
+ property :employee_name
11
+ property :location
12
+
13
+ # Validation
14
+ validates_presence_of :client_name, :employee_name
15
+ validates_presence_of :location, :message => "Hey stupid!, you forgot the location"
16
+
17
+ end
@@ -0,0 +1,9 @@
1
+ class Person < Hash
2
+ include ::CouchRest::CastedModel
3
+ property :pet, :cast_as => 'Cat'
4
+ property :name, :type => ['String']
5
+
6
+ def last_name
7
+ name.last
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ class Question < Hash
2
+ include ::CouchRest::CastedModel
3
+
4
+ property :q
5
+ property :a, :type => 'Object'
6
+ end
@@ -0,0 +1,12 @@
1
+ class Service < CouchRest::ExtendedDocument
2
+ # Include the validation module to get access to the validation methods
3
+ include CouchRest::Validation
4
+ auto_validate!
5
+ # Set the default database to use
6
+ use_database DB
7
+
8
+ # Official Schema
9
+ property :name, :length => 4...20
10
+ property :price, :type => 'Integer'
11
+
12
+ end
@@ -0,0 +1,22 @@
1
+ class User < CouchRest::ExtendedDocument
2
+ # Set the default database to use
3
+ use_database DB
4
+ property :name, :accessible => true
5
+ property :admin # this will be automatically protected
6
+ end
7
+
8
+ class SpecialUser < CouchRest::ExtendedDocument
9
+ # Set the default database to use
10
+ use_database DB
11
+ property :name # this will not be protected
12
+ property :admin, :protected => true
13
+ end
14
+
15
+ # There are two modes of protection
16
+ # 1) Declare accessible poperties, assume all the rest are protected
17
+ # property :name, :accessible => true
18
+ # property :admin # this will be automatically protected
19
+ #
20
+ # 2) Declare protected properties, assume all the rest are accessible
21
+ # property :name # this will not be protected
22
+ # property :admin, :protected => true
@@ -0,0 +1,3 @@
1
+ function globalLib() {
2
+ return "fixture";
3
+ };
@@ -0,0 +1,3 @@
1
+ function justThisView() {
2
+ return "fixture";
3
+ };
@@ -0,0 +1,4 @@
1
+ function(doc) {
2
+ //include-lib
3
+ emit(null, null);
4
+ };
@@ -0,0 +1,3 @@
1
+ function(doc) {
2
+ emit(null, null);
3
+ };
@@ -0,0 +1,3 @@
1
+ function(ks,vs,co) {
2
+ return vs.length;
3
+ };
data/spec/spec.opts ADDED
@@ -0,0 +1,6 @@
1
+ --colour
2
+ --format
3
+ progress
4
+ --loadby
5
+ mtime
6
+ --reverse
@@ -0,0 +1,49 @@
1
+ require "rubygems"
2
+ require "spec" # Satisfies Autotest and anyone else not using the Rake tasks
3
+
4
+ require File.join(File.dirname(__FILE__), '..','lib','couchrest')
5
+ # check the following file to see how to use the spec'd features.
6
+
7
+ unless defined?(FIXTURE_PATH)
8
+ FIXTURE_PATH = File.join(File.dirname(__FILE__), '/fixtures')
9
+ SCRATCH_PATH = File.join(File.dirname(__FILE__), '/tmp')
10
+
11
+ COUCHHOST = "http://127.0.0.1:5984"
12
+ TESTDB = 'couchrest-test'
13
+ REPLICATIONDB = 'couchrest-test-replication'
14
+ TEST_SERVER = CouchRest.new
15
+ TEST_SERVER.default_database = TESTDB
16
+ DB = TEST_SERVER.database(TESTDB)
17
+ end
18
+
19
+ class Basic < CouchRest::ExtendedDocument
20
+ use_database TEST_SERVER.default_database
21
+ end
22
+
23
+ def reset_test_db!
24
+ DB.recreate! rescue nil
25
+ DB
26
+ end
27
+
28
+ Spec::Runner.configure do |config|
29
+ config.before(:all) { reset_test_db! }
30
+
31
+ config.after(:all) do
32
+ cr = TEST_SERVER
33
+ test_dbs = cr.databases.select { |db| db =~ /^#{TESTDB}/ }
34
+ test_dbs.each do |db|
35
+ cr.database(db).delete! rescue nil
36
+ end
37
+ end
38
+ end
39
+
40
+ def couchdb_lucene_available?
41
+ lucene_path = "http://localhost:5985/"
42
+ url = URI.parse(lucene_path)
43
+ req = Net::HTTP::Get.new(url.path)
44
+ res = Net::HTTP.new(url.host, url.port).start { |http| http.request(req) }
45
+ true
46
+ rescue Exception => e
47
+ false
48
+ end
49
+
data/utils/remap.rb ADDED
@@ -0,0 +1,27 @@
1
+ require 'rubygems'
2
+ require 'couchrest'
3
+
4
+ # set the source db and map view
5
+ source = CouchRest.new("http://127.0.0.1:5984").database('source-db')
6
+ source_view = 'mydesign/view-map'
7
+
8
+ # set the target db
9
+ target = CouchRest.new("http://127.0.0.1:5984").database('target-db')
10
+
11
+
12
+ pager = CouchRest::Pager.new(source)
13
+
14
+ # pager will yield once per uniq key in the source view
15
+
16
+ pager.key_reduce(source_view, 10000) do |key, values|
17
+ # create a doc from the key and the values
18
+ example_doc = {
19
+ :key => key,
20
+ :values => values.uniq
21
+ }
22
+
23
+ target.save(example_doc)
24
+
25
+ # keep us up to date with progress
26
+ puts k if (rand > 0.9)
27
+ end
data/utils/subset.rb ADDED
@@ -0,0 +1,30 @@
1
+ require 'rubygems'
2
+ require 'couchrest'
3
+
4
+ # subset.rb replicates a percentage of a database to a fresh database.
5
+ # use it to create a smaller dataset on which to prototype views.
6
+
7
+ # specify the source database
8
+ source = CouchRest.new("http://127.0.0.1:5984").database('source-db')
9
+
10
+ # specify the target database
11
+ target = CouchRest.new("http://127.0.0.1:5984").database('target-db')
12
+
13
+ # pager efficiently yields all view rows
14
+ pager = CouchRest::Pager.new(source)
15
+
16
+ pager.all_docs(1000) do |rows|
17
+ docs = rows.collect do |r|
18
+ # the percentage of docs to clone
19
+ next if rand > 0.1
20
+ doc = source.get(r['id'])
21
+ doc.delete('_rev')
22
+ doc
23
+ end.compact
24
+ puts docs.length
25
+ next if docs.empty?
26
+
27
+ puts docs.first['_id']
28
+ target.bulk_save(docs)
29
+ end
30
+
metadata ADDED
@@ -0,0 +1,223 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: samlown-couchrest
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 35
8
+ version: "0.35"
9
+ platform: ruby
10
+ authors:
11
+ - J. Chris Anderson
12
+ - Matt Aimonetti
13
+ - Marcos Tapajos
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-03-30 00:00:00 +00:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rest-client
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ - 5
31
+ version: "0.5"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: mime-types
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 1
43
+ - 15
44
+ version: "1.15"
45
+ type: :runtime
46
+ version_requirements: *id002
47
+ description: CouchRest provides a simple interface on top of CouchDB's RESTful HTTP API, as well as including some utility scripts for managing views and attachments.
48
+ email: jchris@apache.org
49
+ executables: []
50
+
51
+ extensions: []
52
+
53
+ extra_rdoc_files:
54
+ - LICENSE
55
+ - README.md
56
+ - THANKS.md
57
+ files:
58
+ - LICENSE
59
+ - README.md
60
+ - Rakefile
61
+ - THANKS.md
62
+ - examples/model/example.rb
63
+ - examples/word_count/markov
64
+ - examples/word_count/views/books/chunked-map.js
65
+ - examples/word_count/views/books/united-map.js
66
+ - examples/word_count/views/markov/chain-map.js
67
+ - examples/word_count/views/markov/chain-reduce.js
68
+ - examples/word_count/views/word_count/count-map.js
69
+ - examples/word_count/views/word_count/count-reduce.js
70
+ - examples/word_count/word_count.rb
71
+ - examples/word_count/word_count_query.rb
72
+ - examples/word_count/word_count_views.rb
73
+ - history.txt
74
+ - lib/couchrest.rb
75
+ - lib/couchrest/commands/generate.rb
76
+ - lib/couchrest/commands/push.rb
77
+ - lib/couchrest/core/adapters/restclient.rb
78
+ - lib/couchrest/core/database.rb
79
+ - lib/couchrest/core/design.rb
80
+ - lib/couchrest/core/document.rb
81
+ - lib/couchrest/core/http_abstraction.rb
82
+ - lib/couchrest/core/response.rb
83
+ - lib/couchrest/core/rest_api.rb
84
+ - lib/couchrest/core/server.rb
85
+ - lib/couchrest/core/view.rb
86
+ - lib/couchrest/helper/pager.rb
87
+ - lib/couchrest/helper/streamer.rb
88
+ - lib/couchrest/helper/upgrade.rb
89
+ - lib/couchrest/middlewares/logger.rb
90
+ - lib/couchrest/mixins.rb
91
+ - lib/couchrest/mixins/attachments.rb
92
+ - lib/couchrest/mixins/attribute_protection.rb
93
+ - lib/couchrest/mixins/callbacks.rb
94
+ - lib/couchrest/mixins/class_proxy.rb
95
+ - lib/couchrest/mixins/collection.rb
96
+ - lib/couchrest/mixins/design_doc.rb
97
+ - lib/couchrest/mixins/document_queries.rb
98
+ - lib/couchrest/mixins/extended_attachments.rb
99
+ - lib/couchrest/mixins/extended_document_mixins.rb
100
+ - lib/couchrest/mixins/properties.rb
101
+ - lib/couchrest/mixins/validation.rb
102
+ - lib/couchrest/mixins/views.rb
103
+ - lib/couchrest/monkeypatches.rb
104
+ - lib/couchrest/more/casted_model.rb
105
+ - lib/couchrest/more/extended_document.rb
106
+ - lib/couchrest/more/property.rb
107
+ - lib/couchrest/more/typecast.rb
108
+ - lib/couchrest/support/blank.rb
109
+ - lib/couchrest/support/class.rb
110
+ - lib/couchrest/support/rails.rb
111
+ - lib/couchrest/validation/auto_validate.rb
112
+ - lib/couchrest/validation/contextual_validators.rb
113
+ - lib/couchrest/validation/validation_errors.rb
114
+ - lib/couchrest/validation/validators/absent_field_validator.rb
115
+ - lib/couchrest/validation/validators/confirmation_validator.rb
116
+ - lib/couchrest/validation/validators/format_validator.rb
117
+ - lib/couchrest/validation/validators/formats/email.rb
118
+ - lib/couchrest/validation/validators/formats/url.rb
119
+ - lib/couchrest/validation/validators/generic_validator.rb
120
+ - lib/couchrest/validation/validators/length_validator.rb
121
+ - lib/couchrest/validation/validators/method_validator.rb
122
+ - lib/couchrest/validation/validators/numeric_validator.rb
123
+ - lib/couchrest/validation/validators/required_field_validator.rb
124
+ - spec/couchrest/core/couchrest_spec.rb
125
+ - spec/couchrest/core/database_spec.rb
126
+ - spec/couchrest/core/design_spec.rb
127
+ - spec/couchrest/core/document_spec.rb
128
+ - spec/couchrest/core/server_spec.rb
129
+ - spec/couchrest/helpers/pager_spec.rb
130
+ - spec/couchrest/helpers/streamer_spec.rb
131
+ - spec/couchrest/more/attribute_protection_spec.rb
132
+ - spec/couchrest/more/casted_extended_doc_spec.rb
133
+ - spec/couchrest/more/casted_model_spec.rb
134
+ - spec/couchrest/more/extended_doc_attachment_spec.rb
135
+ - spec/couchrest/more/extended_doc_inherited_spec.rb
136
+ - spec/couchrest/more/extended_doc_spec.rb
137
+ - spec/couchrest/more/extended_doc_subclass_spec.rb
138
+ - spec/couchrest/more/extended_doc_view_spec.rb
139
+ - spec/couchrest/more/property_spec.rb
140
+ - spec/fixtures/attachments/README
141
+ - spec/fixtures/attachments/couchdb.png
142
+ - spec/fixtures/attachments/test.html
143
+ - spec/fixtures/more/article.rb
144
+ - spec/fixtures/more/card.rb
145
+ - spec/fixtures/more/cat.rb
146
+ - spec/fixtures/more/course.rb
147
+ - spec/fixtures/more/event.rb
148
+ - spec/fixtures/more/invoice.rb
149
+ - spec/fixtures/more/person.rb
150
+ - spec/fixtures/more/question.rb
151
+ - spec/fixtures/more/service.rb
152
+ - spec/fixtures/more/user.rb
153
+ - spec/fixtures/views/lib.js
154
+ - spec/fixtures/views/test_view/lib.js
155
+ - spec/fixtures/views/test_view/only-map.js
156
+ - spec/fixtures/views/test_view/test-map.js
157
+ - spec/fixtures/views/test_view/test-reduce.js
158
+ - spec/spec.opts
159
+ - spec/spec_helper.rb
160
+ - utils/remap.rb
161
+ - utils/subset.rb
162
+ has_rdoc: true
163
+ homepage: http://github.com/couchrest/couchrest
164
+ licenses: []
165
+
166
+ post_install_message:
167
+ rdoc_options:
168
+ - --charset=UTF-8
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ segments:
176
+ - 0
177
+ version: "0"
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ requirements: []
186
+
187
+ rubyforge_project:
188
+ rubygems_version: 1.3.6
189
+ signing_key:
190
+ specification_version: 3
191
+ summary: Lean and RESTful interface to CouchDB.
192
+ test_files:
193
+ - spec/couchrest/more/extended_doc_attachment_spec.rb
194
+ - spec/couchrest/more/casted_extended_doc_spec.rb
195
+ - spec/couchrest/more/extended_doc_inherited_spec.rb
196
+ - spec/couchrest/more/casted_model_spec.rb
197
+ - spec/couchrest/more/extended_doc_view_spec.rb
198
+ - spec/couchrest/more/extended_doc_spec.rb
199
+ - spec/couchrest/more/property_spec.rb
200
+ - spec/couchrest/more/attribute_protection_spec.rb
201
+ - spec/couchrest/more/extended_doc_subclass_spec.rb
202
+ - spec/couchrest/helpers/streamer_spec.rb
203
+ - spec/couchrest/helpers/pager_spec.rb
204
+ - spec/couchrest/core/design_spec.rb
205
+ - spec/couchrest/core/server_spec.rb
206
+ - spec/couchrest/core/couchrest_spec.rb
207
+ - spec/couchrest/core/database_spec.rb
208
+ - spec/couchrest/core/document_spec.rb
209
+ - spec/fixtures/more/person.rb
210
+ - spec/fixtures/more/cat.rb
211
+ - spec/fixtures/more/card.rb
212
+ - spec/fixtures/more/course.rb
213
+ - spec/fixtures/more/service.rb
214
+ - spec/fixtures/more/article.rb
215
+ - spec/fixtures/more/invoice.rb
216
+ - spec/fixtures/more/user.rb
217
+ - spec/fixtures/more/event.rb
218
+ - spec/fixtures/more/question.rb
219
+ - spec/spec_helper.rb
220
+ - examples/word_count/word_count_views.rb
221
+ - examples/word_count/word_count.rb
222
+ - examples/word_count/word_count_query.rb
223
+ - examples/model/example.rb