query_builder 0.0.1

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 (229) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +2 -0
  3. data/.gitignore +9 -0
  4. data/.metrics +9 -0
  5. data/.rspec +2 -0
  6. data/.rubocop.yml +2 -0
  7. data/.travis.yml +25 -0
  8. data/.yardopts +3 -0
  9. data/CHANGELOG.md +5 -0
  10. data/Gemfile +7 -0
  11. data/Guardfile +14 -0
  12. data/LICENSE +21 -0
  13. data/README.md +95 -0
  14. data/Rakefile +34 -0
  15. data/config/metrics/STYLEGUIDE +230 -0
  16. data/config/metrics/cane.yml +5 -0
  17. data/config/metrics/churn.yml +6 -0
  18. data/config/metrics/flay.yml +2 -0
  19. data/config/metrics/metric_fu.yml +14 -0
  20. data/config/metrics/reek.yml +1 -0
  21. data/config/metrics/roodi.yml +24 -0
  22. data/config/metrics/rubocop.yml +80 -0
  23. data/config/metrics/saikuro.yml +3 -0
  24. data/config/metrics/simplecov.yml +6 -0
  25. data/config/metrics/yardstick.yml +37 -0
  26. data/lib/query_builder.rb +9 -0
  27. data/lib/query_builder/core.rb +19 -0
  28. data/lib/query_builder/core/attribute.rb +54 -0
  29. data/lib/query_builder/core/attribute_error.rb +25 -0
  30. data/lib/query_builder/core/base.rb +102 -0
  31. data/lib/query_builder/core/clause.rb +46 -0
  32. data/lib/query_builder/core/statement.rb +55 -0
  33. data/lib/query_builder/cql.rb +80 -0
  34. data/lib/query_builder/cql/contexts.rb +21 -0
  35. data/lib/query_builder/cql/contexts/aggregate.rb +42 -0
  36. data/lib/query_builder/cql/contexts/column.rb +59 -0
  37. data/lib/query_builder/cql/contexts/field.rb +48 -0
  38. data/lib/query_builder/cql/contexts/function.rb +46 -0
  39. data/lib/query_builder/cql/contexts/index.rb +44 -0
  40. data/lib/query_builder/cql/contexts/keyspace.rb +107 -0
  41. data/lib/query_builder/cql/contexts/permission.rb +59 -0
  42. data/lib/query_builder/cql/contexts/role.rb +51 -0
  43. data/lib/query_builder/cql/contexts/table.rb +140 -0
  44. data/lib/query_builder/cql/contexts/trigger.rb +42 -0
  45. data/lib/query_builder/cql/contexts/type.rb +52 -0
  46. data/lib/query_builder/cql/contexts/user.rb +53 -0
  47. data/lib/query_builder/cql/modifiers.rb +61 -0
  48. data/lib/query_builder/cql/modifiers/add_column.rb +50 -0
  49. data/lib/query_builder/cql/modifiers/add_field.rb +49 -0
  50. data/lib/query_builder/cql/modifiers/allow_filtering.rb +45 -0
  51. data/lib/query_builder/cql/modifiers/alter.rb +44 -0
  52. data/lib/query_builder/cql/modifiers/called_on_null.rb +47 -0
  53. data/lib/query_builder/cql/modifiers/clustering_order.rb +51 -0
  54. data/lib/query_builder/cql/modifiers/column.rb +59 -0
  55. data/lib/query_builder/cql/modifiers/compact_storage.rb +46 -0
  56. data/lib/query_builder/cql/modifiers/count.rb +47 -0
  57. data/lib/query_builder/cql/modifiers/counter.rb +45 -0
  58. data/lib/query_builder/cql/modifiers/delete.rb +48 -0
  59. data/lib/query_builder/cql/modifiers/distinct.rb +45 -0
  60. data/lib/query_builder/cql/modifiers/finalfunc.rb +47 -0
  61. data/lib/query_builder/cql/modifiers/if.rb +44 -0
  62. data/lib/query_builder/cql/modifiers/if_exists.rb +46 -0
  63. data/lib/query_builder/cql/modifiers/if_not_exists.rb +46 -0
  64. data/lib/query_builder/cql/modifiers/initcond.rb +49 -0
  65. data/lib/query_builder/cql/modifiers/insert.rb +68 -0
  66. data/lib/query_builder/cql/modifiers/limit.rb +49 -0
  67. data/lib/query_builder/cql/modifiers/norecursive.rb +45 -0
  68. data/lib/query_builder/cql/modifiers/or_replace.rb +44 -0
  69. data/lib/query_builder/cql/modifiers/order.rb +50 -0
  70. data/lib/query_builder/cql/modifiers/password.rb +49 -0
  71. data/lib/query_builder/cql/modifiers/primary_key.rb +51 -0
  72. data/lib/query_builder/cql/modifiers/returns.rb +49 -0
  73. data/lib/query_builder/cql/modifiers/selected.rb +54 -0
  74. data/lib/query_builder/cql/modifiers/sfunc.rb +47 -0
  75. data/lib/query_builder/cql/modifiers/statement.rb +47 -0
  76. data/lib/query_builder/cql/modifiers/stype.rb +47 -0
  77. data/lib/query_builder/cql/modifiers/superuser.rb +54 -0
  78. data/lib/query_builder/cql/modifiers/timestamp.rb +50 -0
  79. data/lib/query_builder/cql/modifiers/unlogged.rb +45 -0
  80. data/lib/query_builder/cql/modifiers/update.rb +44 -0
  81. data/lib/query_builder/cql/modifiers/using.rb +48 -0
  82. data/lib/query_builder/cql/modifiers/using_options.rb +51 -0
  83. data/lib/query_builder/cql/modifiers/where.rb +44 -0
  84. data/lib/query_builder/cql/modifiers/where_clustered.rb +51 -0
  85. data/lib/query_builder/cql/modifiers/with.rb +44 -0
  86. data/lib/query_builder/cql/modifiers/with_options.rb +42 -0
  87. data/lib/query_builder/cql/operators.rb +29 -0
  88. data/lib/query_builder/cql/operators/cql.rb +23 -0
  89. data/lib/query_builder/cql/operators/cql_composite.rb +20 -0
  90. data/lib/query_builder/cql/operators/cql_dec.rb +21 -0
  91. data/lib/query_builder/cql/operators/cql_element.rb +23 -0
  92. data/lib/query_builder/cql/operators/cql_entries.rb +20 -0
  93. data/lib/query_builder/cql/operators/cql_frozen.rb +20 -0
  94. data/lib/query_builder/cql/operators/cql_full.rb +20 -0
  95. data/lib/query_builder/cql/operators/cql_gt.rb +23 -0
  96. data/lib/query_builder/cql/operators/cql_gte.rb +23 -0
  97. data/lib/query_builder/cql/operators/cql_in.rb +23 -0
  98. data/lib/query_builder/cql/operators/cql_inc.rb +21 -0
  99. data/lib/query_builder/cql/operators/cql_keys.rb +20 -0
  100. data/lib/query_builder/cql/operators/cql_list.rb +21 -0
  101. data/lib/query_builder/cql/operators/cql_literal.rb +84 -0
  102. data/lib/query_builder/cql/operators/cql_lt.rb +23 -0
  103. data/lib/query_builder/cql/operators/cql_lte.rb +23 -0
  104. data/lib/query_builder/cql/operators/cql_map.rb +25 -0
  105. data/lib/query_builder/cql/operators/cql_set.rb +21 -0
  106. data/lib/query_builder/cql/operators/cql_token.rb +21 -0
  107. data/lib/query_builder/cql/operators/cql_token_value.rb +23 -0
  108. data/lib/query_builder/cql/operators/cql_ttl.rb +20 -0
  109. data/lib/query_builder/cql/operators/cql_tuple.rb +21 -0
  110. data/lib/query_builder/cql/operators/cql_tuple_value.rb +23 -0
  111. data/lib/query_builder/cql/operators/cql_writetime.rb +20 -0
  112. data/lib/query_builder/cql/statements.rb +25 -0
  113. data/lib/query_builder/cql/statements/alter_column.rb +27 -0
  114. data/lib/query_builder/cql/statements/alter_field.rb +27 -0
  115. data/lib/query_builder/cql/statements/alter_keyspace.rb +25 -0
  116. data/lib/query_builder/cql/statements/alter_role.rb +26 -0
  117. data/lib/query_builder/cql/statements/alter_table.rb +25 -0
  118. data/lib/query_builder/cql/statements/alter_user.rb +26 -0
  119. data/lib/query_builder/cql/statements/batch.rb +31 -0
  120. data/lib/query_builder/cql/statements/create_aggregate.rb +36 -0
  121. data/lib/query_builder/cql/statements/create_column.rb +35 -0
  122. data/lib/query_builder/cql/statements/create_field.rb +25 -0
  123. data/lib/query_builder/cql/statements/create_function.rb +38 -0
  124. data/lib/query_builder/cql/statements/create_index.rb +41 -0
  125. data/lib/query_builder/cql/statements/create_keyspace.rb +26 -0
  126. data/lib/query_builder/cql/statements/create_role.rb +26 -0
  127. data/lib/query_builder/cql/statements/create_table.rb +30 -0
  128. data/lib/query_builder/cql/statements/create_trigger.rb +29 -0
  129. data/lib/query_builder/cql/statements/create_type.rb +26 -0
  130. data/lib/query_builder/cql/statements/create_user.rb +27 -0
  131. data/lib/query_builder/cql/statements/delete.rb +32 -0
  132. data/lib/query_builder/cql/statements/drop_aggregate.rb +25 -0
  133. data/lib/query_builder/cql/statements/drop_column.rb +23 -0
  134. data/lib/query_builder/cql/statements/drop_function.rb +25 -0
  135. data/lib/query_builder/cql/statements/drop_index.rb +25 -0
  136. data/lib/query_builder/cql/statements/drop_keyspace.rb +25 -0
  137. data/lib/query_builder/cql/statements/drop_role.rb +25 -0
  138. data/lib/query_builder/cql/statements/drop_table.rb +25 -0
  139. data/lib/query_builder/cql/statements/drop_trigger.rb +25 -0
  140. data/lib/query_builder/cql/statements/drop_type.rb +25 -0
  141. data/lib/query_builder/cql/statements/drop_user.rb +25 -0
  142. data/lib/query_builder/cql/statements/grant.rb +31 -0
  143. data/lib/query_builder/cql/statements/insert.rb +27 -0
  144. data/lib/query_builder/cql/statements/list_permissions.rb +35 -0
  145. data/lib/query_builder/cql/statements/list_roles.rb +23 -0
  146. data/lib/query_builder/cql/statements/list_users.rb +23 -0
  147. data/lib/query_builder/cql/statements/rename_column.rb +27 -0
  148. data/lib/query_builder/cql/statements/rename_field.rb +25 -0
  149. data/lib/query_builder/cql/statements/revoke.rb +31 -0
  150. data/lib/query_builder/cql/statements/select.rb +35 -0
  151. data/lib/query_builder/cql/statements/truncate.rb +23 -0
  152. data/lib/query_builder/cql/statements/update.rb +31 -0
  153. data/lib/query_builder/cql/statements/use.rb +23 -0
  154. data/lib/query_builder/rspec.rb +25 -0
  155. data/lib/query_builder/version.rb +9 -0
  156. data/query_builder.gemspec +31 -0
  157. data/spec/integration/alter_keyspace_spec.rb +17 -0
  158. data/spec/integration/alter_role_spec.rb +28 -0
  159. data/spec/integration/alter_table_add_spec.rb +21 -0
  160. data/spec/integration/alter_table_alter_spec.rb +15 -0
  161. data/spec/integration/alter_table_drop_spec.rb +15 -0
  162. data/spec/integration/alter_table_rename_spec.rb +15 -0
  163. data/spec/integration/alter_table_with_spec.rb +17 -0
  164. data/spec/integration/alter_type_add_spec.rb +15 -0
  165. data/spec/integration/alter_type_alter_spec.rb +15 -0
  166. data/spec/integration/alter_type_rename_spec.rb +15 -0
  167. data/spec/integration/alter_user_spec.rb +28 -0
  168. data/spec/integration/batch_spec.rb +32 -0
  169. data/spec/integration/create_aggregate_spec.rb +31 -0
  170. data/spec/integration/create_function_spec.rb +29 -0
  171. data/spec/integration/create_index_spec.rb +35 -0
  172. data/spec/integration/create_keyspace_spec.rb +24 -0
  173. data/spec/integration/create_role_spec.rb +26 -0
  174. data/spec/integration/create_table_spec.rb +34 -0
  175. data/spec/integration/create_trigger_spec.rb +21 -0
  176. data/spec/integration/create_type_spec.rb +20 -0
  177. data/spec/integration/create_user_spec.rb +23 -0
  178. data/spec/integration/delete_spec.rb +28 -0
  179. data/spec/integration/drop_aggregate_spec.rb +21 -0
  180. data/spec/integration/drop_function_spec.rb +21 -0
  181. data/spec/integration/drop_index_spec.rb +21 -0
  182. data/spec/integration/drop_keyspace_spec.rb +18 -0
  183. data/spec/integration/drop_role_spec.rb +18 -0
  184. data/spec/integration/drop_table_spec.rb +18 -0
  185. data/spec/integration/drop_trigger_spec.rb +21 -0
  186. data/spec/integration/drop_type_spec.rb +18 -0
  187. data/spec/integration/drop_user_spec.rb +18 -0
  188. data/spec/integration/grant_spec.rb +29 -0
  189. data/spec/integration/insert_spec.rb +22 -0
  190. data/spec/integration/list_permissions_spec.rb +34 -0
  191. data/spec/integration/list_roles_spec.rb +12 -0
  192. data/spec/integration/list_users_spec.rb +12 -0
  193. data/spec/integration/revoke_spec.rb +29 -0
  194. data/spec/integration/select_spec.rb +46 -0
  195. data/spec/integration/truncate_spec.rb +12 -0
  196. data/spec/integration/update_spec.rb +23 -0
  197. data/spec/integration/use_spec.rb +12 -0
  198. data/spec/spec_helper.rb +16 -0
  199. data/spec/unit/core/attribute_error_spec.rb +38 -0
  200. data/spec/unit/core/attribute_spec.rb +70 -0
  201. data/spec/unit/core/base_spec.rb +110 -0
  202. data/spec/unit/core/clause_spec.rb +101 -0
  203. data/spec/unit/core/statement_spec.rb +88 -0
  204. data/spec/unit/cql/operators/cql_composite_spec.rb +12 -0
  205. data/spec/unit/cql/operators/cql_dec_spec.rb +12 -0
  206. data/spec/unit/cql/operators/cql_element_spec.rb +12 -0
  207. data/spec/unit/cql/operators/cql_entries_spec.rb +12 -0
  208. data/spec/unit/cql/operators/cql_frozen_spec.rb +12 -0
  209. data/spec/unit/cql/operators/cql_full_spec.rb +12 -0
  210. data/spec/unit/cql/operators/cql_gt_spec.rb +19 -0
  211. data/spec/unit/cql/operators/cql_gte_spec.rb +19 -0
  212. data/spec/unit/cql/operators/cql_in_spec.rb +12 -0
  213. data/spec/unit/cql/operators/cql_inc_spec.rb +12 -0
  214. data/spec/unit/cql/operators/cql_keys_spec.rb +12 -0
  215. data/spec/unit/cql/operators/cql_list_spec.rb +12 -0
  216. data/spec/unit/cql/operators/cql_literal_spec.rb +83 -0
  217. data/spec/unit/cql/operators/cql_lt_spec.rb +19 -0
  218. data/spec/unit/cql/operators/cql_lte_spec.rb +19 -0
  219. data/spec/unit/cql/operators/cql_map_spec.rb +12 -0
  220. data/spec/unit/cql/operators/cql_set_spec.rb +12 -0
  221. data/spec/unit/cql/operators/cql_spec.rb +12 -0
  222. data/spec/unit/cql/operators/cql_token_spec.rb +12 -0
  223. data/spec/unit/cql/operators/cql_token_value_spec.rb +12 -0
  224. data/spec/unit/cql/operators/cql_ttl_spec.rb +12 -0
  225. data/spec/unit/cql/operators/cql_tuple_spec.rb +12 -0
  226. data/spec/unit/cql/operators/cql_tuple_value_spec.rb +12 -0
  227. data/spec/unit/cql/operators/cql_writetime_spec.rb +12 -0
  228. data/spec/unit/cql/operators_spec.rb +66 -0
  229. metadata +405 -0
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DROP INDEX' CQL3 statement
8
+ #
9
+ class DropIndex < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP INDEX", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropIndex
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DROP KEYSPACE' CQL3 statement
8
+ #
9
+ class DropKeyspace < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP KEYSPACE", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropKeyspace
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DROP ROLE' CQL3 statement
8
+ #
9
+ class DropRole < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP ROLE", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropRole
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DROP TABLE' CQL3 statement
8
+ #
9
+ class DropTable < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP TABLE", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropTable
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DROP TRIGGER' CQL3 statement
8
+ #
9
+ class DropTrigger < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP TRIGGER", maybe_if, context.name, "ON", context.table.to_s]
19
+ end
20
+
21
+ end # class DropTrigger
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DROP TYPE' CQL3 statement
8
+ #
9
+ class DropType < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP TYPE", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropType
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DROP USER' CQL3 statement
8
+ #
9
+ class DropUser < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP USER", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropUser
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,31 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'GRANT' CQL3 statement
8
+ #
9
+ class Grant < Base
10
+
11
+ attribute :name, required: true
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["GRANT", permission, "ON", context.to_s, "TO", name]
19
+ end
20
+
21
+ private
22
+
23
+ def permission
24
+ context.name ? "#{context.name.upcase} PERMISSION" : "ALL PERMISSIONS"
25
+ end
26
+
27
+ end # class Grant
28
+
29
+ end # module Statements
30
+
31
+ end # module QueryBuilder::CQL
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'INSERT' CQL3 statement
8
+ #
9
+ class Insert < Base
10
+
11
+ include Modifiers::Insert
12
+ include Modifiers::IfNotExists
13
+ include Modifiers::UsingOptions
14
+
15
+ # Builds the statement
16
+ #
17
+ # @return [String]
18
+ #
19
+ def to_s
20
+ cql["INSERT INTO", context.to_s, maybe_insert, maybe_using, maybe_if]
21
+ end
22
+
23
+ end # class Insert
24
+
25
+ end # module Statements
26
+
27
+ end # module QueryBuilder::CQL
@@ -0,0 +1,35 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'GRANT' CQL3 statement
8
+ #
9
+ class ListPermissions < Base
10
+
11
+ include Modifiers::Norecursive
12
+
13
+ attribute :name, required: true
14
+
15
+ # Builds the statement
16
+ #
17
+ # @return [String]
18
+ #
19
+ def to_s
20
+ cql[
21
+ "LIST", permission, "ON", context.to_s, "OF", name, maybe_norecursive
22
+ ]
23
+ end
24
+
25
+ private
26
+
27
+ def permission
28
+ context.name ? "#{context.name.upcase} PERMISSION" : "ALL PERMISSIONS"
29
+ end
30
+
31
+ end # class ListPermissions
32
+
33
+ end # module Statements
34
+
35
+ end # module QueryBuilder::CQL
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'LIST ROLES;' CQL3 statement
8
+ #
9
+ class ListRoles < Base
10
+
11
+ # Builds the statement
12
+ #
13
+ # @return [String]
14
+ #
15
+ def to_s
16
+ "LIST ROLES;"
17
+ end
18
+
19
+ end # class ListRoles
20
+
21
+ end # module Statements
22
+
23
+ end # module QueryBuilder::CQL
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'LIST USERS;' CQL3 statement
8
+ #
9
+ class ListUsers < Base
10
+
11
+ # Builds the statement
12
+ #
13
+ # @return [String]
14
+ #
15
+ def to_s
16
+ "LIST USERS;"
17
+ end
18
+
19
+ end # class ListUsers
20
+
21
+ end # module Statements
22
+
23
+ end # module QueryBuilder::CQL
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'ALTER TABLE ... RENAME' CQL3 statement
8
+ #
9
+ class RenameColumn < Base
10
+
11
+ attribute :name, required: :true
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql[
19
+ "ALTER TABLE", context.table.to_s, "RENAME", context.name, "TO", name
20
+ ]
21
+ end
22
+
23
+ end # class RenameColumn
24
+
25
+ end # module Statements
26
+
27
+ end # module QueryBuilder::CQL
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'ALTER TYPE ... RENAME' CQL3 statement
8
+ #
9
+ class RenameField < Base
10
+
11
+ attribute :name, required: :true
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["ALTER TYPE", context.type.to_s, "RENAME", context.name, "TO", name]
19
+ end
20
+
21
+ end # class RenameField
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,31 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'REVOKE' CQL3 statement
8
+ #
9
+ class Revoke < Base
10
+
11
+ attribute :name, required: true
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["REVOKE", permission, "ON", context.to_s, "FROM", name]
19
+ end
20
+
21
+ private
22
+
23
+ def permission
24
+ context.name ? "#{context.name.upcase} PERMISSION" : "ALL PERMISSIONS"
25
+ end
26
+
27
+ end # class Revoke
28
+
29
+ end # module Statements
30
+
31
+ end # module QueryBuilder::CQL
@@ -0,0 +1,35 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'SELECT' CQL3 statement
8
+ #
9
+ class Select < Base
10
+
11
+ include Modifiers::Selected
12
+ include Modifiers::Count
13
+ include Modifiers::Where
14
+ include Modifiers::WhereClustered
15
+ include Modifiers::Order
16
+ include Modifiers::Distinct
17
+ include Modifiers::Limit
18
+ include Modifiers::AllowFiltering
19
+
20
+ # Builds the statement
21
+ #
22
+ # @return [String]
23
+ #
24
+ def to_s
25
+ cql[
26
+ "SELECT", maybe_distinct, maybe_selected, "FROM", context.to_s,
27
+ maybe_where, maybe_order, maybe_limit, maybe_filter
28
+ ]
29
+ end
30
+
31
+ end # class Select
32
+
33
+ end # module Statements
34
+
35
+ end # module QueryBuilder::CQL