openlogic-couchrest_model 1.0.0

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 (107) hide show
  1. data/.gitignore +11 -0
  2. data/.rspec +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +176 -0
  5. data/README.md +137 -0
  6. data/Rakefile +38 -0
  7. data/THANKS.md +21 -0
  8. data/VERSION +1 -0
  9. data/benchmarks/dirty.rb +118 -0
  10. data/couchrest_model.gemspec +36 -0
  11. data/history.md +309 -0
  12. data/init.rb +1 -0
  13. data/lib/couchrest/model.rb +10 -0
  14. data/lib/couchrest/model/associations.rb +231 -0
  15. data/lib/couchrest/model/base.rb +129 -0
  16. data/lib/couchrest/model/callbacks.rb +28 -0
  17. data/lib/couchrest/model/casted_array.rb +83 -0
  18. data/lib/couchrest/model/casted_by.rb +33 -0
  19. data/lib/couchrest/model/casted_hash.rb +84 -0
  20. data/lib/couchrest/model/class_proxy.rb +135 -0
  21. data/lib/couchrest/model/collection.rb +273 -0
  22. data/lib/couchrest/model/configuration.rb +67 -0
  23. data/lib/couchrest/model/connection.rb +70 -0
  24. data/lib/couchrest/model/core_extensions/hash.rb +9 -0
  25. data/lib/couchrest/model/core_extensions/time_parsing.rb +66 -0
  26. data/lib/couchrest/model/design_doc.rb +128 -0
  27. data/lib/couchrest/model/designs.rb +91 -0
  28. data/lib/couchrest/model/designs/view.rb +513 -0
  29. data/lib/couchrest/model/dirty.rb +39 -0
  30. data/lib/couchrest/model/document_queries.rb +99 -0
  31. data/lib/couchrest/model/embeddable.rb +78 -0
  32. data/lib/couchrest/model/errors.rb +25 -0
  33. data/lib/couchrest/model/extended_attachments.rb +83 -0
  34. data/lib/couchrest/model/persistence.rb +178 -0
  35. data/lib/couchrest/model/properties.rb +228 -0
  36. data/lib/couchrest/model/property.rb +114 -0
  37. data/lib/couchrest/model/property_protection.rb +71 -0
  38. data/lib/couchrest/model/proxyable.rb +183 -0
  39. data/lib/couchrest/model/support/couchrest_database.rb +13 -0
  40. data/lib/couchrest/model/support/couchrest_design.rb +33 -0
  41. data/lib/couchrest/model/typecast.rb +154 -0
  42. data/lib/couchrest/model/validations.rb +80 -0
  43. data/lib/couchrest/model/validations/casted_model.rb +16 -0
  44. data/lib/couchrest/model/validations/locale/en.yml +5 -0
  45. data/lib/couchrest/model/validations/uniqueness.rb +69 -0
  46. data/lib/couchrest/model/views.rb +151 -0
  47. data/lib/couchrest/railtie.rb +24 -0
  48. data/lib/couchrest_model.rb +66 -0
  49. data/lib/rails/generators/couchrest_model.rb +16 -0
  50. data/lib/rails/generators/couchrest_model/config/config_generator.rb +18 -0
  51. data/lib/rails/generators/couchrest_model/config/templates/couchdb.yml +21 -0
  52. data/lib/rails/generators/couchrest_model/model/model_generator.rb +27 -0
  53. data/lib/rails/generators/couchrest_model/model/templates/model.rb +2 -0
  54. data/spec/.gitignore +1 -0
  55. data/spec/fixtures/attachments/README +3 -0
  56. data/spec/fixtures/attachments/couchdb.png +0 -0
  57. data/spec/fixtures/attachments/test.html +11 -0
  58. data/spec/fixtures/config/couchdb.yml +10 -0
  59. data/spec/fixtures/models/article.rb +36 -0
  60. data/spec/fixtures/models/base.rb +164 -0
  61. data/spec/fixtures/models/card.rb +19 -0
  62. data/spec/fixtures/models/cat.rb +23 -0
  63. data/spec/fixtures/models/client.rb +6 -0
  64. data/spec/fixtures/models/course.rb +27 -0
  65. data/spec/fixtures/models/event.rb +8 -0
  66. data/spec/fixtures/models/invoice.rb +14 -0
  67. data/spec/fixtures/models/key_chain.rb +5 -0
  68. data/spec/fixtures/models/membership.rb +4 -0
  69. data/spec/fixtures/models/person.rb +11 -0
  70. data/spec/fixtures/models/project.rb +6 -0
  71. data/spec/fixtures/models/question.rb +7 -0
  72. data/spec/fixtures/models/sale_entry.rb +9 -0
  73. data/spec/fixtures/models/sale_invoice.rb +14 -0
  74. data/spec/fixtures/models/service.rb +10 -0
  75. data/spec/fixtures/models/user.rb +22 -0
  76. data/spec/fixtures/views/lib.js +3 -0
  77. data/spec/fixtures/views/test_view/lib.js +3 -0
  78. data/spec/fixtures/views/test_view/only-map.js +4 -0
  79. data/spec/fixtures/views/test_view/test-map.js +3 -0
  80. data/spec/fixtures/views/test_view/test-reduce.js +3 -0
  81. data/spec/functional/validations_spec.rb +8 -0
  82. data/spec/spec_helper.rb +60 -0
  83. data/spec/unit/active_model_lint_spec.rb +30 -0
  84. data/spec/unit/assocations_spec.rb +242 -0
  85. data/spec/unit/attachment_spec.rb +176 -0
  86. data/spec/unit/base_spec.rb +537 -0
  87. data/spec/unit/casted_spec.rb +72 -0
  88. data/spec/unit/class_proxy_spec.rb +167 -0
  89. data/spec/unit/collection_spec.rb +86 -0
  90. data/spec/unit/configuration_spec.rb +77 -0
  91. data/spec/unit/connection_spec.rb +148 -0
  92. data/spec/unit/core_extensions/time_parsing.rb +77 -0
  93. data/spec/unit/design_doc_spec.rb +241 -0
  94. data/spec/unit/designs/view_spec.rb +831 -0
  95. data/spec/unit/designs_spec.rb +134 -0
  96. data/spec/unit/dirty_spec.rb +436 -0
  97. data/spec/unit/embeddable_spec.rb +498 -0
  98. data/spec/unit/inherited_spec.rb +33 -0
  99. data/spec/unit/persistence_spec.rb +481 -0
  100. data/spec/unit/property_protection_spec.rb +192 -0
  101. data/spec/unit/property_spec.rb +481 -0
  102. data/spec/unit/proxyable_spec.rb +376 -0
  103. data/spec/unit/subclass_spec.rb +85 -0
  104. data/spec/unit/typecast_spec.rb +521 -0
  105. data/spec/unit/validations_spec.rb +140 -0
  106. data/spec/unit/view_spec.rb +367 -0
  107. metadata +301 -0
metadata ADDED
@@ -0,0 +1,301 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: openlogic-couchrest_model
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - J. Chris Anderson
9
+ - Matt Aimonetti
10
+ - Marcos Tapajos
11
+ - Will Leinweber
12
+ - Sam Lown
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+ date: 2011-12-01 00:00:00.000000000 -07:00
17
+ default_executable:
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: couchrest
21
+ requirement: &2161356740 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 1.1.2
27
+ type: :runtime
28
+ prerelease: false
29
+ version_requirements: *2161356740
30
+ - !ruby/object:Gem::Dependency
31
+ name: mime-types
32
+ requirement: &2161356120 !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '1.15'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: *2161356120
41
+ - !ruby/object:Gem::Dependency
42
+ name: activemodel
43
+ requirement: &2161355580 !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '3.0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: *2161355580
52
+ - !ruby/object:Gem::Dependency
53
+ name: tzinfo
54
+ requirement: &2161355100 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ version: 0.3.22
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: *2161355100
63
+ - !ruby/object:Gem::Dependency
64
+ name: rspec
65
+ requirement: &2161354640 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: 2.6.0
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: *2161354640
74
+ - !ruby/object:Gem::Dependency
75
+ name: json
76
+ requirement: &2161354160 !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ~>
80
+ - !ruby/object:Gem::Version
81
+ version: 1.5.1
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: *2161354160
85
+ - !ruby/object:Gem::Dependency
86
+ name: rack-test
87
+ requirement: &2161353680 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: 0.5.7
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: *2161353680
96
+ - !ruby/object:Gem::Dependency
97
+ name: rake
98
+ requirement: &2161353220 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: 0.8.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: *2161353220
107
+ description: CouchRest Model provides aditional features to the standard CouchRest
108
+ Document class such as properties, view designs, associations, callbacks, typecasting
109
+ and validations.
110
+ email: jchris@apache.org
111
+ executables: []
112
+ extensions: []
113
+ extra_rdoc_files:
114
+ - LICENSE
115
+ - README.md
116
+ - THANKS.md
117
+ files:
118
+ - .gitignore
119
+ - .rspec
120
+ - Gemfile
121
+ - LICENSE
122
+ - README.md
123
+ - Rakefile
124
+ - THANKS.md
125
+ - VERSION
126
+ - benchmarks/dirty.rb
127
+ - couchrest_model.gemspec
128
+ - history.md
129
+ - init.rb
130
+ - lib/couchrest/model.rb
131
+ - lib/couchrest/model/associations.rb
132
+ - lib/couchrest/model/base.rb
133
+ - lib/couchrest/model/callbacks.rb
134
+ - lib/couchrest/model/casted_array.rb
135
+ - lib/couchrest/model/casted_by.rb
136
+ - lib/couchrest/model/casted_hash.rb
137
+ - lib/couchrest/model/class_proxy.rb
138
+ - lib/couchrest/model/collection.rb
139
+ - lib/couchrest/model/configuration.rb
140
+ - lib/couchrest/model/connection.rb
141
+ - lib/couchrest/model/core_extensions/hash.rb
142
+ - lib/couchrest/model/core_extensions/time_parsing.rb
143
+ - lib/couchrest/model/design_doc.rb
144
+ - lib/couchrest/model/designs.rb
145
+ - lib/couchrest/model/designs/view.rb
146
+ - lib/couchrest/model/dirty.rb
147
+ - lib/couchrest/model/document_queries.rb
148
+ - lib/couchrest/model/embeddable.rb
149
+ - lib/couchrest/model/errors.rb
150
+ - lib/couchrest/model/extended_attachments.rb
151
+ - lib/couchrest/model/persistence.rb
152
+ - lib/couchrest/model/properties.rb
153
+ - lib/couchrest/model/property.rb
154
+ - lib/couchrest/model/property_protection.rb
155
+ - lib/couchrest/model/proxyable.rb
156
+ - lib/couchrest/model/support/couchrest_database.rb
157
+ - lib/couchrest/model/support/couchrest_design.rb
158
+ - lib/couchrest/model/typecast.rb
159
+ - lib/couchrest/model/validations.rb
160
+ - lib/couchrest/model/validations/casted_model.rb
161
+ - lib/couchrest/model/validations/locale/en.yml
162
+ - lib/couchrest/model/validations/uniqueness.rb
163
+ - lib/couchrest/model/views.rb
164
+ - lib/couchrest/railtie.rb
165
+ - lib/couchrest_model.rb
166
+ - lib/rails/generators/couchrest_model.rb
167
+ - lib/rails/generators/couchrest_model/config/config_generator.rb
168
+ - lib/rails/generators/couchrest_model/config/templates/couchdb.yml
169
+ - lib/rails/generators/couchrest_model/model/model_generator.rb
170
+ - lib/rails/generators/couchrest_model/model/templates/model.rb
171
+ - spec/.gitignore
172
+ - spec/fixtures/attachments/README
173
+ - spec/fixtures/attachments/couchdb.png
174
+ - spec/fixtures/attachments/test.html
175
+ - spec/fixtures/config/couchdb.yml
176
+ - spec/fixtures/models/article.rb
177
+ - spec/fixtures/models/base.rb
178
+ - spec/fixtures/models/card.rb
179
+ - spec/fixtures/models/cat.rb
180
+ - spec/fixtures/models/client.rb
181
+ - spec/fixtures/models/course.rb
182
+ - spec/fixtures/models/event.rb
183
+ - spec/fixtures/models/invoice.rb
184
+ - spec/fixtures/models/key_chain.rb
185
+ - spec/fixtures/models/membership.rb
186
+ - spec/fixtures/models/person.rb
187
+ - spec/fixtures/models/project.rb
188
+ - spec/fixtures/models/question.rb
189
+ - spec/fixtures/models/sale_entry.rb
190
+ - spec/fixtures/models/sale_invoice.rb
191
+ - spec/fixtures/models/service.rb
192
+ - spec/fixtures/models/user.rb
193
+ - spec/fixtures/views/lib.js
194
+ - spec/fixtures/views/test_view/lib.js
195
+ - spec/fixtures/views/test_view/only-map.js
196
+ - spec/fixtures/views/test_view/test-map.js
197
+ - spec/fixtures/views/test_view/test-reduce.js
198
+ - spec/functional/validations_spec.rb
199
+ - spec/spec_helper.rb
200
+ - spec/unit/active_model_lint_spec.rb
201
+ - spec/unit/assocations_spec.rb
202
+ - spec/unit/attachment_spec.rb
203
+ - spec/unit/base_spec.rb
204
+ - spec/unit/casted_spec.rb
205
+ - spec/unit/class_proxy_spec.rb
206
+ - spec/unit/collection_spec.rb
207
+ - spec/unit/configuration_spec.rb
208
+ - spec/unit/connection_spec.rb
209
+ - spec/unit/core_extensions/time_parsing.rb
210
+ - spec/unit/design_doc_spec.rb
211
+ - spec/unit/designs/view_spec.rb
212
+ - spec/unit/designs_spec.rb
213
+ - spec/unit/dirty_spec.rb
214
+ - spec/unit/embeddable_spec.rb
215
+ - spec/unit/inherited_spec.rb
216
+ - spec/unit/persistence_spec.rb
217
+ - spec/unit/property_protection_spec.rb
218
+ - spec/unit/property_spec.rb
219
+ - spec/unit/proxyable_spec.rb
220
+ - spec/unit/subclass_spec.rb
221
+ - spec/unit/typecast_spec.rb
222
+ - spec/unit/validations_spec.rb
223
+ - spec/unit/view_spec.rb
224
+ has_rdoc: true
225
+ homepage: http://github.com/couchrest/couchrest_model
226
+ licenses: []
227
+ post_install_message:
228
+ rdoc_options: []
229
+ require_paths:
230
+ - lib
231
+ required_ruby_version: !ruby/object:Gem::Requirement
232
+ none: false
233
+ requirements:
234
+ - - ! '>='
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ required_rubygems_version: !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ! '>'
241
+ - !ruby/object:Gem::Version
242
+ version: 1.3.1
243
+ requirements: []
244
+ rubyforge_project:
245
+ rubygems_version: 1.6.2
246
+ signing_key:
247
+ specification_version: 3
248
+ summary: Extends the CouchRest Document for advanced modelling.
249
+ test_files:
250
+ - spec/fixtures/attachments/README
251
+ - spec/fixtures/attachments/couchdb.png
252
+ - spec/fixtures/attachments/test.html
253
+ - spec/fixtures/config/couchdb.yml
254
+ - spec/fixtures/models/article.rb
255
+ - spec/fixtures/models/base.rb
256
+ - spec/fixtures/models/card.rb
257
+ - spec/fixtures/models/cat.rb
258
+ - spec/fixtures/models/client.rb
259
+ - spec/fixtures/models/course.rb
260
+ - spec/fixtures/models/event.rb
261
+ - spec/fixtures/models/invoice.rb
262
+ - spec/fixtures/models/key_chain.rb
263
+ - spec/fixtures/models/membership.rb
264
+ - spec/fixtures/models/person.rb
265
+ - spec/fixtures/models/project.rb
266
+ - spec/fixtures/models/question.rb
267
+ - spec/fixtures/models/sale_entry.rb
268
+ - spec/fixtures/models/sale_invoice.rb
269
+ - spec/fixtures/models/service.rb
270
+ - spec/fixtures/models/user.rb
271
+ - spec/fixtures/views/lib.js
272
+ - spec/fixtures/views/test_view/lib.js
273
+ - spec/fixtures/views/test_view/only-map.js
274
+ - spec/fixtures/views/test_view/test-map.js
275
+ - spec/fixtures/views/test_view/test-reduce.js
276
+ - spec/functional/validations_spec.rb
277
+ - spec/spec_helper.rb
278
+ - spec/unit/active_model_lint_spec.rb
279
+ - spec/unit/assocations_spec.rb
280
+ - spec/unit/attachment_spec.rb
281
+ - spec/unit/base_spec.rb
282
+ - spec/unit/casted_spec.rb
283
+ - spec/unit/class_proxy_spec.rb
284
+ - spec/unit/collection_spec.rb
285
+ - spec/unit/configuration_spec.rb
286
+ - spec/unit/connection_spec.rb
287
+ - spec/unit/core_extensions/time_parsing.rb
288
+ - spec/unit/design_doc_spec.rb
289
+ - spec/unit/designs/view_spec.rb
290
+ - spec/unit/designs_spec.rb
291
+ - spec/unit/dirty_spec.rb
292
+ - spec/unit/embeddable_spec.rb
293
+ - spec/unit/inherited_spec.rb
294
+ - spec/unit/persistence_spec.rb
295
+ - spec/unit/property_protection_spec.rb
296
+ - spec/unit/property_spec.rb
297
+ - spec/unit/proxyable_spec.rb
298
+ - spec/unit/subclass_spec.rb
299
+ - spec/unit/typecast_spec.rb
300
+ - spec/unit/validations_spec.rb
301
+ - spec/unit/view_spec.rb