logical_query_parser 0.3.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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