simply_stored 0.3.4 → 0.3.5

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.
@@ -4,7 +4,7 @@ require File.expand_path(File.dirname(__FILE__) + '/simply_stored/storage')
4
4
  require File.expand_path(File.dirname(__FILE__) + '/simply_stored/class_methods_base')
5
5
 
6
6
  module SimplyStored
7
- VERSION = '0.3.4'
7
+ VERSION = '0.3.5'
8
8
  class Error < RuntimeError; end
9
9
  class RecordNotFound < RuntimeError; end
10
- end
10
+ end
@@ -62,7 +62,9 @@ module SimplyStored
62
62
 
63
63
  def validates_uniqueness_of(*args)
64
64
  args.each do |name|
65
- view "by_#{name}", :key => name
65
+ if not respond_to?("by_#{name}")
66
+ view "by_#{name}", :key => name
67
+ end
66
68
  end
67
69
 
68
70
  add_validations(args, ValidatesUniquenessOf)
@@ -71,4 +73,4 @@ module SimplyStored
71
73
  end
72
74
  end
73
75
 
74
-
76
+
@@ -87,6 +87,14 @@ class UniqueUser
87
87
  validates_uniqueness_of :name
88
88
  end
89
89
 
90
+ class UniqueUserWithAView
91
+ include SimplyStored::Couch
92
+
93
+ view :by_name, :key => :email
94
+ property :name
95
+ validates_uniqueness_of :name
96
+ end
97
+
90
98
  class CountMe
91
99
  include SimplyStored::Couch
92
100
 
@@ -199,4 +207,4 @@ class Servant
199
207
  include SimplyStored::Couch
200
208
 
201
209
  belongs_to :master
202
- end
210
+ end
@@ -1238,6 +1238,15 @@ class CouchTest < Test::Unit::TestCase
1238
1238
  user = UniqueUser.create(:name => "Host Master")
1239
1239
  assert_equal "Name is already taken", user.errors.on(:name)
1240
1240
  end
1241
+
1242
+ should 'create a view to check with' do
1243
+ assert UniqueUser.respond_to?(:by_name)
1244
+ assert_equal :name, UniqueUser.by_name.send(:options)[:key]
1245
+ end
1246
+
1247
+ should 'not overwrite the view when a custom one already exists' do
1248
+ assert_equal :email, UniqueUserWithAView.by_name.send(:options)[:key]
1249
+ end
1241
1250
  end
1242
1251
  end
1243
1252
 
@@ -4,7 +4,8 @@ require 'shoulda'
4
4
  require 'mocha'
5
5
  require 'active_support'
6
6
  require 'active_support/testing/assertions'
7
-
7
+ $:.unshift(File.expand_path(File.dirname(__FILE__) + "/../lib"))
8
+ puts File.expand_path(File.dirname(__FILE__) + "/lib")
8
9
  require 'simply_stored/couch'
9
10
  require 'simply_stored/simpledb'
10
11
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simply_stored
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 25
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 3
8
- - 4
9
- version: 0.3.4
9
+ - 5
10
+ version: 0.3.5
10
11
  platform: ruby
11
12
  authors:
12
13
  - Mathias Meyer, Jonathan Weiss
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-06-17 00:00:00 +02:00
18
+ date: 2010-07-15 00:00:00 +02:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: rest-client
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 3
27
30
  segments:
28
31
  - 1
29
32
  - 4
@@ -35,9 +38,11 @@ dependencies:
35
38
  name: couch_potato
36
39
  prerelease: false
37
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
38
42
  requirements:
39
43
  - - ">="
40
44
  - !ruby/object:Gem::Version
45
+ hash: 9
41
46
  segments:
42
47
  - 0
43
48
  - 2
@@ -49,9 +54,11 @@ dependencies:
49
54
  name: activesupport
50
55
  prerelease: false
51
56
  requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
52
58
  requirements:
53
59
  - - ">="
54
60
  - !ruby/object:Gem::Version
61
+ hash: 3
55
62
  segments:
56
63
  - 0
57
64
  version: "0"
@@ -61,9 +68,11 @@ dependencies:
61
68
  name: mattmatt-validatable
62
69
  prerelease: false
63
70
  requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
64
72
  requirements:
65
73
  - - ">="
66
74
  - !ruby/object:Gem::Version
75
+ hash: 3
67
76
  segments:
68
77
  - 0
69
78
  version: "0"
@@ -102,6 +111,109 @@ files:
102
111
  - lib/simply_stored/simpledb/storag.rb
103
112
  - lib/simply_stored/simpledb/validations.rb
104
113
  - lib/simply_stored/storage.rb
114
+ - test/custom_views_test.rb
115
+ - test/fixtures/couch.rb
116
+ - test/fixtures/simpledb/item.rb
117
+ - test/fixtures/simpledb/item_daddy.rb
118
+ - test/fixtures/simpledb/log_item.rb
119
+ - test/fixtures/simpledb/namespace_bar.rb
120
+ - test/fixtures/simpledb/namespace_foo.rb
121
+ - test/fixtures/simpledb/protected_item.rb
122
+ - test/simply_stored_couch_test.rb
123
+ - test/simply_stored_simpledb_test.rb
124
+ - test/test_helper.rb
125
+ - test/vendor/dhaka-2.2.1/lib/dhaka/dot/dot.rb
126
+ - test/vendor/dhaka-2.2.1/lib/dhaka/evaluator/evaluator.rb
127
+ - test/vendor/dhaka-2.2.1/lib/dhaka/grammar/closure_hash.rb
128
+ - test/vendor/dhaka-2.2.1/lib/dhaka/grammar/grammar.rb
129
+ - test/vendor/dhaka-2.2.1/lib/dhaka/grammar/grammar_symbol.rb
130
+ - test/vendor/dhaka-2.2.1/lib/dhaka/grammar/precedence.rb
131
+ - test/vendor/dhaka-2.2.1/lib/dhaka/grammar/production.rb
132
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/accept_actions.rb
133
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/alphabet.rb
134
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/compiled_lexer.rb
135
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/dfa.rb
136
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexeme.rb
137
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexer.rb
138
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexer_run.rb
139
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_grammar.rb
140
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_parser.rb
141
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_tokenizer.rb
142
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/specification.rb
143
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/state.rb
144
+ - test/vendor/dhaka-2.2.1/lib/dhaka/lexer/state_machine.rb
145
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/action.rb
146
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/channel.rb
147
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/compiled_parser.rb
148
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/conflict.rb
149
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/item.rb
150
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/parse_result.rb
151
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/parse_tree.rb
152
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser.rb
153
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_methods.rb
154
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_run.rb
155
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_state.rb
156
+ - test/vendor/dhaka-2.2.1/lib/dhaka/parser/token.rb
157
+ - test/vendor/dhaka-2.2.1/lib/dhaka/runtime.rb
158
+ - test/vendor/dhaka-2.2.1/lib/dhaka/tokenizer/tokenizer.rb
159
+ - test/vendor/dhaka-2.2.1/lib/dhaka.rb
160
+ - test/vendor/dhaka-2.2.1/test/all_tests.rb
161
+ - test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_evaluator.rb
162
+ - test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_evaluator_test.rb
163
+ - test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_grammar.rb
164
+ - test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_grammar_test.rb
165
+ - test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_test_methods.rb
166
+ - test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_tokenizer.rb
167
+ - test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_tokenizer_test.rb
168
+ - test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_evaluator.rb
169
+ - test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_grammar.rb
170
+ - test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_grammar_test.rb
171
+ - test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_lexer_specification.rb
172
+ - test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_parser_test.rb
173
+ - test/vendor/dhaka-2.2.1/test/brackets/bracket_grammar.rb
174
+ - test/vendor/dhaka-2.2.1/test/brackets/bracket_tokenizer.rb
175
+ - test/vendor/dhaka-2.2.1/test/brackets/brackets_test.rb
176
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_driver.rb
177
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_driver_test.rb
178
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_evaluator.rb
179
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_evaluator_test.rb
180
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_grammar.rb
181
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer.rb
182
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer_specification.rb
183
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer_test.rb
184
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_parser.rb
185
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_parser_test.rb
186
+ - test/vendor/dhaka-2.2.1/test/chittagong/chittagong_test.rb
187
+ - test/vendor/dhaka-2.2.1/test/core/another_lalr_but_not_slr_grammar.rb
188
+ - test/vendor/dhaka-2.2.1/test/core/compiled_parser_test.rb
189
+ - test/vendor/dhaka-2.2.1/test/core/dfa_test.rb
190
+ - test/vendor/dhaka-2.2.1/test/core/evaluator_test.rb
191
+ - test/vendor/dhaka-2.2.1/test/core/grammar_test.rb
192
+ - test/vendor/dhaka-2.2.1/test/core/lalr_but_not_slr_grammar.rb
193
+ - test/vendor/dhaka-2.2.1/test/core/lexer_test.rb
194
+ - test/vendor/dhaka-2.2.1/test/core/malformed_grammar.rb
195
+ - test/vendor/dhaka-2.2.1/test/core/malformed_grammar_test.rb
196
+ - test/vendor/dhaka-2.2.1/test/core/nullable_grammar.rb
197
+ - test/vendor/dhaka-2.2.1/test/core/parse_result_test.rb
198
+ - test/vendor/dhaka-2.2.1/test/core/parser_state_test.rb
199
+ - test/vendor/dhaka-2.2.1/test/core/parser_test.rb
200
+ - test/vendor/dhaka-2.2.1/test/core/precedence_grammar.rb
201
+ - test/vendor/dhaka-2.2.1/test/core/precedence_grammar_test.rb
202
+ - test/vendor/dhaka-2.2.1/test/core/rr_conflict_grammar.rb
203
+ - test/vendor/dhaka-2.2.1/test/core/simple_grammar.rb
204
+ - test/vendor/dhaka-2.2.1/test/core/sr_conflict_grammar.rb
205
+ - test/vendor/dhaka-2.2.1/test/dhaka_test_helper.rb
206
+ - test/vendor/dhaka-2.2.1/test/fake_logger.rb
207
+ - test/vendor/simplerdb-0.2/lib/simplerdb/client_exception.rb
208
+ - test/vendor/simplerdb-0.2/lib/simplerdb/db.rb
209
+ - test/vendor/simplerdb-0.2/lib/simplerdb/query_language.rb
210
+ - test/vendor/simplerdb-0.2/lib/simplerdb/server.rb
211
+ - test/vendor/simplerdb-0.2/lib/simplerdb/servlet.rb
212
+ - test/vendor/simplerdb-0.2/lib/simplerdb.rb
213
+ - test/vendor/simplerdb-0.2/test/functional_test.rb
214
+ - test/vendor/simplerdb-0.2/test/query_evaluator_test.rb
215
+ - test/vendor/simplerdb-0.2/test/query_parser_test.rb
216
+ - test/vendor/simplerdb-0.2/test/simplerdb_test.rb
105
217
  has_rdoc: true
106
218
  homepage: http://github.com/peritor/simply_stored
107
219
  licenses: []
@@ -112,23 +224,27 @@ rdoc_options:
112
224
  require_paths:
113
225
  - lib
114
226
  required_ruby_version: !ruby/object:Gem::Requirement
227
+ none: false
115
228
  requirements:
116
229
  - - ">="
117
230
  - !ruby/object:Gem::Version
231
+ hash: 3
118
232
  segments:
119
233
  - 0
120
234
  version: "0"
121
235
  required_rubygems_version: !ruby/object:Gem::Requirement
236
+ none: false
122
237
  requirements:
123
238
  - - ">="
124
239
  - !ruby/object:Gem::Version
240
+ hash: 3
125
241
  segments:
126
242
  - 0
127
243
  version: "0"
128
244
  requirements: []
129
245
 
130
246
  rubyforge_project:
131
- rubygems_version: 1.3.6
247
+ rubygems_version: 1.3.7
132
248
  signing_key:
133
249
  specification_version: 3
134
250
  summary: Convenience layer for CouchDB and SimpleDB