simply_stored 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/simply_stored/class_methods_base.rb +31 -0
- data/lib/simply_stored/couch/belongs_to.rb +117 -0
- data/lib/simply_stored/couch/ext/couch_potato.rb +16 -0
- data/lib/simply_stored/couch/has_many.rb +148 -0
- data/lib/simply_stored/couch/has_one.rb +93 -0
- data/lib/simply_stored/couch/validations.rb +74 -0
- data/lib/simply_stored/couch/views/array_property_view_spec.rb +22 -0
- data/lib/simply_stored/couch/views.rb +1 -0
- data/lib/simply_stored/couch.rb +278 -0
- data/lib/simply_stored/instance_methods.rb +143 -0
- data/lib/simply_stored/simpledb/associations.rb +196 -0
- data/lib/simply_stored/simpledb/attributes.rb +173 -0
- data/lib/simply_stored/simpledb/storag.rb +85 -0
- data/lib/simply_stored/simpledb/validations.rb +88 -0
- data/lib/simply_stored/simpledb.rb +212 -0
- data/lib/simply_stored/storage.rb +93 -0
- data/lib/simply_stored.rb +9 -0
- data/test/custom_views_test.rb +33 -0
- data/test/fixtures/couch.rb +182 -0
- data/test/fixtures/simpledb/item.rb +11 -0
- data/test/fixtures/simpledb/item_daddy.rb +8 -0
- data/test/fixtures/simpledb/log_item.rb +3 -0
- data/test/fixtures/simpledb/namespace_bar.rb +5 -0
- data/test/fixtures/simpledb/namespace_foo.rb +7 -0
- data/test/fixtures/simpledb/protected_item.rb +3 -0
- data/test/simply_stored_couch_test.rb +1684 -0
- data/test/simply_stored_simpledb_test.rb +1341 -0
- data/test/test_helper.rb +22 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/dot/dot.rb +29 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/evaluator/evaluator.rb +133 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/closure_hash.rb +15 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/grammar.rb +240 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/grammar_symbol.rb +27 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/precedence.rb +19 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/production.rb +36 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/accept_actions.rb +36 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/alphabet.rb +21 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/compiled_lexer.rb +46 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/dfa.rb +121 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexeme.rb +32 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexer.rb +70 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexer_run.rb +78 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_grammar.rb +392 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_parser.rb +2010 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_tokenizer.rb +14 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/specification.rb +96 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/state.rb +68 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/state_machine.rb +37 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/action.rb +55 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/channel.rb +58 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/compiled_parser.rb +51 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/conflict.rb +54 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/item.rb +42 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parse_result.rb +50 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parse_tree.rb +66 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser.rb +165 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_methods.rb +11 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_run.rb +39 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_state.rb +74 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/token.rb +22 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/runtime.rb +51 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka/tokenizer/tokenizer.rb +190 -0
- data/test/vendor/dhaka-2.2.1/lib/dhaka.rb +62 -0
- data/test/vendor/dhaka-2.2.1/test/all_tests.rb +5 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_evaluator.rb +64 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_evaluator_test.rb +43 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_grammar.rb +41 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_grammar_test.rb +9 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_test_methods.rb +9 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_tokenizer.rb +39 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_tokenizer_test.rb +38 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_evaluator.rb +43 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_grammar.rb +24 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_grammar_test.rb +30 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_lexer_specification.rb +23 -0
- data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_parser_test.rb +33 -0
- data/test/vendor/dhaka-2.2.1/test/brackets/bracket_grammar.rb +23 -0
- data/test/vendor/dhaka-2.2.1/test/brackets/bracket_tokenizer.rb +22 -0
- data/test/vendor/dhaka-2.2.1/test/brackets/brackets_test.rb +28 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_driver.rb +46 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_driver_test.rb +276 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_evaluator.rb +284 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_evaluator_test.rb +38 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_grammar.rb +104 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer.rb +109 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer_specification.rb +37 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer_test.rb +58 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_parser.rb +879 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_parser_test.rb +55 -0
- data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_test.rb +170 -0
- data/test/vendor/dhaka-2.2.1/test/core/another_lalr_but_not_slr_grammar.rb +20 -0
- data/test/vendor/dhaka-2.2.1/test/core/compiled_parser_test.rb +44 -0
- data/test/vendor/dhaka-2.2.1/test/core/dfa_test.rb +170 -0
- data/test/vendor/dhaka-2.2.1/test/core/evaluator_test.rb +22 -0
- data/test/vendor/dhaka-2.2.1/test/core/grammar_test.rb +83 -0
- data/test/vendor/dhaka-2.2.1/test/core/lalr_but_not_slr_grammar.rb +19 -0
- data/test/vendor/dhaka-2.2.1/test/core/lexer_test.rb +139 -0
- data/test/vendor/dhaka-2.2.1/test/core/malformed_grammar.rb +7 -0
- data/test/vendor/dhaka-2.2.1/test/core/malformed_grammar_test.rb +8 -0
- data/test/vendor/dhaka-2.2.1/test/core/nullable_grammar.rb +21 -0
- data/test/vendor/dhaka-2.2.1/test/core/parse_result_test.rb +44 -0
- data/test/vendor/dhaka-2.2.1/test/core/parser_state_test.rb +24 -0
- data/test/vendor/dhaka-2.2.1/test/core/parser_test.rb +131 -0
- data/test/vendor/dhaka-2.2.1/test/core/precedence_grammar.rb +17 -0
- data/test/vendor/dhaka-2.2.1/test/core/precedence_grammar_test.rb +9 -0
- data/test/vendor/dhaka-2.2.1/test/core/rr_conflict_grammar.rb +21 -0
- data/test/vendor/dhaka-2.2.1/test/core/simple_grammar.rb +22 -0
- data/test/vendor/dhaka-2.2.1/test/core/sr_conflict_grammar.rb +16 -0
- data/test/vendor/dhaka-2.2.1/test/dhaka_test_helper.rb +17 -0
- data/test/vendor/dhaka-2.2.1/test/fake_logger.rb +17 -0
- data/test/vendor/simplerdb-0.2/lib/simplerdb/client_exception.rb +10 -0
- data/test/vendor/simplerdb-0.2/lib/simplerdb/db.rb +146 -0
- data/test/vendor/simplerdb-0.2/lib/simplerdb/query_language.rb +266 -0
- data/test/vendor/simplerdb-0.2/lib/simplerdb/server.rb +33 -0
- data/test/vendor/simplerdb-0.2/lib/simplerdb/servlet.rb +191 -0
- data/test/vendor/simplerdb-0.2/lib/simplerdb.rb +3 -0
- data/test/vendor/simplerdb-0.2/test/functional_test.rb +81 -0
- data/test/vendor/simplerdb-0.2/test/query_evaluator_test.rb +73 -0
- data/test/vendor/simplerdb-0.2/test/query_parser_test.rb +64 -0
- data/test/vendor/simplerdb-0.2/test/simplerdb_test.rb +80 -0
- metadata +182 -0
@@ -0,0 +1,182 @@
|
|
1
|
+
class User
|
2
|
+
include SimplyStored::Couch
|
3
|
+
validates_presence_of :title
|
4
|
+
|
5
|
+
property :name
|
6
|
+
property :title
|
7
|
+
property :homepage
|
8
|
+
|
9
|
+
has_many :posts
|
10
|
+
has_many :strict_posts
|
11
|
+
has_many :hemorrhoids
|
12
|
+
has_many :pains, :through => :hemorrhoids
|
13
|
+
|
14
|
+
view :by_name_and_created_at, :key => [:name, :created_at]
|
15
|
+
end
|
16
|
+
|
17
|
+
class Post
|
18
|
+
include SimplyStored::Couch
|
19
|
+
|
20
|
+
belongs_to :user
|
21
|
+
end
|
22
|
+
|
23
|
+
class StrictPost
|
24
|
+
include SimplyStored::Couch
|
25
|
+
|
26
|
+
belongs_to :user
|
27
|
+
|
28
|
+
validates_presence_of :user
|
29
|
+
end
|
30
|
+
|
31
|
+
class Comment
|
32
|
+
include SimplyStored::Couch
|
33
|
+
|
34
|
+
belongs_to :user
|
35
|
+
end
|
36
|
+
|
37
|
+
class Category
|
38
|
+
include SimplyStored::Couch
|
39
|
+
|
40
|
+
property :name
|
41
|
+
property :alias
|
42
|
+
property :parent
|
43
|
+
|
44
|
+
validates_inclusion_of :name, :in => ["food", "drinks", "party"], :allow_blank => true
|
45
|
+
end
|
46
|
+
|
47
|
+
class Tag
|
48
|
+
include SimplyStored::Couch
|
49
|
+
|
50
|
+
belongs_to :category
|
51
|
+
property :name
|
52
|
+
end
|
53
|
+
|
54
|
+
class Instance
|
55
|
+
include SimplyStored::Couch
|
56
|
+
has_one :identity
|
57
|
+
end
|
58
|
+
|
59
|
+
class Identity
|
60
|
+
include SimplyStored::Couch
|
61
|
+
belongs_to :instance
|
62
|
+
belongs_to :magazine
|
63
|
+
end
|
64
|
+
|
65
|
+
class Magazine
|
66
|
+
include SimplyStored::Couch
|
67
|
+
has_one :identity, :dependent => :destroy
|
68
|
+
end
|
69
|
+
|
70
|
+
class CouchLogItem
|
71
|
+
include SimplyStored::Couch
|
72
|
+
has_s3_attachment :log_data, :bucket => "bucket-for-monsieur", :access_key => 'abcdef', :secret_access_key => 'secret!'
|
73
|
+
end
|
74
|
+
|
75
|
+
class UniqueUser
|
76
|
+
include SimplyStored::Couch
|
77
|
+
|
78
|
+
property :name
|
79
|
+
validates_uniqueness_of :name
|
80
|
+
end
|
81
|
+
|
82
|
+
class CountMe
|
83
|
+
include SimplyStored::Couch
|
84
|
+
|
85
|
+
property :title
|
86
|
+
end
|
87
|
+
|
88
|
+
class DontCountMe
|
89
|
+
include SimplyStored::Couch
|
90
|
+
|
91
|
+
property :title
|
92
|
+
end
|
93
|
+
|
94
|
+
class Journal
|
95
|
+
include SimplyStored::Couch
|
96
|
+
|
97
|
+
has_many :memberships, :dependent => :destroy
|
98
|
+
has_many :readers, :through => :memberships, :dependent => :destroy
|
99
|
+
property :foo
|
100
|
+
end
|
101
|
+
|
102
|
+
class Reader
|
103
|
+
include SimplyStored::Couch
|
104
|
+
|
105
|
+
has_many :memberships, :dependent => :destroy
|
106
|
+
has_many :journals, :through => :memberships
|
107
|
+
end
|
108
|
+
|
109
|
+
class Membership
|
110
|
+
include SimplyStored::Couch
|
111
|
+
|
112
|
+
belongs_to :reader
|
113
|
+
belongs_to :journal
|
114
|
+
end
|
115
|
+
|
116
|
+
class Hemorrhoid
|
117
|
+
include SimplyStored::Couch
|
118
|
+
|
119
|
+
enable_soft_delete
|
120
|
+
|
121
|
+
view :by_nickname_and_size, :key => [:nickname, :size]
|
122
|
+
|
123
|
+
property :nickname
|
124
|
+
property :size
|
125
|
+
belongs_to :user
|
126
|
+
belongs_to :pain
|
127
|
+
belongs_to :spot
|
128
|
+
has_many :sub_hemorrhoids, :dependent => :destroy
|
129
|
+
has_many :easy_sub_hemorrhoids, :dependent => :destroy
|
130
|
+
has_many :rashs, :dependent => :nullify
|
131
|
+
has_many :small_rashs, :dependent => :nullify
|
132
|
+
|
133
|
+
before_destroy :before_destroy_callback
|
134
|
+
after_destroy :after_destroy_callback
|
135
|
+
|
136
|
+
def before_destroy_callback
|
137
|
+
end
|
138
|
+
|
139
|
+
def after_destroy_callback
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
class SubHemorrhoid
|
144
|
+
include SimplyStored::Couch
|
145
|
+
|
146
|
+
enable_soft_delete
|
147
|
+
|
148
|
+
belongs_to :hemorrhoid
|
149
|
+
end
|
150
|
+
|
151
|
+
class EasySubHemorrhoid
|
152
|
+
include SimplyStored::Couch
|
153
|
+
|
154
|
+
belongs_to :hemorrhoid
|
155
|
+
end
|
156
|
+
|
157
|
+
class Rash
|
158
|
+
include SimplyStored::Couch
|
159
|
+
|
160
|
+
belongs_to :hemorrhoid
|
161
|
+
end
|
162
|
+
|
163
|
+
class SmallRash
|
164
|
+
include SimplyStored::Couch
|
165
|
+
|
166
|
+
enable_soft_delete
|
167
|
+
|
168
|
+
belongs_to :hemorrhoid
|
169
|
+
end
|
170
|
+
|
171
|
+
class Pain
|
172
|
+
include SimplyStored::Couch
|
173
|
+
|
174
|
+
has_many :hemorrhoids
|
175
|
+
has_many :users, :through => :hemorrhoids
|
176
|
+
end
|
177
|
+
|
178
|
+
class Spot
|
179
|
+
include SimplyStored::Couch
|
180
|
+
|
181
|
+
has_one :hemorrhoid
|
182
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class Item < SimplyStored::Simple
|
2
|
+
simpledb_string :foo_attribute, :item_daddy_id
|
3
|
+
simpledb_array :bar_attribute_array
|
4
|
+
simpledb_timestamp :updated_at, :created_at
|
5
|
+
simpledb_integer :integer_field
|
6
|
+
|
7
|
+
require_inclusion_of :foo_attribute, ['a', 'b', 'c']
|
8
|
+
require_inclusion_of :bar_attribute_array, ['goog', 'boob']
|
9
|
+
|
10
|
+
belongs_to :item_daddy
|
11
|
+
end
|