simply_stored 0.3.9 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/CHANGELOG.md +38 -0
  2. data/README.md +45 -24
  3. data/lib/simply_stored/couch/association_property.rb +27 -0
  4. data/lib/simply_stored/couch/belongs_to.rb +5 -7
  5. data/lib/simply_stored/couch/finders.rb +5 -1
  6. data/lib/simply_stored/couch/has_and_belongs_to_many.rb +202 -0
  7. data/lib/simply_stored/couch/has_many.rb +6 -51
  8. data/lib/simply_stored/couch/has_one.rb +4 -29
  9. data/lib/simply_stored/couch/properties.rb +11 -0
  10. data/lib/simply_stored/couch.rb +38 -2
  11. data/lib/simply_stored/instance_methods.rb +68 -29
  12. data/lib/simply_stored.rb +3 -1
  13. data/test/{couchdb/couch_active_model_compatibility_test.rb → active_model_compatibility_test.rb} +2 -2
  14. data/test/{couchdb/couch_belongs_to_test.rb → belongs_to_test.rb} +13 -3
  15. data/test/{couchdb/couch_conflict_handling_test.rb → conflict_handling_test.rb} +3 -3
  16. data/test/{couchdb/couch_finder_test.rb → finder_test.rb} +8 -3
  17. data/test/fixtures/couch.rb +55 -0
  18. data/test/has_and_belongs_to_many_test.rb +639 -0
  19. data/test/{couchdb/couch_has_many_test.rb → has_many_test.rb} +13 -3
  20. data/test/{couchdb/couch_has_one_test.rb → has_one_test.rb} +13 -3
  21. data/test/{couchdb/couch_instance_lifecycle_test.rb → instance_lifecycle_test.rb} +3 -3
  22. data/test/{couchdb/couch_mass_assignment_protection_test.rb → mass_assignment_protection_test.rb} +3 -3
  23. data/test/{couchdb/couch_s3_test.rb → s3_test.rb} +3 -3
  24. data/test/{couchdb/couch_soft_deletable_test.rb → soft_deletable_test.rb} +3 -3
  25. data/test/test_helper.rb +1 -5
  26. data/test/{couchdb/couch_validations_test.rb → validations_test.rb} +3 -3
  27. data/test/{couchdb/custom_views_test.rb → views_test.rb} +3 -3
  28. metadata +36 -234
  29. data/lib/simply_stored/simpledb/associations.rb +0 -215
  30. data/lib/simply_stored/simpledb/attributes.rb +0 -173
  31. data/lib/simply_stored/simpledb/storag.rb +0 -85
  32. data/lib/simply_stored/simpledb/validations.rb +0 -88
  33. data/lib/simply_stored/simpledb.rb +0 -216
  34. data/test/fixtures/simpledb/item.rb +0 -11
  35. data/test/fixtures/simpledb/item_daddy.rb +0 -8
  36. data/test/fixtures/simpledb/log_item.rb +0 -3
  37. data/test/fixtures/simpledb/namespace_bar.rb +0 -5
  38. data/test/fixtures/simpledb/namespace_foo.rb +0 -7
  39. data/test/fixtures/simpledb/protected_item.rb +0 -3
  40. data/test/simply_stored_simpledb_test.rb +0 -1376
  41. data/test/vendor/dhaka-2.2.1/lib/dhaka/dot/dot.rb +0 -29
  42. data/test/vendor/dhaka-2.2.1/lib/dhaka/evaluator/evaluator.rb +0 -133
  43. data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/closure_hash.rb +0 -15
  44. data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/grammar.rb +0 -240
  45. data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/grammar_symbol.rb +0 -27
  46. data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/precedence.rb +0 -19
  47. data/test/vendor/dhaka-2.2.1/lib/dhaka/grammar/production.rb +0 -36
  48. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/accept_actions.rb +0 -36
  49. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/alphabet.rb +0 -21
  50. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/compiled_lexer.rb +0 -46
  51. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/dfa.rb +0 -121
  52. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexeme.rb +0 -32
  53. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexer.rb +0 -70
  54. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/lexer_run.rb +0 -78
  55. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_grammar.rb +0 -392
  56. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_parser.rb +0 -2010
  57. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/regex_tokenizer.rb +0 -14
  58. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/specification.rb +0 -96
  59. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/state.rb +0 -68
  60. data/test/vendor/dhaka-2.2.1/lib/dhaka/lexer/state_machine.rb +0 -37
  61. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/action.rb +0 -55
  62. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/channel.rb +0 -58
  63. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/compiled_parser.rb +0 -51
  64. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/conflict.rb +0 -54
  65. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/item.rb +0 -42
  66. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parse_result.rb +0 -50
  67. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parse_tree.rb +0 -66
  68. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser.rb +0 -165
  69. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_methods.rb +0 -11
  70. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_run.rb +0 -39
  71. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/parser_state.rb +0 -74
  72. data/test/vendor/dhaka-2.2.1/lib/dhaka/parser/token.rb +0 -22
  73. data/test/vendor/dhaka-2.2.1/lib/dhaka/runtime.rb +0 -51
  74. data/test/vendor/dhaka-2.2.1/lib/dhaka/tokenizer/tokenizer.rb +0 -190
  75. data/test/vendor/dhaka-2.2.1/lib/dhaka.rb +0 -62
  76. data/test/vendor/dhaka-2.2.1/test/all_tests.rb +0 -5
  77. data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_evaluator.rb +0 -64
  78. data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_evaluator_test.rb +0 -43
  79. data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_grammar.rb +0 -41
  80. data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_grammar_test.rb +0 -9
  81. data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_test_methods.rb +0 -9
  82. data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_tokenizer.rb +0 -39
  83. data/test/vendor/dhaka-2.2.1/test/arithmetic/arithmetic_tokenizer_test.rb +0 -38
  84. data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_evaluator.rb +0 -43
  85. data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_grammar.rb +0 -24
  86. data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_grammar_test.rb +0 -30
  87. data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_lexer_specification.rb +0 -23
  88. data/test/vendor/dhaka-2.2.1/test/arithmetic_precedence/arithmetic_precedence_parser_test.rb +0 -33
  89. data/test/vendor/dhaka-2.2.1/test/brackets/bracket_grammar.rb +0 -23
  90. data/test/vendor/dhaka-2.2.1/test/brackets/bracket_tokenizer.rb +0 -22
  91. data/test/vendor/dhaka-2.2.1/test/brackets/brackets_test.rb +0 -28
  92. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_driver.rb +0 -46
  93. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_driver_test.rb +0 -276
  94. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_evaluator.rb +0 -284
  95. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_evaluator_test.rb +0 -38
  96. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_grammar.rb +0 -104
  97. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer.rb +0 -109
  98. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer_specification.rb +0 -37
  99. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_lexer_test.rb +0 -58
  100. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_parser.rb +0 -879
  101. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_parser_test.rb +0 -55
  102. data/test/vendor/dhaka-2.2.1/test/chittagong/chittagong_test.rb +0 -170
  103. data/test/vendor/dhaka-2.2.1/test/core/another_lalr_but_not_slr_grammar.rb +0 -20
  104. data/test/vendor/dhaka-2.2.1/test/core/compiled_parser_test.rb +0 -44
  105. data/test/vendor/dhaka-2.2.1/test/core/dfa_test.rb +0 -170
  106. data/test/vendor/dhaka-2.2.1/test/core/evaluator_test.rb +0 -22
  107. data/test/vendor/dhaka-2.2.1/test/core/grammar_test.rb +0 -83
  108. data/test/vendor/dhaka-2.2.1/test/core/lalr_but_not_slr_grammar.rb +0 -19
  109. data/test/vendor/dhaka-2.2.1/test/core/lexer_test.rb +0 -139
  110. data/test/vendor/dhaka-2.2.1/test/core/malformed_grammar.rb +0 -7
  111. data/test/vendor/dhaka-2.2.1/test/core/malformed_grammar_test.rb +0 -8
  112. data/test/vendor/dhaka-2.2.1/test/core/nullable_grammar.rb +0 -21
  113. data/test/vendor/dhaka-2.2.1/test/core/parse_result_test.rb +0 -44
  114. data/test/vendor/dhaka-2.2.1/test/core/parser_state_test.rb +0 -24
  115. data/test/vendor/dhaka-2.2.1/test/core/parser_test.rb +0 -131
  116. data/test/vendor/dhaka-2.2.1/test/core/precedence_grammar.rb +0 -17
  117. data/test/vendor/dhaka-2.2.1/test/core/precedence_grammar_test.rb +0 -9
  118. data/test/vendor/dhaka-2.2.1/test/core/rr_conflict_grammar.rb +0 -21
  119. data/test/vendor/dhaka-2.2.1/test/core/simple_grammar.rb +0 -22
  120. data/test/vendor/dhaka-2.2.1/test/core/sr_conflict_grammar.rb +0 -16
  121. data/test/vendor/dhaka-2.2.1/test/dhaka_test_helper.rb +0 -17
  122. data/test/vendor/dhaka-2.2.1/test/fake_logger.rb +0 -17
  123. data/test/vendor/simplerdb-0.2/lib/simplerdb/client_exception.rb +0 -10
  124. data/test/vendor/simplerdb-0.2/lib/simplerdb/db.rb +0 -146
  125. data/test/vendor/simplerdb-0.2/lib/simplerdb/query_language.rb +0 -266
  126. data/test/vendor/simplerdb-0.2/lib/simplerdb/server.rb +0 -33
  127. data/test/vendor/simplerdb-0.2/lib/simplerdb/servlet.rb +0 -191
  128. data/test/vendor/simplerdb-0.2/lib/simplerdb.rb +0 -3
  129. data/test/vendor/simplerdb-0.2/test/functional_test.rb +0 -81
  130. data/test/vendor/simplerdb-0.2/test/query_evaluator_test.rb +0 -73
  131. data/test/vendor/simplerdb-0.2/test/query_parser_test.rb +0 -64
  132. data/test/vendor/simplerdb-0.2/test/simplerdb_test.rb +0 -80
@@ -1,109 +0,0 @@
1
- class ChittagongLexer < Dhaka::CompiledLexer
2
-
3
- self.specification = ChittagongLexerSpecification
4
-
5
- start_with 23993520499080
6
-
7
- at_state(23993520490540) {
8
- accept(">")
9
- }
10
-
11
- at_state(23993520496080) {
12
- accept("\\d*(\\.\\d+)?")
13
- for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 23993520496080 }
14
- }
15
-
16
- at_state(23993520497360) {
17
- accept("\\d*(\\.\\d+)?")
18
- for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 23993520497360 }
19
- for_characters(".") { switch_to 23993520496640 }
20
- }
21
-
22
- at_state(23993520499080) {
23
- accept("\\d*(\\.\\d+)?")
24
- for_characters("\n") { switch_to 23993520492400 }
25
- for_characters("*") { switch_to 23993520491960 }
26
- for_characters("!") { switch_to 23993520479360 }
27
- for_characters(" ") { switch_to 23993520478920 }
28
- for_characters("/") { switch_to 23993520479800 }
29
- for_characters("-") { switch_to 23993520477160 }
30
- for_characters(",") { switch_to 23993520477600 }
31
- for_characters("+") { switch_to 23993520480240 }
32
- for_characters(")") { switch_to 23993520478040 }
33
- for_characters("^") { switch_to 23993520478480 }
34
- for_characters("J", "o", "p", "K", "q", "L", "r", "M", "s", "N", "t", "O", "a", "u", "P", "b", "Q", "c", "v", "R", "d", "w", "S", "e", "x", "T", "f", "y", "A", "U", "g", "z", "B", "h", "C", "V", "i", "D", "W", "j", "E", "X", "F", "Y", "k", "G", "Z", "l", "H", "m", "I", "n") { switch_to 23993520490080 }
35
- for_characters("=") { switch_to 23993520491540 }
36
- for_characters(">") { switch_to 23993520490540 }
37
- for_characters("<") { switch_to 23993520497800 }
38
- for_characters("(") { switch_to 23993520498240 }
39
- for_characters("8", "9", "0", "1", "2", "3", "4", "5", "6", "7") { switch_to 23993520497360 }
40
- for_characters(".") { switch_to 23993520496640 }
41
- }
42
-
43
- at_state(23993520478480) {
44
- accept("\\^")
45
- }
46
-
47
- at_state(23993520492400) {
48
- accept("\n")
49
- }
50
-
51
- at_state(23993520496640) {
52
- for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 23993520496080 }
53
- }
54
-
55
- at_state(23993520477600) {
56
- accept(",")
57
- }
58
-
59
- at_state(23993520478040) {
60
- accept("\\)")
61
- }
62
-
63
- at_state(23993520491540) {
64
- accept("=")
65
- for_characters("=") { switch_to 23993520490980 }
66
- }
67
-
68
- at_state(23993520491960) {
69
- accept("\\*")
70
- }
71
-
72
- at_state(23993520497800) {
73
- accept("<")
74
- }
75
-
76
- at_state(23993520498240) {
77
- accept("\\(")
78
- }
79
-
80
- at_state(23993520479800) {
81
- accept("\\/")
82
- }
83
-
84
- at_state(23993520490980) {
85
- accept("==")
86
- }
87
-
88
- at_state(23993520478920) {
89
- accept(" ")
90
- }
91
-
92
- at_state(23993520477160) {
93
- accept("-")
94
- }
95
-
96
- at_state(23993520479360) {
97
- accept("!")
98
- }
99
-
100
- at_state(23993520480240) {
101
- accept("\\+")
102
- }
103
-
104
- at_state(23993520490080) {
105
- accept("\\w+")
106
- for_characters("k", "v", "V", "K", "A", "w", "l", "a", "W", "L", "b", "m", "M", "x", "B", "X", "Y", "c", "y", "n", "N", "C", "D", "o", "d", "z", "Z", "O", "P", "e", "E", "p", "Q", "q", "f", "F", "G", "g", "r", "R", "S", "H", "s", "h", "t", "T", "I", "i", "J", "j", "u", "U") { switch_to 23993520490080 }
107
- }
108
-
109
- end
@@ -1,37 +0,0 @@
1
- # lipi:lexer_spec
2
- class ChittagongLexerSpecification < Dhaka::LexerSpecification
3
- KEYWORDS = %w| print if else end while def return |
4
-
5
- for_pattern('==') do
6
- create_token('==')
7
- end
8
-
9
- %w| = - ! > < , + * ( ) / ^ |.each do |char|
10
- for_symbol(char) do
11
- create_token(char)
12
- end
13
- end
14
-
15
- for_pattern("\n") do
16
- create_token('newline')
17
- end
18
-
19
- for_pattern(' ') do
20
- # ignore whitespace
21
- end
22
-
23
- #lipi:keywords
24
- for_pattern('\w+') do
25
- if KEYWORDS.include? current_lexeme.value
26
- create_token current_lexeme.value
27
- else
28
- create_token 'word_literal'
29
- end
30
- end
31
- #lipi:keywords
32
-
33
- for_pattern('\d*(\.\d+)?') do
34
- create_token('numeric_literal')
35
- end
36
- end
37
- # lipi:lexer_spec
@@ -1,58 +0,0 @@
1
- require File.dirname(__FILE__) + '/../dhaka_test_helper'
2
- require File.dirname(__FILE__) + "/chittagong_lexer_specification"
3
- begin
4
- require File.dirname(__FILE__) + "/chittagong_lexer"
5
- rescue LoadError
6
- puts "Please run the rake command in the root folder to generate the lexer and parser required for this test."
7
- exit
8
- end
9
-
10
- class TestChittagongLexer < Test::Unit::TestCase
11
- def test_tokenizes_a_program
12
- input = "
13
- x = 2 * 4
14
- y = 2 * x
15
- v = x == y
16
- if x > y
17
- print x
18
- else
19
- print y
20
- end
21
- "
22
- assert_equal(["newline",
23
- "word_literal",
24
- "=",
25
- "numeric_literal",
26
- "*",
27
- "numeric_literal",
28
- "newline",
29
- "word_literal",
30
- "=",
31
- "numeric_literal",
32
- "*",
33
- "word_literal",
34
- "newline",
35
- "word_literal",
36
- "=",
37
- "word_literal",
38
- "==",
39
- "word_literal",
40
- "newline",
41
- "if",
42
- "word_literal",
43
- ">",
44
- "word_literal",
45
- "newline",
46
- "print",
47
- "word_literal",
48
- "newline",
49
- "else",
50
- "newline",
51
- "print",
52
- "word_literal",
53
- "newline",
54
- "end",
55
- "newline",
56
- Dhaka::END_SYMBOL_NAME], ChittagongLexer.lex(input).collect {|token| token.symbol_name})
57
- end
58
- end