arel_extensions 2.0.22 → 2.0.24

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: 57188b98a348ea5dd72994ef0edb94cb386104cbd50d863b3cc465bb81499f8f
4
- data.tar.gz: 7235c655967c8058e24f85f96b1a3ea93803dc759906ea24aff360edf28ee6fb
3
+ metadata.gz: bbeb1b141db51f78567bf26939ecb75832dd1c3e524407bf11a56308d8da6d14
4
+ data.tar.gz: 543d1893d29e871ebfa9ccdc8e49179cbedf49cd5ccf6b082113925bedffbc81
5
5
  SHA512:
6
- metadata.gz: c60be09bdf31efe2b4a953c0b097bbc461d01a4d7005c1dc190af20efb12e659d2331e16d8ca47527b9757b89a2528069fa1a8a94cfd52bc80000633995b229f
7
- data.tar.gz: b028042975ab07e0d28e919278c36f2652fae79dbced3776e16519f4fdfaaf45de32a0a375cb7e77d5157775d2a3ef8555f9096299b2c71f366367e6452a93a6
6
+ metadata.gz: e4957e64d63412917884f8cc79b42b81643a7e512f4a0e0ef2331672f34cf625b1cec88dbefdf3e3c65d8fca63e2258dc0ff56d8e96964a392c12a89657756c9
7
+ data.tar.gz: 2d090ca797080248a3a44521cdae686e721e627c787fa971e340c2b9dc08b91e51992fd47265aad6ccf0bee2d73c8a2e72ad5681fe09844008f5e21577a2d8ce
@@ -23,6 +23,6 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency('activerecord', '>= 6.0')
24
24
 
25
25
  s.add_development_dependency('minitest', '~> 5.9')
26
- s.add_development_dependency('rdoc', '~> 4.0')
26
+ s.add_development_dependency('rdoc', '>= 6.3.1')
27
27
  s.add_development_dependency('rake', '~> 12.3.3')
28
28
  end
@@ -23,6 +23,6 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency('arel', '>= 6.0')
24
24
 
25
25
  s.add_development_dependency('minitest', '~> 5.9')
26
- s.add_development_dependency('rdoc', '~> 4.0')
26
+ s.add_development_dependency('rdoc', '>= 6.3.1')
27
27
  s.add_development_dependency('rake', '~> 12.3.3')
28
28
  end
@@ -23,6 +23,6 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency('activerecord', '>= 6.0')
24
24
 
25
25
  s.add_development_dependency('minitest', '~> 5.9')
26
- s.add_development_dependency('rdoc', '~> 4.0')
26
+ s.add_development_dependency('rdoc', '>= 6.3.1')
27
27
  s.add_development_dependency('rake', '~> 12.3.3')
28
28
  end
@@ -3,23 +3,25 @@ require 'arel'
3
3
  module ArelExtensions
4
4
  module InsertManager
5
5
  def bulk_insert(cols, data)
6
- res_columns = []
7
- case cols.first
8
- when String, Symbol
9
- cols.each { |c|
10
- res_columns << @ast.relation[c]
11
- }
12
- when Array
13
- if String === cols.first.first
14
- res_columns = cols.map {|c| [@ast.relation[c.first]] }
15
- elsif Arel::Attributes::Attribute == cols.first.first
16
- res_columns = cols
17
- end
18
- when NilClass
19
- res_columns = @ast.relation.columns
20
- end
21
- self.values = BulkValues.new(res_columns, data)
22
- @ast.columns = res_columns
6
+ raise ArgumentError, "cols must be present" if cols.blank?
7
+ columns =
8
+ case cols.first
9
+ when Array
10
+ case cols.first.first
11
+ when Arel::Attributes::Attribute
12
+ cols
13
+ when String, Symbol
14
+ cols.map {|c| [@ast.relation[c.first]] }
15
+ else
16
+ raise ArgumentError, "cols has an invalid type: #{cols.first.first.class}"
17
+ end
18
+ when String, Symbol
19
+ cols.map { |c| @ast.relation[c] }
20
+ else
21
+ raise ArgumentError, "cols has an invalid type: #{cols.first.class}"
22
+ end
23
+ self.values = BulkValues.new(columns, data)
24
+ @ast.columns = columns
23
25
  end
24
26
 
25
27
  class BulkValues < Arel::Nodes::Node
@@ -22,21 +22,21 @@ module ArelExtensions
22
22
  if self.expr.left.is_a?(String) || self.expr.right.is_a?(String)
23
23
  return self.concat(other)
24
24
  else
25
- return Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new self, other)
25
+ return Arel.grouping(Arel::Nodes::Addition.new self, other)
26
26
  end
27
27
  when ArelExtensions::Nodes::Function,ArelExtensions::Nodes::Case
28
28
  return case self.return_type
29
29
  when :string, :text
30
30
  self.concat(other)
31
31
  when :integer, :decimal, :float, :number, :int
32
- Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new self, other)
32
+ Arel.grouping(Arel::Nodes::Addition.new self, other)
33
33
  when :date, :datetime
34
34
  ArelExtensions::Nodes::DateAdd.new [self, other]
35
35
  else
36
36
  self.concat(other)
37
37
  end
38
38
  when Arel::Nodes::Function
39
- Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new self, other)
39
+ Arel.grouping(Arel::Nodes::Addition.new self, other)
40
40
  else
41
41
  begin
42
42
  col = Arel::Table.engine.connection.schema_cache.columns_hash(self.relation.table_name)[self.name.to_s]
@@ -44,15 +44,15 @@ module ArelExtensions
44
44
  col = nil
45
45
  end
46
46
  if (!col) # if the column doesn't exist in the database
47
- Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new(self, other))
47
+ Arel.grouping(Arel::Nodes::Addition.new(self, other))
48
48
  else
49
49
  arg = col.type
50
50
  if arg == :integer || (!arg)
51
51
  other = other.to_i if other.is_a?(String)
52
- Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new self, other)
52
+ Arel.grouping(Arel::Nodes::Addition.new self, other)
53
53
  elsif arg == :decimal || arg == :float
54
54
  other = Arel.sql(other) if other.is_a?(String) # Arel should accept Float & BigDecimal!
55
- Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new self, other)
55
+ Arel.grouping(Arel::Nodes::Addition.new self, other)
56
56
  elsif arg == :datetime || arg == :date
57
57
  ArelExtensions::Nodes::DateAdd.new [self, other]
58
58
  elsif arg == :string || arg == :text
@@ -68,23 +68,23 @@ module ArelExtensions
68
68
  case self
69
69
  when Arel::Nodes::Grouping
70
70
  if self.expr.left.is_a?(Date) || self.expr.left.is_a?(DateTime)
71
- Arel::Nodes::Grouping.new(ArelExtensions::Nodes::DateSub.new [self, other])
71
+ Arel.grouping(ArelExtensions::Nodes::DateSub.new [self, other])
72
72
  else
73
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other))
73
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, other))
74
74
  end
75
75
  when ArelExtensions::Nodes::Function, ArelExtensions::Nodes::Case
76
76
  case self.return_type
77
77
  when :string, :text # ???
78
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other)) # ??
78
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, other)) # ??
79
79
  when :integer, :decimal, :float, :number
80
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other))
80
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, other))
81
81
  when :date, :datetime
82
82
  ArelExtensions::Nodes::DateSub.new [self, other]
83
83
  else
84
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other))
84
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, other))
85
85
  end
86
86
  when Arel::Nodes::Function
87
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other))
87
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, other))
88
88
  else
89
89
  begin
90
90
  col = Arel::Table.engine.connection.schema_cache.columns_hash(self.relation.table_name)[self.name.to_s]
@@ -92,7 +92,7 @@ module ArelExtensions
92
92
  col = nil
93
93
  end
94
94
  if (!col) # if the column doesn't exist in the database
95
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other))
95
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, other))
96
96
  else
97
97
  arg = col.type
98
98
  if (arg == :date || arg == :datetime)
@@ -123,11 +123,11 @@ module ArelExtensions
123
123
  else
124
124
  case other
125
125
  when Integer, Float, BigDecimal
126
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, Arel.sql(other.to_s)))
126
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, Arel.sql(other.to_s)))
127
127
  when String
128
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, Arel.sql(other)))
128
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, Arel.sql(other)))
129
129
  else
130
- Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other))
130
+ Arel.grouping(Arel::Nodes::Subtraction.new(self, other))
131
131
  end
132
132
  end
133
133
  end
@@ -104,6 +104,10 @@ module ArelExtensions
104
104
  def as other
105
105
  Arel::Nodes::As.new self, Arel::Nodes::SqlLiteral.new(other)
106
106
  end
107
+
108
+ def xas other
109
+ Arel::Nodes::As.new self, Arel::Nodes::SqlLiteral.new(other)
110
+ end
107
111
  end
108
112
  end
109
113
  end
@@ -42,7 +42,7 @@ module ArelExtensions
42
42
  when :ruby_time
43
43
  ArelExtensions::Nodes::DateAdd.new [self, other]
44
44
  else
45
- Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new self, other)
45
+ Arel.grouping(Arel::Nodes::Addition.new self, other)
46
46
  end
47
47
  end
48
48
 
@@ -52,7 +52,9 @@ module ArelExtensions
52
52
  case att
53
53
  when Arel::Attributes::Attribute
54
54
  begin
55
- Arel::Table.engine.connection.schema_cache.columns_hash(att.relation.table_name)[att.name.to_s].type
55
+ if Arel::Table.engine.connection.tables.include? att.relation.table_name
56
+ Arel::Table.engine.connection.schema_cache.columns_hash(att.relation.table_name)[att.name.to_s].type
57
+ end
56
58
  rescue
57
59
  att
58
60
  end
@@ -80,7 +82,7 @@ module ArelExtensions
80
82
  when ActiveSupport::Duration
81
83
  Arel.sql(object.to_i)
82
84
  when Array
83
- Arel::Nodes::Grouping.new(object.map{|e| convert_to_node(e)})
85
+ Arel.grouping(object.map{|e| convert_to_node(e)})
84
86
  else
85
87
  raise(ArgumentError, "#{object.class} cannot be converted to CONCAT arg")
86
88
  end
@@ -46,7 +46,9 @@ module ArelExtensions
46
46
  when DateTime, Time
47
47
  convert_to_node(n.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
48
48
  when NilClass
49
- Arel.sql('null')
49
+ Arel.null
50
+ when Arel::SelectManager
51
+ Arel.grouping(n)
50
52
  else
51
53
  convert_to_node(n)
52
54
  end
@@ -10,10 +10,6 @@ module ArelExtensions
10
10
  @substitute = convert_to_node(substitute)
11
11
  super([@left,@pattern,@substitute])
12
12
  end
13
-
14
- def +(other)
15
- return ArelExtensions::Nodes::Concat.new(self.expressions + [other])
16
- end
17
13
  end
18
14
 
19
15
  class RegexpReplace < Function
@@ -26,10 +22,6 @@ module ArelExtensions
26
22
  @substitute = convert_to_node(substitute)
27
23
  super([@left,@pattern,@substitute])
28
24
  end
29
-
30
- def +(other)
31
- return ArelExtensions::Nodes::Concat.new(self.expressions + [other])
32
- end
33
25
  end
34
26
  end
35
27
  end
@@ -14,7 +14,7 @@ module ArelExtensions
14
14
  end
15
15
 
16
16
  def as other
17
- Arel::Nodes::TableAlias.new Arel::Nodes::Grouping.new(self), Arel::Nodes::SqlLiteral.new(other.to_s)
17
+ Arel::Nodes::TableAlias.new Arel.grouping(self), Arel::Nodes::SqlLiteral.new(other.to_s)
18
18
  end
19
19
  end
20
20
  end
@@ -10,7 +10,7 @@ module ArelExtensions
10
10
  end
11
11
 
12
12
  def as other
13
- Arel::Nodes::TableAlias.new Arel::Nodes::Grouping.new(self), Arel::Nodes::SqlLiteral.new(other.to_s)
13
+ Arel::Nodes::TableAlias.new Arel.grouping(self), Arel::Nodes::SqlLiteral.new(other.to_s)
14
14
  end
15
15
  end
16
16
  end
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "2.0.22".freeze
2
+ VERSION = "2.0.24".freeze
3
3
  end
@@ -373,6 +373,8 @@ module ArelExtensions
373
373
  Arel::Nodes::SqlLiteral.new('date')
374
374
  when :binary
375
375
  Arel::Nodes::SqlLiteral.new('binary')
376
+ when :jsonb
377
+ Arel::Nodes::SqlLiteral.new('jsonb')
376
378
  else
377
379
  Arel::Nodes::SqlLiteral.new(o.as_attr.to_s)
378
380
  end
@@ -401,13 +403,13 @@ module ArelExtensions
401
403
  ArelExtensions::Nodes::Concat.new([
402
404
  Arel::Nodes::NamedFunction.new('TRIM',[
403
405
  Arel::Nodes::NamedFunction.new('TO_CHAR',[
404
- col.abs/Arel::Nodes.build_quoted(10).pow(col.abs.log10.floor),
406
+ Arel.when(col.not_eq 0).then(col.abs/Arel::Nodes.build_quoted(10).pow(col.abs.log10.floor)).else(1),
405
407
  Arel::Nodes.build_quoted('FM'+nines_before+'"'+comma+'"V'+nines_after)
406
408
  ])]),
407
409
  o.type,
408
410
  Arel::Nodes::NamedFunction.new('TRIM',[
409
411
  Arel::Nodes::NamedFunction.new('TO_CHAR',[
410
- col.abs.log10.floor,
412
+ Arel.when(col.not_eq 0).then(col.abs.log10.floor).else(0),
411
413
  Arel::Nodes.build_quoted('FM'+nines_before)
412
414
  ])])
413
415
  ])
@@ -511,8 +513,6 @@ module ArelExtensions
511
513
  collector << '::jsonb'
512
514
  when NilClass
513
515
  collector << %Q['null'::jsonb]
514
- when Arel::Attributes::Attribute
515
- collector = visit o.dict.cast(:jsonb), collector
516
516
  else
517
517
  collector = visit o.dict, collector
518
518
  collector << '::jsonb'
@@ -532,7 +532,7 @@ module ArelExtensions
532
532
 
533
533
  def visit_ArelExtensions_Nodes_JsonGet o,collector
534
534
  collector = visit o.dict, collector
535
- collector << ' -> '
535
+ collector << ' ->> '
536
536
  collector = visit o.key, collector
537
537
  collector
538
538
  end
@@ -601,20 +601,20 @@ module ArelExtensions
601
601
  def json_value(o,v)
602
602
  case o.type_of_node(v)
603
603
  when :string
604
- Arel.when(v.is_null).then(Arel::Nodes.build_quoted("null")).else(make_json_string(v))
604
+ Arel.when(v.is_null).then(Arel.null).else(make_json_string(v))
605
605
  when :date
606
606
  s = v.format('%Y-%m-%d')
607
- Arel.when(s.is_null).then(Arel::Nodes.build_quoted("null")).else(Arel::Nodes.build_quoted('"') + s + '"')
607
+ Arel.when(s.is_null).then(Arel.null).else(make_json_string(s))
608
608
  when :datetime
609
609
  s = v.format('%Y-%m-%dT%H:%M:%S')
610
- Arel.when(s.is_null).then(Arel::Nodes.build_quoted("null")).else(Arel::Nodes.build_quoted('"') + s + '"')
610
+ Arel.when(s.is_null).then(Arel.null).else(make_json_string(s))
611
611
  when :time
612
612
  s = v.format('%H:%M:%S')
613
- Arel.when(s.is_null).then(Arel::Nodes.build_quoted("null")).else(Arel::Nodes.build_quoted('"') + s + '"')
613
+ Arel.when(s.is_null).then(Arel.null).else(make_json_string(s))
614
614
  when :nil
615
- Arel::Nodes.build_quoted("null")
615
+ Arel.null
616
616
  else
617
- ArelExtensions::Nodes::Cast.new([v, :string]).coalesce("null")
617
+ ArelExtensions::Nodes::Cast.new([v, :string]).coalesce(Arel.null)
618
618
  end
619
619
  end
620
620
 
@@ -9,9 +9,17 @@ if defined?(Arel::Visitors::Oracle)
9
9
  require 'arel_extensions/visitors/oracle12'
10
10
  end
11
11
 
12
- if defined?(Arel::Visitors::MSSQL)
12
+ if defined?(Arel::Visitors::SQLServer) || defined?(Arel::Visitors::MSSQL)
13
13
  require 'arel_extensions/visitors/mssql'
14
+ end
14
15
 
16
+ if defined?(Arel::Visitors::SQLServer)
17
+ class Arel::Visitors::SQLServer
18
+ include ArelExtensions::Visitors::MSSQL
19
+ end
20
+ end
21
+
22
+ if defined?(Arel::Visitors::MSSQL)
15
23
  class Arel::Visitors::MSSQL
16
24
  include ArelExtensions::Visitors::MSSQL
17
25
 
@@ -34,9 +34,9 @@ class Arel::Nodes::Grouping
34
34
  end
35
35
 
36
36
  class Arel::Nodes::Ordering
37
- def eql? other
38
- self.hash.eql? other.hash
39
- end
37
+ def eql? other
38
+ self.hash.eql? other.hash
39
+ end
40
40
  end
41
41
 
42
42
  class Arel::Nodes::Function
@@ -88,11 +88,13 @@ module Arel
88
88
  end
89
89
 
90
90
  def self.json *expr
91
- if expr.length == 1
92
- ArelExtensions::Nodes::Json.new(expr.first)
93
- else
94
- ArelExtensions::Nodes::Json.new(expr)
95
- end
91
+ ArelExtensions::Nodes::Json.new(
92
+ if expr.length == 1
93
+ expr.first
94
+ else
95
+ expr
96
+ end
97
+ )
96
98
  end
97
99
 
98
100
  def self.when condition
@@ -100,20 +102,31 @@ module Arel
100
102
  end
101
103
 
102
104
  def self.duration s, expr
103
- ArelExtensions::Nodes::Duration.new(s.to_s+'i',expr)
105
+ ArelExtensions::Nodes::Duration.new("#{s}i", expr)
104
106
  end
105
107
 
108
+ def self.grouping *v
109
+ Arel::Nodes::Grouping.new(*v)
110
+ end
111
+
112
+ # The TRUE pseudo literal.
106
113
  def self.true
107
- Arel::Nodes::Equality.new(1,1)
114
+ Arel::Nodes::Equality.new(1, 1)
108
115
  end
109
116
 
117
+ # The FALSE pseudo literal.
110
118
  def self.false
111
- Arel::Nodes::Equality.new(1,0)
119
+ Arel::Nodes::Equality.new(1, 0)
120
+ end
121
+
122
+ # The NULL literal.
123
+ def self.null
124
+ Arel::Nodes.build_quoted(nil)
112
125
  end
113
126
 
114
127
  def self.tuple *v
115
- tmp = Arel::Nodes::Grouping.new(nil)
116
- Arel::Nodes::Grouping.new(v.map{|e| tmp.convert_to_node(e)})
128
+ tmp = Arel.grouping(nil)
129
+ Arel.grouping v.map{|e| tmp.convert_to_node(e)}
117
130
  end
118
131
  end
119
132
 
@@ -140,6 +153,11 @@ class Arel::Nodes::Function
140
153
  end
141
154
  res
142
155
  end
156
+
157
+ def xas other
158
+ Arel::Nodes::As.new(self, Arel.sql(other))
159
+ end
160
+
143
161
  end
144
162
 
145
163
  class Arel::Nodes::Grouping
@@ -189,6 +207,10 @@ end
189
207
  class Arel::SelectManager
190
208
  include ArelExtensions::SetFunctions
191
209
  include ArelExtensions::Nodes
210
+
211
+ def as table_name
212
+ Arel::Nodes::TableAlias.new(self, table_name)
213
+ end
192
214
  end
193
215
 
194
216
  class Arel::Nodes::As
@@ -289,7 +289,7 @@ module ArelExtensions
289
289
  _(compile((@table[:age] + 42).as('alias'))).must_be_like %{("users"."age" + 42) AS alias}
290
290
  _(compile(@table[:name].coalesce('').as('alias'))).must_be_like %{COALESCE("users"."name", '') AS alias}
291
291
  _(compile(Arel::Nodes.build_quoted('test').as('alias'))).must_be_like %{'test' AS alias}
292
- _(compile(@table.project(@table[:name]).as('alias'))).must_be_like %{(SELECT "users"."name" FROM "users") alias}
292
+ _(compile(@table.project(@table[:name]).as('alias'))).must_be_like %{(SELECT "users"."name" FROM "users") "alias"}
293
293
  _(compile(@table[:name].when("smith").then("cool").else("uncool").as('alias')))
294
294
  .must_be_like %{CASE "users"."name" WHEN 'smith' THEN 'cool' ELSE 'uncool' END AS alias}
295
295
  end
@@ -373,7 +373,7 @@ module ArelExtensions
373
373
  end
374
374
 
375
375
  it "should respecting Grouping" do
376
- g = ->(*v) { Arel::Nodes::Grouping.new(v) }
376
+ g = ->(*v) { Arel.grouping(v) }
377
377
  _(compile(g[@table[:id], @table[:age]].in [g[1, 42]]))
378
378
  .must_be_like %{("users"."id", "users"."age") IN ((1, 42))}
379
379
  _(compile(g[@table[:id], @table[:age]].in [g[1, 42], g[2, 51]]))
@@ -358,7 +358,6 @@ module ArelExtensions
358
358
 
359
359
  def test_format
360
360
  assert_equal '2016-05-23', t(@lucas, @created_at.format('%Y-%m-%d'))
361
- skip "SQL Server does not accept any format" if @env_db == 'mssql'
362
361
  assert_equal '2014/03/03 12:42:00', t(@lucas, @updated_at.format('%Y/%m/%d %H:%M:%S'))
363
362
  assert_equal '12:42%', t(@lucas, @updated_at.format('%R%%'))
364
363
  end
data/version_v1.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "1.2.25".freeze
2
+ VERSION = "1.2.27".freeze
3
3
  end
data/version_v2.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "2.0.22".freeze
2
+ VERSION = "2.0.24".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arel_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.22
4
+ version: 2.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yann Azoury
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-04-21 00:00:00.000000000 Z
13
+ date: 2021-12-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -44,16 +44,16 @@ dependencies:
44
44
  name: rdoc
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '4.0'
49
+ version: 6.3.1
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: '4.0'
56
+ version: 6.3.1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rake
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  requirements: []
225
- rubygems_version: 3.1.2
225
+ rubygems_version: 3.0.8
226
226
  signing_key:
227
227
  specification_version: 4
228
228
  summary: Extending Arel