simply_stored 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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