will-couchrest 0.32.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.
Files changed (98) hide show
  1. data/LICENSE +176 -0
  2. data/README.md +165 -0
  3. data/Rakefile +74 -0
  4. data/THANKS.md +18 -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 +65 -0
  17. data/lib/couchrest.rb +199 -0
  18. data/lib/couchrest/commands/generate.rb +71 -0
  19. data/lib/couchrest/commands/push.rb +103 -0
  20. data/lib/couchrest/core/adapters/restclient.rb +35 -0
  21. data/lib/couchrest/core/database.rb +317 -0
  22. data/lib/couchrest/core/design.rb +79 -0
  23. data/lib/couchrest/core/document.rb +83 -0
  24. data/lib/couchrest/core/http_abstraction.rb +48 -0
  25. data/lib/couchrest/core/response.rb +16 -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 +44 -0
  30. data/lib/couchrest/helper/upgrade.rb +51 -0
  31. data/lib/couchrest/mixins.rb +4 -0
  32. data/lib/couchrest/mixins/attachments.rb +31 -0
  33. data/lib/couchrest/mixins/callbacks.rb +483 -0
  34. data/lib/couchrest/mixins/class_proxy.rb +116 -0
  35. data/lib/couchrest/mixins/collection.rb +225 -0
  36. data/lib/couchrest/mixins/design_doc.rb +103 -0
  37. data/lib/couchrest/mixins/document_queries.rb +82 -0
  38. data/lib/couchrest/mixins/extended_attachments.rb +74 -0
  39. data/lib/couchrest/mixins/extended_document_mixins.rb +8 -0
  40. data/lib/couchrest/mixins/properties.rb +158 -0
  41. data/lib/couchrest/mixins/validation.rb +257 -0
  42. data/lib/couchrest/mixins/views.rb +173 -0
  43. data/lib/couchrest/monkeypatches.rb +113 -0
  44. data/lib/couchrest/more/casted_model.rb +29 -0
  45. data/lib/couchrest/more/extended_document.rb +246 -0
  46. data/lib/couchrest/more/property.rb +40 -0
  47. data/lib/couchrest/support/blank.rb +42 -0
  48. data/lib/couchrest/support/class.rb +176 -0
  49. data/lib/couchrest/support/rails.rb +35 -0
  50. data/lib/couchrest/validation/auto_validate.rb +161 -0
  51. data/lib/couchrest/validation/contextual_validators.rb +78 -0
  52. data/lib/couchrest/validation/validation_errors.rb +125 -0
  53. data/lib/couchrest/validation/validators/absent_field_validator.rb +74 -0
  54. data/lib/couchrest/validation/validators/confirmation_validator.rb +99 -0
  55. data/lib/couchrest/validation/validators/format_validator.rb +117 -0
  56. data/lib/couchrest/validation/validators/formats/email.rb +66 -0
  57. data/lib/couchrest/validation/validators/formats/url.rb +43 -0
  58. data/lib/couchrest/validation/validators/generic_validator.rb +120 -0
  59. data/lib/couchrest/validation/validators/length_validator.rb +134 -0
  60. data/lib/couchrest/validation/validators/method_validator.rb +89 -0
  61. data/lib/couchrest/validation/validators/numeric_validator.rb +104 -0
  62. data/lib/couchrest/validation/validators/required_field_validator.rb +109 -0
  63. data/spec/couchrest/core/couchrest_spec.rb +201 -0
  64. data/spec/couchrest/core/database_spec.rb +700 -0
  65. data/spec/couchrest/core/design_spec.rb +138 -0
  66. data/spec/couchrest/core/document_spec.rb +267 -0
  67. data/spec/couchrest/core/server_spec.rb +35 -0
  68. data/spec/couchrest/helpers/pager_spec.rb +122 -0
  69. data/spec/couchrest/helpers/streamer_spec.rb +23 -0
  70. data/spec/couchrest/more/casted_extended_doc_spec.rb +75 -0
  71. data/spec/couchrest/more/casted_model_spec.rb +177 -0
  72. data/spec/couchrest/more/extended_doc_attachment_spec.rb +135 -0
  73. data/spec/couchrest/more/extended_doc_spec.rb +588 -0
  74. data/spec/couchrest/more/extended_doc_subclass_spec.rb +98 -0
  75. data/spec/couchrest/more/extended_doc_view_spec.rb +426 -0
  76. data/spec/couchrest/more/property_spec.rb +169 -0
  77. data/spec/fixtures/attachments/README +3 -0
  78. data/spec/fixtures/attachments/couchdb.png +0 -0
  79. data/spec/fixtures/attachments/test.html +11 -0
  80. data/spec/fixtures/more/article.rb +34 -0
  81. data/spec/fixtures/more/card.rb +22 -0
  82. data/spec/fixtures/more/cat.rb +18 -0
  83. data/spec/fixtures/more/course.rb +14 -0
  84. data/spec/fixtures/more/event.rb +6 -0
  85. data/spec/fixtures/more/invoice.rb +17 -0
  86. data/spec/fixtures/more/person.rb +8 -0
  87. data/spec/fixtures/more/question.rb +6 -0
  88. data/spec/fixtures/more/service.rb +12 -0
  89. data/spec/fixtures/views/lib.js +3 -0
  90. data/spec/fixtures/views/test_view/lib.js +3 -0
  91. data/spec/fixtures/views/test_view/only-map.js +4 -0
  92. data/spec/fixtures/views/test_view/test-map.js +3 -0
  93. data/spec/fixtures/views/test_view/test-reduce.js +3 -0
  94. data/spec/spec.opts +6 -0
  95. data/spec/spec_helper.rb +37 -0
  96. data/utils/remap.rb +27 -0
  97. data/utils/subset.rb +30 -0
  98. metadata +198 -0
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,198 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: will-couchrest
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.32.1
5
+ platform: ruby
6
+ authors:
7
+ - J. Chris Anderson
8
+ - Matt Aimonetti
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2008-11-22 00:00:00 -08:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rest-client
18
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0.5"
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: mime-types
28
+ type: :runtime
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "1.15"
35
+ version:
36
+ 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.
37
+ email: jchris@apache.org
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files:
43
+ - README.md
44
+ - LICENSE
45
+ - THANKS.md
46
+ files:
47
+ - LICENSE
48
+ - README.md
49
+ - Rakefile
50
+ - THANKS.md
51
+ - history.txt
52
+ - examples/model
53
+ - examples/model/example.rb
54
+ - examples/word_count
55
+ - examples/word_count/markov
56
+ - examples/word_count/views
57
+ - examples/word_count/views/books
58
+ - examples/word_count/views/books/chunked-map.js
59
+ - examples/word_count/views/books/united-map.js
60
+ - examples/word_count/views/markov
61
+ - examples/word_count/views/markov/chain-map.js
62
+ - examples/word_count/views/markov/chain-reduce.js
63
+ - examples/word_count/views/word_count
64
+ - examples/word_count/views/word_count/count-map.js
65
+ - examples/word_count/views/word_count/count-reduce.js
66
+ - examples/word_count/word_count.rb
67
+ - examples/word_count/word_count_query.rb
68
+ - examples/word_count/word_count_views.rb
69
+ - lib/couchrest
70
+ - lib/couchrest/commands
71
+ - lib/couchrest/commands/generate.rb
72
+ - lib/couchrest/commands/push.rb
73
+ - lib/couchrest/core
74
+ - lib/couchrest/core/adapters
75
+ - lib/couchrest/core/adapters/restclient.rb
76
+ - lib/couchrest/core/database.rb
77
+ - lib/couchrest/core/design.rb
78
+ - lib/couchrest/core/document.rb
79
+ - lib/couchrest/core/http_abstraction.rb
80
+ - lib/couchrest/core/response.rb
81
+ - lib/couchrest/core/server.rb
82
+ - lib/couchrest/core/view.rb
83
+ - lib/couchrest/helper
84
+ - lib/couchrest/helper/pager.rb
85
+ - lib/couchrest/helper/streamer.rb
86
+ - lib/couchrest/helper/upgrade.rb
87
+ - lib/couchrest/mixins
88
+ - lib/couchrest/mixins/attachments.rb
89
+ - lib/couchrest/mixins/callbacks.rb
90
+ - lib/couchrest/mixins/class_proxy.rb
91
+ - lib/couchrest/mixins/collection.rb
92
+ - lib/couchrest/mixins/design_doc.rb
93
+ - lib/couchrest/mixins/document_queries.rb
94
+ - lib/couchrest/mixins/extended_attachments.rb
95
+ - lib/couchrest/mixins/extended_document_mixins.rb
96
+ - lib/couchrest/mixins/properties.rb
97
+ - lib/couchrest/mixins/validation.rb
98
+ - lib/couchrest/mixins/views.rb
99
+ - lib/couchrest/mixins.rb
100
+ - lib/couchrest/monkeypatches.rb
101
+ - lib/couchrest/more
102
+ - lib/couchrest/more/casted_model.rb
103
+ - lib/couchrest/more/extended_document.rb
104
+ - lib/couchrest/more/property.rb
105
+ - lib/couchrest/support
106
+ - lib/couchrest/support/blank.rb
107
+ - lib/couchrest/support/class.rb
108
+ - lib/couchrest/support/rails.rb
109
+ - lib/couchrest/validation
110
+ - lib/couchrest/validation/auto_validate.rb
111
+ - lib/couchrest/validation/contextual_validators.rb
112
+ - lib/couchrest/validation/validation_errors.rb
113
+ - lib/couchrest/validation/validators
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
118
+ - lib/couchrest/validation/validators/formats/email.rb
119
+ - lib/couchrest/validation/validators/formats/url.rb
120
+ - lib/couchrest/validation/validators/generic_validator.rb
121
+ - lib/couchrest/validation/validators/length_validator.rb
122
+ - lib/couchrest/validation/validators/method_validator.rb
123
+ - lib/couchrest/validation/validators/numeric_validator.rb
124
+ - lib/couchrest/validation/validators/required_field_validator.rb
125
+ - lib/couchrest.rb
126
+ - spec/couchrest
127
+ - spec/couchrest/core
128
+ - spec/couchrest/core/couchrest_spec.rb
129
+ - spec/couchrest/core/database_spec.rb
130
+ - spec/couchrest/core/design_spec.rb
131
+ - spec/couchrest/core/document_spec.rb
132
+ - spec/couchrest/core/server_spec.rb
133
+ - spec/couchrest/helpers
134
+ - spec/couchrest/helpers/pager_spec.rb
135
+ - spec/couchrest/helpers/streamer_spec.rb
136
+ - spec/couchrest/more
137
+ - spec/couchrest/more/casted_extended_doc_spec.rb
138
+ - spec/couchrest/more/casted_model_spec.rb
139
+ - spec/couchrest/more/extended_doc_attachment_spec.rb
140
+ - spec/couchrest/more/extended_doc_spec.rb
141
+ - spec/couchrest/more/extended_doc_subclass_spec.rb
142
+ - spec/couchrest/more/extended_doc_view_spec.rb
143
+ - spec/couchrest/more/property_spec.rb
144
+ - spec/fixtures
145
+ - spec/fixtures/attachments
146
+ - spec/fixtures/attachments/couchdb.png
147
+ - spec/fixtures/attachments/README
148
+ - spec/fixtures/attachments/test.html
149
+ - spec/fixtures/more
150
+ - spec/fixtures/more/article.rb
151
+ - spec/fixtures/more/card.rb
152
+ - spec/fixtures/more/cat.rb
153
+ - spec/fixtures/more/course.rb
154
+ - spec/fixtures/more/event.rb
155
+ - spec/fixtures/more/invoice.rb
156
+ - spec/fixtures/more/person.rb
157
+ - spec/fixtures/more/question.rb
158
+ - spec/fixtures/more/service.rb
159
+ - spec/fixtures/views
160
+ - spec/fixtures/views/lib.js
161
+ - spec/fixtures/views/test_view
162
+ - spec/fixtures/views/test_view/lib.js
163
+ - spec/fixtures/views/test_view/only-map.js
164
+ - spec/fixtures/views/test_view/test-map.js
165
+ - spec/fixtures/views/test_view/test-reduce.js
166
+ - spec/spec.opts
167
+ - spec/spec_helper.rb
168
+ - utils/remap.rb
169
+ - utils/subset.rb
170
+ has_rdoc: false
171
+ homepage: http://github.com/jchris/couchrest
172
+ licenses:
173
+ post_install_message:
174
+ rdoc_options: []
175
+
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: "0"
183
+ version:
184
+ required_rubygems_version: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: "0"
189
+ version:
190
+ requirements: []
191
+
192
+ rubyforge_project:
193
+ rubygems_version: 1.3.5
194
+ signing_key:
195
+ specification_version: 3
196
+ summary: Lean and RESTful interface to CouchDB.
197
+ test_files: []
198
+