logical_query_parser 0.3.4 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 717b464be4b7033bdddfcf640c16f146ace99ed3f9ec755e46c1bbb222315cc2
4
- data.tar.gz: e11b02cec70f9fa280721731456dfe6d252a4a7bc7b580d9f31afc5afdbce679
3
+ metadata.gz: 21e876f1e9e4496b81a09656f8f9667817b79cc961fd72557dafd56ee20f7f37
4
+ data.tar.gz: b44d2f653f33c10de26fa2f80010836291abe78804354b84bb9aa1c54f5210ac
5
5
  SHA512:
6
- metadata.gz: 62ac096dc6437121209c235b6daa522ff19d50d91ac31551129ac8aa67127f151815ee61488a88b9ed34440546540c44d7f2a152cc500fc652e70cd7dedf55d1
7
- data.tar.gz: 3d9ee48804f605417a2ec86ee8151b197d8a8d5f7b157dd969c6c3f07a34fa95dc9171dcdf090f6b6b0269c8df3f070f19fa6cf81177867a9a2c9231af58b4ad
6
+ metadata.gz: 0b1337963075eb702293de0b3f9fb01880db2e2b7ed15b265858806fd5a75c25c0dd253c309060c7fa6982a8eda8e1b42d1ed82a3d978ac94a58f6169b9959e3
7
+ data.tar.gz: 02a3028859413314aee0284ac1beda1355dd633101ed449c2029447277a5e3c8fd552afc683313f276e8bdd25f9a868f6fc8b1cbd443603c9f6ce422947f3104
@@ -4,11 +4,11 @@ on: [push, pull_request]
4
4
 
5
5
  jobs:
6
6
  test:
7
- runs-on: ubuntu-20.04
7
+ runs-on: ubuntu-22.04
8
8
  strategy:
9
9
  fail-fast: false
10
10
  matrix:
11
- ruby: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, 3.2]
11
+ ruby: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, 3.2, 3.3]
12
12
  gemfile: ['rails42', 'rails50', 'rails51', 'rails52', 'rails60', 'rails61', 'rails70', 'rails71']
13
13
  exclude:
14
14
  - ruby: 2.3
@@ -61,6 +61,14 @@ jobs:
61
61
  gemfile: rails51
62
62
  - ruby: 3.2
63
63
  gemfile: rails52
64
+ - ruby: 3.3
65
+ gemfile: rails42
66
+ - ruby: 3.3
67
+ gemfile: rails50
68
+ - ruby: 3.3
69
+ gemfile: rails51
70
+ - ruby: 3.3
71
+ gemfile: rails52
64
72
 
65
73
  name: ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}
66
74
 
@@ -68,7 +76,7 @@ jobs:
68
76
  BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
69
77
 
70
78
  steps:
71
- - uses: actions/checkout@v3
79
+ - uses: actions/checkout@v4
72
80
  - uses: ruby/setup-ruby@v1
73
81
  with:
74
82
  ruby-version: ${{ matrix.ruby }}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.4.0
4
+
5
+ * Add `frozen_string_literal: true`.
6
+ * Fix internal hash key for building sql.
7
+
3
8
  ## 0.3.4
4
9
 
5
10
  * Just rebuild gem file to fix file permission.
@@ -1,6 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem "activerecord", "~> 6.0.0"
4
+ gem "sqlite3", "~> 1.4.0"
4
5
  gem "psych", "~> 3.3.0"
5
6
 
6
7
  gemspec path: "../"
@@ -1,5 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem "rails", "~> 6.1.0"
4
+ gem "sqlite3", "~> 1.4.0"
4
5
 
5
6
  gemspec path: "../"
@@ -1,5 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem "rails", "~> 7.0.1"
4
+ gem "sqlite3", "~> 1.4.0"
4
5
 
5
6
  gemspec path: "../"
@@ -1,5 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem "rails", "~> 7.1.0"
4
+ gem "sqlite3", "~> 1.6.6"
4
5
 
5
6
  gemspec path: "../"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LogicalQueryParser
2
4
  class Assoc
3
5
  attr_accessor :column_mapping, :structure
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'assoc'
2
4
 
3
5
  module LogicalQueryParser
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LogicalQueryParser
2
4
  module ExpNode
3
5
  def to_sql(params = {})
4
- params[:sql] ||= ''
6
+ params[:_sql] ||= ''.dup
5
7
  exp.to_sql(params)
6
8
  end
7
9
  end
@@ -15,10 +17,10 @@ module LogicalQueryParser
15
17
  exp.to_sql(params)
16
18
  rparen.to_sql(params)
17
19
  if rexp.elements.size > 0
18
- params[:sql] += ' AND '
20
+ params[:_sql] += ' AND '
19
21
  rexp.elements[0].to_sql(params)
20
22
  end
21
- params[:sql]
23
+ params[:_sql]
22
24
  end
23
25
  end
24
26
 
@@ -33,38 +35,38 @@ module LogicalQueryParser
33
35
  module LiteralExpNode
34
36
  def to_sql(params)
35
37
  literal.to_sql(params)
36
- params[:sql] << ' AND '
38
+ params[:_sql] << ' AND '
37
39
  exp.to_sql(params)
38
40
  end
39
41
  end
40
42
 
41
43
  module LParenNode
42
44
  def to_sql(params)
43
- params[:sql] << '('
45
+ params[:_sql] << '('
44
46
  end
45
47
  end
46
48
 
47
49
  module RParenNode
48
50
  def to_sql(params)
49
- params[:sql] << ')'
51
+ params[:_sql] << ')'
50
52
  end
51
53
  end
52
54
 
53
55
  module AndNode
54
56
  def to_sql(params)
55
- params[:sql] << ' AND '
57
+ params[:_sql] << ' AND '
56
58
  end
57
59
  end
58
60
 
59
61
  module OrNode
60
62
  def to_sql(params)
61
- params[:sql] << ' OR '
63
+ params[:_sql] << ' OR '
62
64
  end
63
65
  end
64
66
 
65
67
  module NotNode
66
68
  def to_sql(params)
67
- params[:sql] << 'NOT '
69
+ params[:_sql] << 'NOT '
68
70
  end
69
71
  end
70
72
 
@@ -75,7 +77,7 @@ module LogicalQueryParser
75
77
 
76
78
  sql = build_arel(params, operator, text).reduce(logic).to_sql
77
79
  sql = "(#{sql})" if sql[0] != '(' && sql[-1] != ')'
78
- params[:sql] << sql
80
+ params[:_sql] << sql
79
81
  end
80
82
 
81
83
  private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LogicalQueryParser
2
4
  module ExpNode
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LogicalQueryParser
2
- VERSION = "0.3.4"
4
+ VERSION = "0.4.0"
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'treetop'
2
4
  Treetop.load File.expand_path("../logical_query_parser.treetop", __FILE__)
3
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logical_query_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshikazu Kaneta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-30 00:00:00.000000000 Z
11
+ date: 2024-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: treetop