activerecord-advantage-adapter 0.1.4 → 0.1.6

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: b0b104f4e9d8fb204bc6249aa06448f5881292745123dd94c2def2eee9254dad
4
- data.tar.gz: 3e64e4089e520711b10ca37cb3b3404834c2b939d65a50898e19d1735c4f3d50
3
+ metadata.gz: 2d10f6102f8391080901ec11c4394d7b47cfab4b7072f2ca7255e44a05c138a3
4
+ data.tar.gz: 7aece77305d027f0d6e1ceec3fd3b0e07a3a10c92eccd24d853ab3a504a17881
5
5
  SHA512:
6
- metadata.gz: 6f100c25e14250e25e93ecadfe20f1bbe2c5ee1e42d3980924771111cc7ac5a094a3ab2f2db057bbd2ac8630ca195e15a60892fbc8dd47eb90ef2f4c8c324204
7
- data.tar.gz: 3ecae6463a95d48e9e1f9ef194fe8adde8333e39c74f9d90d405fd63acc64a59cbdcfb91b0fdea786ce1dca00f5dff93c142dbfaf8fef62a4465a8af65fae4bc
6
+ metadata.gz: b5cfeeb5eb5080e7ccb15594e4b0d2e0cb3defdbdbb94b8b9d8c39b0c09128f69c332e506f28ce9d84f8db7698a700f202403aa1be74abdbc3692b143cd76309
7
+ data.tar.gz: c5c2245d339343294ea183cb5c1cd2a76f88619c275f26683bcf9bcac841550f65ec3e2b52e4696534030b4b1b10d897ed765ef5d79af7ac1e898c332bf990d6
@@ -1,49 +1,48 @@
1
1
  lib = File.expand_path("../lib", __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
- pkg_version = "0.1.4"
4
+ pkg_version = "0.1.6"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "activerecord-advantage-adapter"
7
+ spec.name = 'activerecord-advantage-adapter'
8
8
  spec.version = pkg_version
9
- spec.authors = ["Edgar Sherman", "Jon Adams"]
10
- spec.email = ["advantage@sybase.com", "t12nslookup@googlemail.com"]
9
+ spec.authors = ['Edgar Sherman', 'Jon Adams']
10
+ spec.email = ['advantage@sybase.com', 't12nslookup@googlemail.com']
11
11
 
12
- spec.summary = %q{ActiveRecord driver for Advantage}
13
- spec.description = %q{ActiveRecord driver for the Advantage Database connector}
14
- spec.homepage = "http://devzone.advantagedatabase.com"
15
- spec.license = "Apache-2.0"
12
+ spec.summary = 'ActiveRecord driver for Advantage'
13
+ spec.description = 'ActiveRecord driver for the Advantage Database connector'
14
+ spec.homepage = 'http://devzone.advantagedatabase.com'
15
+ spec.license = 'Apache-2.0'
16
16
 
17
17
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
18
  # to allow pushing to a single host or delete this section to allow pushing to any host.
19
19
  if spec.respond_to?(:metadata)
20
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
20
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
21
21
 
22
- spec.metadata["homepage_uri"] = spec.homepage
22
+ spec.metadata['homepage_uri'] = spec.homepage
23
23
  # Changed to the github project, as this is the actively maintained source, now.
24
- spec.metadata["source_code_uri"] = "https://github.com/t12nslookup/activerecord-advantage-adapter/"
25
- spec.metadata["changelog_uri"] = "https://github.com/t12nslookup/activerecord-advantage-adapter/CHANGELOG.md"
24
+ spec.metadata['source_code_uri'] = 'https://github.com/t12nslookup/activerecord-advantage-adapter/'
25
+ spec.metadata['changelog_uri'] = 'https://github.com/t12nslookup/activerecord-advantage-adapter/blob/main/CHANGELOG.md'
26
26
  else
27
- raise "RubyGems 2.0 or newer is required to protect against " \
28
- "public gem pushes."
27
+ raise 'RubyGems 2.0 or newer is required to protect against ' \
28
+ 'public gem pushes.'
29
29
  end
30
30
 
31
31
  # Specify which files should be added to the gem when it is released.
32
32
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
33
- spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
34
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
35
- end
36
- spec.files = Dir["{test,lib}/**/*",
37
- "LICENSE",
38
- "README",
39
- "activerecord-advantage-adapter.gemspec"]
40
- spec.require_paths = ["lib"]
41
-
42
- spec.add_development_dependency "bundler", "~> 1.17"
43
- spec.add_development_dependency "rake", "~> 10.0"
44
- spec.add_development_dependency "rspec", "~> 3.0"
45
-
46
- spec.add_runtime_dependency "advantage", "~> 0.1", ">= 0.1.2"
33
+ # spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
34
+ # `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
35
+ # end
36
+ spec.files = Dir['{test,lib}/**/*',
37
+ 'LICENSE',
38
+ 'README',
39
+ 'activerecord-advantage-adapter.gemspec']
40
+ spec.require_paths = ['lib']
41
+
42
+ spec.add_development_dependency 'bundler', '~> 1.17'
43
+ spec.add_development_dependency 'rake', '~> 10.0'
44
+ spec.add_development_dependency 'rspec', '~> 3.0'
45
+
46
+ spec.add_runtime_dependency 'advantage', '~> 0.1', '>= 0.1.2'
47
47
  # spec.add_runtime_dependency 'activerecord', '>= 3.2.0'
48
-
49
48
  end
@@ -433,6 +433,26 @@ SQL
433
433
  execute "ALTER TABLE #{quote_table_name(table_name)} DROP #{quote_column_name(column_name)}"
434
434
  end
435
435
 
436
+ if Rails::VERSION::MAJOR == 5 && Rails::VERSION::MINOR < 2
437
+ def combine_bind_parameters(
438
+ from_clause: [],
439
+ join_clause: [],
440
+ where_clause: [],
441
+ having_clause: [],
442
+ limit: nil,
443
+ offset: nil
444
+ ) # :nodoc:
445
+ result = []
446
+ result << limit if limit
447
+ result += from_clause if from_clause.any?
448
+ result += join_clause if join_clause.any?
449
+ result += where_clause if where_clause.any?
450
+ result += having_clause if having_clause.any?
451
+ result << offset if offset
452
+ result
453
+ end
454
+ end
455
+
436
456
  protected
437
457
 
438
458
  # Execute a query
@@ -13,7 +13,7 @@ module Arel
13
13
  end
14
14
 
15
15
  def visit_Arel_Nodes_Limit(o, collector)
16
- collector << "TOP "
16
+ collector << "TOP "
17
17
  visit o.expr, collector
18
18
  collector << " "
19
19
  collector
@@ -21,38 +21,63 @@ module Arel
21
21
 
22
22
  # copied from informix.rb
23
23
  def visit_Arel_Nodes_SelectStatement(o, collector)
24
- collector << "SELECT "
24
+ collector << 'SELECT '
25
25
  collector = maybe_visit o.limit, collector
26
26
  collector = maybe_visit o.offset, collector
27
- collector = o.cores.inject(collector) { |c, x|
27
+ collector = o.cores.inject(collector) do |c, x|
28
28
  visit_Arel_Nodes_SelectCore x, c
29
- }
29
+ end
30
30
  if o.orders.any?
31
- collector << "ORDER BY "
32
- collector = inject_join o.orders, collector, ", "
31
+ collector << ' ORDER BY '
32
+ collector = inject_join o.orders, collector, ', '
33
33
  end
34
34
  collector
35
35
  end
36
36
 
37
37
  def visit_Arel_Nodes_SelectCore(o, collector)
38
- collector = inject_join o.projections, collector, ", "
38
+ collector = maybe_visit o.set_quantifier, collector
39
+ collector = inject_join o.projections, collector, ', '
39
40
  if o.source && !o.source.empty?
40
- collector << " FROM "
41
+ collector << ' FROM '
41
42
  collector = visit o.source, collector
42
43
  end
43
44
 
44
45
  if o.wheres.any?
45
- collector << " WHERE "
46
- collector = inject_join o.wheres, collector, " AND "
46
+ collector << ' WHERE '
47
+ collector = inject_join o.wheres, collector, ' AND '
47
48
  end
48
49
 
49
50
  if o.groups.any?
50
- collector << "GROUP BY "
51
- collector = inject_join o.groups, collector, ", "
51
+ collector << ' GROUP BY '
52
+ collector = inject_join o.groups, collector, ', '
52
53
  end
53
54
 
54
55
  collector
55
56
  end
57
+
58
+ def visit_Arel_Nodes_Distinct(o, collector)
59
+ collector << 'DISTINCT '
60
+ end
61
+
62
+ # Rails version > 5?
63
+ def unboundable?(value)
64
+ value.respond_to?(:unboundable?) && value.unboundable?
65
+ end
66
+
67
+ def visit_Arel_Nodes_NotEqual(o, collector)
68
+ right = o.right
69
+
70
+ return collector << ' 1=1' if unboundable?(right)
71
+
72
+ collector = visit o.left, collector
73
+
74
+ if right.nil?
75
+ collector << ' IS NOT NULL'
76
+ else
77
+ collector << ' <> '
78
+ visit right, collector
79
+ end
80
+ end
56
81
  else
57
82
  # Rails 3 or lower
58
83
  def visit_Arel_Nodes_Offset(o)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-advantage-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edgar Sherman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-28 00:00:00.000000000 Z
12
+ date: 2022-06-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -94,7 +94,7 @@ metadata:
94
94
  allowed_push_host: https://rubygems.org
95
95
  homepage_uri: http://devzone.advantagedatabase.com
96
96
  source_code_uri: https://github.com/t12nslookup/activerecord-advantage-adapter/
97
- changelog_uri: https://github.com/t12nslookup/activerecord-advantage-adapter/CHANGELOG.md
97
+ changelog_uri: https://github.com/t12nslookup/activerecord-advantage-adapter/blob/main/CHANGELOG.md
98
98
  post_install_message:
99
99
  rdoc_options: []
100
100
  require_paths: