plume 0.1.0 → 0.2.0

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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +280 -10
  3. data/lib/plume/analysis/resolver.rb +574 -0
  4. data/lib/plume/analysis.rb +135 -0
  5. data/lib/plume/ast/alter_table_statement.rb +29 -0
  6. data/lib/plume/ast/analyze_statement.rb +15 -0
  7. data/lib/plume/ast/assignment.rb +18 -0
  8. data/lib/plume/ast/attach_statement.rb +17 -0
  9. data/lib/plume/ast/begin_statement.rb +17 -0
  10. data/lib/plume/ast/binary_expression.rb +71 -0
  11. data/lib/plume/ast/case_condition.rb +29 -0
  12. data/lib/plume/ast/case_expression.rb +22 -0
  13. data/lib/plume/ast/cast_expression.rb +16 -0
  14. data/lib/plume/ast/check_column_constraint.rb +20 -0
  15. data/lib/plume/ast/check_table_constraint.rb +19 -0
  16. data/lib/plume/ast/collate_column_constraint.rb +19 -0
  17. data/lib/plume/ast/collation_expression.rb +26 -0
  18. data/lib/plume/ast/column_constraint.rb +7 -0
  19. data/lib/plume/ast/column_definition.rb +16 -0
  20. data/lib/plume/ast/column_name.rb +22 -0
  21. data/lib/plume/ast/column_type.rb +25 -0
  22. data/lib/plume/ast/commit_statement.rb +13 -0
  23. data/lib/plume/ast/common_table_expression.rb +31 -0
  24. data/lib/plume/ast/compound_select.rb +30 -0
  25. data/lib/plume/ast/conflict_clause.rb +22 -0
  26. data/lib/plume/ast/conflict_resolution.rb +20 -0
  27. data/lib/plume/ast/create_index_statement.rb +29 -0
  28. data/lib/plume/ast/create_table_statement.rb +47 -0
  29. data/lib/plume/ast/create_trigger_statement.rb +43 -0
  30. data/lib/plume/ast/create_view_statement.rb +30 -0
  31. data/lib/plume/ast/create_virtual_table_statement.rb +28 -0
  32. data/lib/plume/ast/default_column_constraint.rb +29 -0
  33. data/lib/plume/ast/delete_statement.rb +28 -0
  34. data/lib/plume/ast/detach_statement.rb +13 -0
  35. data/lib/plume/ast/drop_statement.rb +21 -0
  36. data/lib/plume/ast/empty_function_argument.rb +6 -0
  37. data/lib/plume/ast/exists_expression.rb +15 -0
  38. data/lib/plume/ast/explain_statement.rb +15 -0
  39. data/lib/plume/ast/expression.rb +30 -0
  40. data/lib/plume/ast/foreign_key_action.rb +26 -0
  41. data/lib/plume/ast/foreign_key_clause.rb +50 -0
  42. data/lib/plume/ast/foreign_key_column_constraint.rb +16 -0
  43. data/lib/plume/ast/foreign_key_table_constraint.rb +20 -0
  44. data/lib/plume/ast/frame_boundary.rb +35 -0
  45. data/lib/plume/ast/frame_spec.rb +34 -0
  46. data/lib/plume/ast/function_arguments.rb +17 -0
  47. data/lib/plume/ast/function_reference.rb +29 -0
  48. data/lib/plume/ast/generated_as_column_constraint.rb +24 -0
  49. data/lib/plume/ast/indexed_column.rb +21 -0
  50. data/lib/plume/ast/insert_statement.rb +35 -0
  51. data/lib/plume/ast/join.rb +12 -0
  52. data/lib/plume/ast/join_clause.rb +15 -0
  53. data/lib/plume/ast/join_on_constraint.rb +12 -0
  54. data/lib/plume/ast/join_operator.rb +31 -0
  55. data/lib/plume/ast/join_using_constraint.rb +16 -0
  56. data/lib/plume/ast/like_expression.rb +19 -0
  57. data/lib/plume/ast/literal_expression.rb +29 -0
  58. data/lib/plume/ast/literal_false.rb +7 -0
  59. data/lib/plume/ast/literal_nil.rb +7 -0
  60. data/lib/plume/ast/literal_value.rb +18 -0
  61. data/lib/plume/ast/match_clause.rb +15 -0
  62. data/lib/plume/ast/node.rb +207 -0
  63. data/lib/plume/ast/noop_column_constraint.rb +15 -0
  64. data/lib/plume/ast/noop_table_constraint.rb +15 -0
  65. data/lib/plume/ast/not_like_expression.rb +7 -0
  66. data/lib/plume/ast/not_null_column_constraint.rb +17 -0
  67. data/lib/plume/ast/null_column_constraint.rb +17 -0
  68. data/lib/plume/ast/ordering_term.rb +32 -0
  69. data/lib/plume/ast/over_clause.rb +25 -0
  70. data/lib/plume/ast/parenthetical_expression.rb +37 -0
  71. data/lib/plume/ast/parenthetical_source.rb +19 -0
  72. data/lib/plume/ast/pragma_statement.rb +26 -0
  73. data/lib/plume/ast/primary_key_column_constraint.rb +23 -0
  74. data/lib/plume/ast/primary_key_table_constraint.rb +23 -0
  75. data/lib/plume/ast/raise_expression.rb +23 -0
  76. data/lib/plume/ast/reindex_statement.rb +15 -0
  77. data/lib/plume/ast/release_statement.rb +16 -0
  78. data/lib/plume/ast/result_column.rb +18 -0
  79. data/lib/plume/ast/returning_clause.rb +12 -0
  80. data/lib/plume/ast/rollback_statement.rb +19 -0
  81. data/lib/plume/ast/savepoint_statement.rb +16 -0
  82. data/lib/plume/ast/select_core.rb +27 -0
  83. data/lib/plume/ast/select_statement.rb +34 -0
  84. data/lib/plume/ast/star_function_argument.rb +6 -0
  85. data/lib/plume/ast/star_result_column.rb +16 -0
  86. data/lib/plume/ast/strict_table_option.rb +6 -0
  87. data/lib/plume/ast/subquery_expression.rb +14 -0
  88. data/lib/plume/ast/subquery_source.rb +19 -0
  89. data/lib/plume/ast/table_constraint.rb +7 -0
  90. data/lib/plume/ast/table_function.rb +28 -0
  91. data/lib/plume/ast/table_name.rb +28 -0
  92. data/lib/plume/ast/table_option.rb +7 -0
  93. data/lib/plume/ast/ternary_expression.rb +26 -0
  94. data/lib/plume/ast/token.rb +180 -0
  95. data/lib/plume/ast/unary_expression.rb +36 -0
  96. data/lib/plume/ast/unique_column_constraint.rb +17 -0
  97. data/lib/plume/ast/unique_table_constraint.rb +20 -0
  98. data/lib/plume/ast/update_statement.rb +35 -0
  99. data/lib/plume/ast/upsert_clause.rb +26 -0
  100. data/lib/plume/ast/vacuum_statement.rb +18 -0
  101. data/lib/plume/ast/values_clause.rb +12 -0
  102. data/lib/plume/ast/values_row.rb +13 -0
  103. data/lib/plume/ast/variable.rb +15 -0
  104. data/lib/plume/ast/window_definition.rb +26 -0
  105. data/lib/plume/ast/with_clause.rb +15 -0
  106. data/lib/plume/ast/without_rowid_table_option.rb +6 -0
  107. data/lib/plume/catalog.rb +180 -0
  108. data/lib/plume/lexer.rb +639 -0
  109. data/lib/plume/parser.rb +4015 -0
  110. data/lib/plume/printer.rb +471 -0
  111. data/lib/plume/sqlite_grammar.rb +86 -0
  112. data/lib/plume/union.rb +28 -0
  113. data/lib/plume/version.rb +1 -1
  114. data/lib/plume.rb +143 -3
  115. metadata +167 -12
data/lib/plume.rb CHANGED
@@ -1,8 +1,148 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "plume/version"
3
+ require "plume/version"
4
+ require "literal"
5
+ require "plume/union"
4
6
 
5
7
  module Plume
6
- class Error < StandardError; end
7
- # Your code goes here...
8
+ extend Literal::Types
9
+ extend Union::Types
10
+
11
+ autoload :Lexer, "plume/lexer"
12
+ autoload :Parser, "plume/parser"
13
+ autoload :Token, "plume/ast/token"
14
+ autoload :SQLiteGrammar, "plume/sqlite_grammar"
15
+ autoload :Catalog, "plume/catalog"
16
+ autoload :Printer, "plume/printer"
17
+ autoload :Analysis, "plume/analysis"
18
+
19
+ autoload :BinaryExpression, "plume/ast/binary_expression"
20
+ autoload :ParentheticalExpression, "plume/ast/parenthetical_expression"
21
+ autoload :CaseCondition, "plume/ast/case_condition"
22
+ autoload :CaseExpression, "plume/ast/case_expression"
23
+ autoload :CastExpression, "plume/ast/cast_expression"
24
+ autoload :CheckColumnConstraint, "plume/ast/check_column_constraint"
25
+ autoload :CheckTableConstraint, "plume/ast/check_table_constraint"
26
+ autoload :CollateColumnConstraint, "plume/ast/collate_column_constraint"
27
+ autoload :CollationExpression, "plume/ast/collation_expression"
28
+ autoload :ColumnConstraint, "plume/ast/column_constraint"
29
+ autoload :ColumnDefinition, "plume/ast/column_definition"
30
+ autoload :ColumnName, "plume/ast/column_name"
31
+ autoload :ColumnType, "plume/ast/column_type"
32
+ autoload :ConflictClause, "plume/ast/conflict_clause"
33
+ autoload :CreateTableStatement, "plume/ast/create_table_statement"
34
+ autoload :CreateViewStatement, "plume/ast/create_view_statement"
35
+ autoload :DefaultColumnConstraint, "plume/ast/default_column_constraint"
36
+ autoload :EmptyFunctionArgument, "plume/ast/empty_function_argument"
37
+ autoload :Expression, "plume/ast/expression"
38
+ autoload :ForeignKeyAction, "plume/ast/foreign_key_action"
39
+ autoload :ForeignKeyClause, "plume/ast/foreign_key_clause"
40
+ autoload :ForeignKeyColumnConstraint, "plume/ast/foreign_key_column_constraint"
41
+ autoload :ForeignKeyTableConstraint, "plume/ast/foreign_key_table_constraint"
42
+ autoload :FrameBoundary, "plume/ast/frame_boundary"
43
+ autoload :FrameSpec, "plume/ast/frame_spec"
44
+ autoload :FunctionArguments, "plume/ast/function_arguments"
45
+ autoload :FunctionReference, "plume/ast/function_reference"
46
+ autoload :GeneratedAsColumnConstraint, "plume/ast/generated_as_column_constraint"
47
+ autoload :IndexedColumn, "plume/ast/indexed_column"
48
+ autoload :JoinOnConstraint, "plume/ast/join_on_constraint"
49
+ autoload :JoinUsingConstraint, "plume/ast/join_using_constraint"
50
+ autoload :LikeExpression, "plume/ast/like_expression"
51
+ autoload :LiteralFalse, "plume/ast/literal_false"
52
+ autoload :LiteralNil, "plume/ast/literal_nil"
53
+ autoload :LiteralValue, "plume/ast/literal_value"
54
+ autoload :MatchClause, "plume/ast/match_clause"
55
+ autoload :NoOpColumnConstraint, "plume/ast/noop_column_constraint"
56
+ autoload :NoOpTableConstraint, "plume/ast/noop_table_constraint"
57
+ autoload :Node, "plume/ast/node"
58
+ autoload :NotLikeExpression, "plume/ast/not_like_expression"
59
+ autoload :NotNullColumnConstraint, "plume/ast/not_null_column_constraint"
60
+ autoload :NullColumnConstraint, "plume/ast/null_column_constraint"
61
+ autoload :OrderingTerm, "plume/ast/ordering_term"
62
+ autoload :OverClause, "plume/ast/over_clause"
63
+ autoload :PrimaryKeyColumnConstraint, "plume/ast/primary_key_column_constraint"
64
+ autoload :PrimaryKeyTableConstraint, "plume/ast/primary_key_table_constraint"
65
+ autoload :RaiseExpression, "plume/ast/raise_expression"
66
+ autoload :ResultColumn, "plume/ast/result_column"
67
+ autoload :SelectStatement, "plume/ast/select_statement"
68
+ autoload :StarFunctionArgument, "plume/ast/star_function_argument"
69
+ autoload :StarResultColumn, "plume/ast/star_result_column"
70
+ autoload :StrictTableOption, "plume/ast/strict_table_option"
71
+ autoload :TableConstraint, "plume/ast/table_constraint"
72
+ autoload :TableName, "plume/ast/table_name"
73
+ autoload :TableOption, "plume/ast/table_option"
74
+ autoload :TernaryExpression, "plume/ast/ternary_expression"
75
+ autoload :UnaryExpression, "plume/ast/unary_expression"
76
+ autoload :UniqueColumnConstraint, "plume/ast/unique_column_constraint"
77
+ autoload :UniqueTableConstraint, "plume/ast/unique_table_constraint"
78
+ autoload :LiteralExpression, "plume/ast/literal_expression"
79
+ autoload :Variable, "plume/ast/variable"
80
+ autoload :WithoutRowidTableOption, "plume/ast/without_rowid_table_option"
81
+ autoload :AlterTableStatement, "plume/ast/alter_table_statement"
82
+ autoload :AnalyzeStatement, "plume/ast/analyze_statement"
83
+ autoload :AttachStatement, "plume/ast/attach_statement"
84
+ autoload :BeginStatement, "plume/ast/begin_statement"
85
+ autoload :CommitStatement, "plume/ast/commit_statement"
86
+ autoload :CreateIndexStatement, "plume/ast/create_index_statement"
87
+ autoload :CreateTriggerStatement, "plume/ast/create_trigger_statement"
88
+ autoload :CreateVirtualTableStatement, "plume/ast/create_virtual_table_statement"
89
+ autoload :DetachStatement, "plume/ast/detach_statement"
90
+ autoload :DropStatement, "plume/ast/drop_statement"
91
+ autoload :ExplainStatement, "plume/ast/explain_statement"
92
+ autoload :PragmaStatement, "plume/ast/pragma_statement"
93
+ autoload :ReindexStatement, "plume/ast/reindex_statement"
94
+ autoload :ReleaseStatement, "plume/ast/release_statement"
95
+ autoload :RollbackStatement, "plume/ast/rollback_statement"
96
+ autoload :SavepointStatement, "plume/ast/savepoint_statement"
97
+ autoload :VacuumStatement, "plume/ast/vacuum_statement"
98
+ autoload :Assignment, "plume/ast/assignment"
99
+ autoload :ConflictResolution, "plume/ast/conflict_resolution"
100
+ autoload :DeleteStatement, "plume/ast/delete_statement"
101
+ autoload :InsertStatement, "plume/ast/insert_statement"
102
+ autoload :ReturningClause, "plume/ast/returning_clause"
103
+ autoload :UpdateStatement, "plume/ast/update_statement"
104
+ autoload :UpsertClause, "plume/ast/upsert_clause"
105
+ autoload :CommonTableExpression, "plume/ast/common_table_expression"
106
+ autoload :CompoundSelect, "plume/ast/compound_select"
107
+ autoload :ExistsExpression, "plume/ast/exists_expression"
108
+ autoload :Join, "plume/ast/join"
109
+ autoload :JoinClause, "plume/ast/join_clause"
110
+ autoload :JoinOperator, "plume/ast/join_operator"
111
+ autoload :ParentheticalSource, "plume/ast/parenthetical_source"
112
+ autoload :SelectCore, "plume/ast/select_core"
113
+ autoload :SubqueryExpression, "plume/ast/subquery_expression"
114
+ autoload :SubquerySource, "plume/ast/subquery_source"
115
+ autoload :TableFunction, "plume/ast/table_function"
116
+ autoload :ValuesClause, "plume/ast/values_clause"
117
+ autoload :ValuesRow, "plume/ast/values_row"
118
+ autoload :WindowDefinition, "plume/ast/window_definition"
119
+ autoload :WithClause, "plume/ast/with_clause"
120
+
121
+ SyntaxError = Class.new(StandardError)
122
+
123
+ def self.tokenize(str, with_values: false, skip_spaces: true)
124
+ lex = Lexer.new(str, skip_spaces: skip_spaces)
125
+ [].tap do |tokens|
126
+ while (token = lex.next_token)
127
+ tokens << (with_values ? [token, lex.value] : token)
128
+ end
129
+ end
130
+ end
131
+
132
+ def self.parse(sql)
133
+ Parser.new(sql).parse
134
+ end
135
+
136
+ # The line of `sql` holding bytes `beg...fin`, with a caret underneath them
137
+ def self.excerpt(sql, beg, fin)
138
+ src = sql.b # positions are byte offsets
139
+ line_start = (beg.zero? ? nil : src.rindex("\n", beg - 1))&.+(1) || 0
140
+ line_end = src.index("\n", beg) || src.bytesize
141
+ line = src.byteslice(line_start, line_end - line_start).force_encoding(Encoding::UTF_8)
142
+ caret = (" " * (beg - line_start)) + ("^" * [fin - beg, 1].max)
143
+ " #{line}\n #{caret}"
144
+ end
145
+
146
+ def self.reads(...) = Analysis.reads(...)
147
+ def self.access(...) = Analysis.access(...)
8
148
  end
metadata CHANGED
@@ -1,18 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plume
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Margheim
8
+ - Joel Drapper
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2024-12-29 00:00:00.000000000 Z
11
- dependencies: []
12
- description: Plume is a Ruby library that allows you to write SQLite's dialect of
13
- SQL with structured Ruby.
11
+ date: 1980-01-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: literal
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: quickdraw
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Plume parses any statement in SQLite's grammar into a syntax tree you
56
+ can walk, change and print back to SQL, and tells you which tables and columns a
57
+ statement reads and writes.
14
58
  email:
15
59
  - stephen.margheim@gmail.com
60
+ - joel@drapper.me
16
61
  executables: []
17
62
  extensions: []
18
63
  extra_rdoc_files: []
@@ -20,14 +65,124 @@ files:
20
65
  - LICENSE.txt
21
66
  - README.md
22
67
  - lib/plume.rb
68
+ - lib/plume/analysis.rb
69
+ - lib/plume/analysis/resolver.rb
70
+ - lib/plume/ast/alter_table_statement.rb
71
+ - lib/plume/ast/analyze_statement.rb
72
+ - lib/plume/ast/assignment.rb
73
+ - lib/plume/ast/attach_statement.rb
74
+ - lib/plume/ast/begin_statement.rb
75
+ - lib/plume/ast/binary_expression.rb
76
+ - lib/plume/ast/case_condition.rb
77
+ - lib/plume/ast/case_expression.rb
78
+ - lib/plume/ast/cast_expression.rb
79
+ - lib/plume/ast/check_column_constraint.rb
80
+ - lib/plume/ast/check_table_constraint.rb
81
+ - lib/plume/ast/collate_column_constraint.rb
82
+ - lib/plume/ast/collation_expression.rb
83
+ - lib/plume/ast/column_constraint.rb
84
+ - lib/plume/ast/column_definition.rb
85
+ - lib/plume/ast/column_name.rb
86
+ - lib/plume/ast/column_type.rb
87
+ - lib/plume/ast/commit_statement.rb
88
+ - lib/plume/ast/common_table_expression.rb
89
+ - lib/plume/ast/compound_select.rb
90
+ - lib/plume/ast/conflict_clause.rb
91
+ - lib/plume/ast/conflict_resolution.rb
92
+ - lib/plume/ast/create_index_statement.rb
93
+ - lib/plume/ast/create_table_statement.rb
94
+ - lib/plume/ast/create_trigger_statement.rb
95
+ - lib/plume/ast/create_view_statement.rb
96
+ - lib/plume/ast/create_virtual_table_statement.rb
97
+ - lib/plume/ast/default_column_constraint.rb
98
+ - lib/plume/ast/delete_statement.rb
99
+ - lib/plume/ast/detach_statement.rb
100
+ - lib/plume/ast/drop_statement.rb
101
+ - lib/plume/ast/empty_function_argument.rb
102
+ - lib/plume/ast/exists_expression.rb
103
+ - lib/plume/ast/explain_statement.rb
104
+ - lib/plume/ast/expression.rb
105
+ - lib/plume/ast/foreign_key_action.rb
106
+ - lib/plume/ast/foreign_key_clause.rb
107
+ - lib/plume/ast/foreign_key_column_constraint.rb
108
+ - lib/plume/ast/foreign_key_table_constraint.rb
109
+ - lib/plume/ast/frame_boundary.rb
110
+ - lib/plume/ast/frame_spec.rb
111
+ - lib/plume/ast/function_arguments.rb
112
+ - lib/plume/ast/function_reference.rb
113
+ - lib/plume/ast/generated_as_column_constraint.rb
114
+ - lib/plume/ast/indexed_column.rb
115
+ - lib/plume/ast/insert_statement.rb
116
+ - lib/plume/ast/join.rb
117
+ - lib/plume/ast/join_clause.rb
118
+ - lib/plume/ast/join_on_constraint.rb
119
+ - lib/plume/ast/join_operator.rb
120
+ - lib/plume/ast/join_using_constraint.rb
121
+ - lib/plume/ast/like_expression.rb
122
+ - lib/plume/ast/literal_expression.rb
123
+ - lib/plume/ast/literal_false.rb
124
+ - lib/plume/ast/literal_nil.rb
125
+ - lib/plume/ast/literal_value.rb
126
+ - lib/plume/ast/match_clause.rb
127
+ - lib/plume/ast/node.rb
128
+ - lib/plume/ast/noop_column_constraint.rb
129
+ - lib/plume/ast/noop_table_constraint.rb
130
+ - lib/plume/ast/not_like_expression.rb
131
+ - lib/plume/ast/not_null_column_constraint.rb
132
+ - lib/plume/ast/null_column_constraint.rb
133
+ - lib/plume/ast/ordering_term.rb
134
+ - lib/plume/ast/over_clause.rb
135
+ - lib/plume/ast/parenthetical_expression.rb
136
+ - lib/plume/ast/parenthetical_source.rb
137
+ - lib/plume/ast/pragma_statement.rb
138
+ - lib/plume/ast/primary_key_column_constraint.rb
139
+ - lib/plume/ast/primary_key_table_constraint.rb
140
+ - lib/plume/ast/raise_expression.rb
141
+ - lib/plume/ast/reindex_statement.rb
142
+ - lib/plume/ast/release_statement.rb
143
+ - lib/plume/ast/result_column.rb
144
+ - lib/plume/ast/returning_clause.rb
145
+ - lib/plume/ast/rollback_statement.rb
146
+ - lib/plume/ast/savepoint_statement.rb
147
+ - lib/plume/ast/select_core.rb
148
+ - lib/plume/ast/select_statement.rb
149
+ - lib/plume/ast/star_function_argument.rb
150
+ - lib/plume/ast/star_result_column.rb
151
+ - lib/plume/ast/strict_table_option.rb
152
+ - lib/plume/ast/subquery_expression.rb
153
+ - lib/plume/ast/subquery_source.rb
154
+ - lib/plume/ast/table_constraint.rb
155
+ - lib/plume/ast/table_function.rb
156
+ - lib/plume/ast/table_name.rb
157
+ - lib/plume/ast/table_option.rb
158
+ - lib/plume/ast/ternary_expression.rb
159
+ - lib/plume/ast/token.rb
160
+ - lib/plume/ast/unary_expression.rb
161
+ - lib/plume/ast/unique_column_constraint.rb
162
+ - lib/plume/ast/unique_table_constraint.rb
163
+ - lib/plume/ast/update_statement.rb
164
+ - lib/plume/ast/upsert_clause.rb
165
+ - lib/plume/ast/vacuum_statement.rb
166
+ - lib/plume/ast/values_clause.rb
167
+ - lib/plume/ast/values_row.rb
168
+ - lib/plume/ast/variable.rb
169
+ - lib/plume/ast/window_definition.rb
170
+ - lib/plume/ast/with_clause.rb
171
+ - lib/plume/ast/without_rowid_table_option.rb
172
+ - lib/plume/catalog.rb
173
+ - lib/plume/lexer.rb
174
+ - lib/plume/parser.rb
175
+ - lib/plume/printer.rb
176
+ - lib/plume/sqlite_grammar.rb
177
+ - lib/plume/union.rb
23
178
  - lib/plume/version.rb
24
- homepage: https://github.com/fractaledmind/plume
179
+ homepage: https://github.com/yippee-fun/plume
25
180
  licenses:
26
181
  - MIT
27
182
  metadata:
28
- homepage_uri: https://github.com/fractaledmind/plume
29
- source_code_uri: https://github.com/fractaledmind/plume
30
- changelog_uri: https://github.com/fractaledmind/plume/releases
183
+ homepage_uri: https://github.com/yippee-fun/plume
184
+ source_code_uri: https://github.com/yippee-fun/plume
185
+ changelog_uri: https://github.com/yippee-fun/plume/blob/main/CHANGELOG.md
31
186
  funding_uri: https://github.com/sponsors/fractaledmind
32
187
  rdoc_options: []
33
188
  require_paths:
@@ -36,14 +191,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
36
191
  requirements:
37
192
  - - ">="
38
193
  - !ruby/object:Gem::Version
39
- version: 3.1.0
194
+ version: 3.2.0
40
195
  required_rubygems_version: !ruby/object:Gem::Requirement
41
196
  requirements:
42
197
  - - ">="
43
198
  - !ruby/object:Gem::Version
44
199
  version: '0'
45
200
  requirements: []
46
- rubygems_version: 3.6.2
201
+ rubygems_version: 4.0.16
47
202
  specification_version: 4
48
- summary: Write SQLite's dialect of SQL with elegance.
203
+ summary: Parse, analyze and print SQLite's dialect of SQL
49
204
  test_files: []