arel_extensions 1.6.0 → 2.0.0.rc3
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 +4 -4
- data/.codeclimate.yml +2 -1
- data/.gitignore +6 -7
- data/.rubocop.yml +3 -67
- data/.travis/oracle/download.js +152 -0
- data/.travis/oracle/download.sh +30 -0
- data/.travis/oracle/download_ojdbc.js +116 -0
- data/.travis/oracle/install.sh +34 -0
- data/.travis/setup_accounts.sh +9 -0
- data/.travis/sqlite3/extension-functions.sh +6 -0
- data/.travis.yml +223 -0
- data/Gemfile +28 -2
- data/README.md +91 -258
- data/Rakefile +30 -48
- data/TODO +1 -0
- data/appveyor.yml +22 -60
- data/arel_extensions.gemspec +14 -13
- data/functions.html +3 -3
- data/gemfiles/rails3.gemfile +20 -0
- data/gemfiles/rails4.gemfile +29 -0
- data/gemfiles/rails5_0.gemfile +29 -0
- data/gemfiles/rails5_1_4.gemfile +14 -14
- data/gemfiles/rails5_2.gemfile +14 -16
- data/init/mssql.sql +4 -4
- data/init/mysql.sql +38 -38
- data/init/oracle.sql +0 -0
- data/init/postgresql.sql +25 -24
- data/init/sqlite.sql +0 -0
- data/lib/arel_extensions/attributes.rb +3 -7
- data/lib/arel_extensions/boolean_functions.rb +14 -53
- data/lib/arel_extensions/common_sql_functions.rb +17 -16
- data/lib/arel_extensions/comparators.rb +28 -29
- data/lib/arel_extensions/date_duration.rb +13 -17
- data/lib/arel_extensions/insert_manager.rb +15 -18
- data/lib/arel_extensions/math.rb +53 -55
- data/lib/arel_extensions/math_functions.rb +39 -46
- data/lib/arel_extensions/nodes/abs.rb +1 -0
- data/lib/arel_extensions/nodes/blank.rb +2 -1
- data/lib/arel_extensions/nodes/case.rb +19 -20
- data/lib/arel_extensions/nodes/cast.rb +8 -10
- data/lib/arel_extensions/nodes/ceil.rb +1 -1
- data/lib/arel_extensions/nodes/coalesce.rb +4 -3
- data/lib/arel_extensions/nodes/collate.rb +10 -9
- data/lib/arel_extensions/nodes/concat.rb +18 -9
- data/lib/arel_extensions/nodes/date_diff.rb +26 -42
- data/lib/arel_extensions/nodes/duration.rb +3 -0
- data/lib/arel_extensions/nodes/find_in_set.rb +1 -0
- data/lib/arel_extensions/nodes/floor.rb +1 -1
- data/lib/arel_extensions/nodes/format.rb +8 -35
- data/lib/arel_extensions/nodes/formatted_number.rb +23 -22
- data/lib/arel_extensions/nodes/function.rb +37 -46
- data/lib/arel_extensions/nodes/is_null.rb +0 -0
- data/lib/arel_extensions/nodes/json.rb +39 -52
- data/lib/arel_extensions/nodes/length.rb +0 -5
- data/lib/arel_extensions/nodes/levenshtein_distance.rb +1 -1
- data/lib/arel_extensions/nodes/locate.rb +2 -1
- data/lib/arel_extensions/nodes/log10.rb +2 -1
- data/lib/arel_extensions/nodes/matches.rb +8 -6
- data/lib/arel_extensions/nodes/md5.rb +1 -0
- data/lib/arel_extensions/nodes/power.rb +5 -5
- data/lib/arel_extensions/nodes/rand.rb +1 -0
- data/lib/arel_extensions/nodes/repeat.rb +5 -3
- data/lib/arel_extensions/nodes/replace.rb +8 -16
- data/lib/arel_extensions/nodes/round.rb +6 -5
- data/lib/arel_extensions/nodes/soundex.rb +15 -15
- data/lib/arel_extensions/nodes/std.rb +21 -18
- data/lib/arel_extensions/nodes/substring.rb +16 -8
- data/lib/arel_extensions/nodes/then.rb +1 -1
- data/lib/arel_extensions/nodes/trim.rb +6 -4
- data/lib/arel_extensions/nodes/union.rb +8 -5
- data/lib/arel_extensions/nodes/union_all.rb +7 -4
- data/lib/arel_extensions/nodes/wday.rb +4 -0
- data/lib/arel_extensions/nodes.rb +1 -1
- data/lib/arel_extensions/null_functions.rb +5 -19
- data/lib/arel_extensions/predications.rb +44 -45
- data/lib/arel_extensions/railtie.rb +5 -5
- data/lib/arel_extensions/set_functions.rb +7 -5
- data/lib/arel_extensions/string_functions.rb +35 -91
- data/lib/arel_extensions/tasks.rb +6 -6
- data/lib/arel_extensions/version.rb +1 -1
- data/lib/arel_extensions/visitors/ibm_db.rb +31 -24
- data/lib/arel_extensions/visitors/mssql.rb +194 -440
- data/lib/arel_extensions/visitors/mysql.rb +212 -368
- data/lib/arel_extensions/visitors/oracle.rb +179 -236
- data/lib/arel_extensions/visitors/oracle12.rb +31 -18
- data/lib/arel_extensions/visitors/postgresql.rb +173 -271
- data/lib/arel_extensions/visitors/sqlite.rb +127 -157
- data/lib/arel_extensions/visitors/to_sql.rb +238 -300
- data/lib/arel_extensions/visitors.rb +62 -83
- data/lib/arel_extensions.rb +31 -235
- data/test/database.yml +10 -20
- data/test/helper.rb +18 -0
- data/test/real_db_test.rb +118 -121
- data/test/support/fake_record.rb +3 -11
- data/test/test_comparators.rb +17 -14
- data/test/visitors/test_bulk_insert_oracle.rb +12 -12
- data/test/visitors/test_bulk_insert_sqlite.rb +14 -13
- data/test/visitors/test_bulk_insert_to_sql.rb +13 -11
- data/test/visitors/test_oracle.rb +55 -55
- data/test/visitors/test_to_sql.rb +226 -419
- data/test/with_ar/all_agnostic_test.rb +370 -773
- data/test/with_ar/insert_agnostic_test.rb +22 -28
- data/test/with_ar/test_bulk_sqlite.rb +17 -18
- data/test/with_ar/test_math_sqlite.rb +27 -27
- data/test/with_ar/test_string_mysql.rb +34 -32
- data/test/with_ar/test_string_sqlite.rb +35 -31
- metadata +38 -52
- data/.github/workflows/publish.yml +0 -30
- data/.github/workflows/release.yml +0 -30
- data/.github/workflows/ruby.yml +0 -452
- data/CONTRIBUTING.md +0 -102
- data/Makefile +0 -18
- data/NEWS.md +0 -116
- data/bin/build +0 -15
- data/bin/publish +0 -8
- data/dev/arelx.dockerfile +0 -41
- data/dev/compose.yaml +0 -69
- data/dev/postgres.dockerfile +0 -5
- data/dev/rbenv +0 -189
- data/gemfiles/rails5.gemfile +0 -29
- data/gemfiles/rails6.gemfile +0 -34
- data/gemfiles/rails6_1.gemfile +0 -42
- data/gemfiles/rails7.gemfile +0 -42
- data/gemfiles/rails7_1.gemfile +0 -41
- data/gemfiles/rails7_2.gemfile +0 -41
- data/gemfiles/rails8.gemfile +0 -40
- data/gemfiles/rails8_1.gemfile +0 -41
- data/gemspecs/arel_extensions-v1.gemspec +0 -27
- data/gemspecs/arel_extensions-v2.gemspec +0 -27
- data/generate_gems.sh +0 -15
- data/lib/arel_extensions/aliases.rb +0 -14
- data/lib/arel_extensions/constants.rb +0 -13
- data/lib/arel_extensions/helpers.rb +0 -61
- data/lib/arel_extensions/nodes/aggregate_function.rb +0 -13
- data/lib/arel_extensions/nodes/byte_size.rb +0 -11
- data/lib/arel_extensions/nodes/char_length.rb +0 -11
- data/lib/arel_extensions/nodes/formatted_date.rb +0 -42
- data/lib/arel_extensions/nodes/rollup.rb +0 -36
- data/lib/arel_extensions/nodes/select.rb +0 -10
- data/lib/arel_extensions/nodes/sum.rb +0 -7
- data/lib/arel_extensions/visitors/convert_format.rb +0 -37
- data/lib/arel_extensions/warning.rb +0 -42
- data/test/arelx_test_helper.rb +0 -94
- data/test/config_loader.rb +0 -9
- data/version_v1.rb +0 -3
- data/version_v2.rb +0 -3
data/bin/build
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env sh
|
|
2
|
-
set -e
|
|
3
|
-
|
|
4
|
-
# VERSION ~> 1
|
|
5
|
-
echo "Packaging v1"
|
|
6
|
-
cp ./version_v1.rb lib/arel_extensions/version.rb
|
|
7
|
-
cp ./gemspecs/arel_extensions-v1.gemspec ./arel_extensions.gemspec
|
|
8
|
-
gem build ./arel_extensions.gemspec
|
|
9
|
-
|
|
10
|
-
# VERSION ~> 2
|
|
11
|
-
echo "Packaging v2"
|
|
12
|
-
cp ./version_v2.rb lib/arel_extensions/version.rb
|
|
13
|
-
cp ./gemspecs/arel_extensions-v2.gemspec ./arel_extensions.gemspec
|
|
14
|
-
gem build ./arel_extensions.gemspec
|
|
15
|
-
|
data/bin/publish
DELETED
data/dev/arelx.dockerfile
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
FROM ubuntu:22.04
|
|
2
|
-
|
|
3
|
-
ENV APP_HOME=/app
|
|
4
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
|
5
|
-
|
|
6
|
-
RUN mkdir -p $APP_HOME
|
|
7
|
-
|
|
8
|
-
# Install OS dependencies
|
|
9
|
-
RUN apt-get update -q && apt-get install -y \
|
|
10
|
-
curl bundler build-essential git gnupg locales \
|
|
11
|
-
libbz2-dev libffi-dev liblzma-dev lsb-release libsqlite3-dev libyaml-dev \
|
|
12
|
-
make neovim ncurses-term openjdk-17-jdk-headless tzdata zlib1g-dev \
|
|
13
|
-
&& ln -fs /usr/share/zoneinfo/UTC /etc/localtime \
|
|
14
|
-
&& dpkg-reconfigure --frontend noninteractive tzdata
|
|
15
|
-
|
|
16
|
-
# Add DB Repo Keys
|
|
17
|
-
RUN curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg \
|
|
18
|
-
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list \
|
|
19
|
-
&& curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc \
|
|
20
|
-
&& curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | tee /etc/apt/sources.list.d/mssql-release.list \
|
|
21
|
-
&& apt-get update -q
|
|
22
|
-
|
|
23
|
-
# Install DB Clients
|
|
24
|
-
RUN ACCEPT_EULA=y DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
25
|
-
freetds-dev libmysqlclient-dev mysql-client msodbcsql18 mssql-tools18 unixodbc-dev libpq-dev \
|
|
26
|
-
&& echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc \
|
|
27
|
-
&& apt-get clean \
|
|
28
|
-
&& rm -rf /var/lib/apt/lists/* \
|
|
29
|
-
&& locale-gen en_US.UTF-8
|
|
30
|
-
|
|
31
|
-
WORKDIR $APP_HOME
|
|
32
|
-
|
|
33
|
-
# Install Ruby via Mise
|
|
34
|
-
ENV MISE_DATA_DIR="/mise"
|
|
35
|
-
ENV MISE_CONFIG_DIR="/mise"
|
|
36
|
-
ENV MISE_CACHE_DIR="/mise/cache"
|
|
37
|
-
ENV MISE_INSTALL_PATH="/usr/local/bin/mise"
|
|
38
|
-
ENV PATH="/mise/shims:$PATH"
|
|
39
|
-
|
|
40
|
-
RUN curl https://mise.run | sh
|
|
41
|
-
RUN mise install ruby
|
data/dev/compose.yaml
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
name: arelx
|
|
2
|
-
services:
|
|
3
|
-
arelx:
|
|
4
|
-
container_name: arelx-build
|
|
5
|
-
build:
|
|
6
|
-
context: ..
|
|
7
|
-
dockerfile: dev/arelx.dockerfile
|
|
8
|
-
volumes:
|
|
9
|
-
- ../:/app
|
|
10
|
-
- gem_cache:/mise/installs/ruby
|
|
11
|
-
command: tail -f /dev/null
|
|
12
|
-
depends_on:
|
|
13
|
-
mariadb:
|
|
14
|
-
condition: service_healthy
|
|
15
|
-
postgres:
|
|
16
|
-
condition: service_healthy
|
|
17
|
-
# TODO: Fix, it's not healthy apparently
|
|
18
|
-
# mssql:
|
|
19
|
-
# condition: service_healthy
|
|
20
|
-
environment:
|
|
21
|
-
# Map ENV vars for database.yml
|
|
22
|
-
MYSQL_HOST: mariadb
|
|
23
|
-
POSTGRES_HOST: postgres
|
|
24
|
-
MSSQL_HOST: mssql
|
|
25
|
-
|
|
26
|
-
mariadb:
|
|
27
|
-
image: mariadb:11.0
|
|
28
|
-
container_name: mariadb
|
|
29
|
-
environment:
|
|
30
|
-
MARIADB_DATABASE: arelx_test
|
|
31
|
-
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: true
|
|
32
|
-
healthcheck:
|
|
33
|
-
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
34
|
-
interval: 5s
|
|
35
|
-
timeout: 5s
|
|
36
|
-
retries: 5
|
|
37
|
-
|
|
38
|
-
postgres:
|
|
39
|
-
build:
|
|
40
|
-
context: ..
|
|
41
|
-
dockerfile: dev/postgres.dockerfile
|
|
42
|
-
container_name: postgres
|
|
43
|
-
environment:
|
|
44
|
-
POSTGRES_USER: postgres
|
|
45
|
-
POSTGRES_PASSWORD: secret
|
|
46
|
-
POSTGRES_DB: arelx_test
|
|
47
|
-
healthcheck:
|
|
48
|
-
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
|
49
|
-
interval: 5s
|
|
50
|
-
timeout: 5s
|
|
51
|
-
retries: 5
|
|
52
|
-
|
|
53
|
-
mssql:
|
|
54
|
-
image: mcr.microsoft.com/mssql/server:2019-latest
|
|
55
|
-
container_name: mssql
|
|
56
|
-
platform: linux/amd64
|
|
57
|
-
environment:
|
|
58
|
-
ACCEPT_EULA: Y
|
|
59
|
-
# MSSQL_COLLATION: Latin1_General_100_CI_AS_SC_UTF8
|
|
60
|
-
MSSQL_SA_PASSWORD: Password12!
|
|
61
|
-
healthcheck:
|
|
62
|
-
test: ["CMD-SHELL", "/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $${MSSQL_SA_PASSWORD} -Q 'SELECT 1'"]
|
|
63
|
-
interval: 10s
|
|
64
|
-
retries: 20
|
|
65
|
-
start_period: 30s
|
|
66
|
-
timeout: 10s
|
|
67
|
-
|
|
68
|
-
volumes:
|
|
69
|
-
gem_cache:
|
data/dev/postgres.dockerfile
DELETED
data/dev/rbenv
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
require 'colorize'
|
|
5
|
-
require 'etc'
|
|
6
|
-
require 'open3'
|
|
7
|
-
require 'pathname'
|
|
8
|
-
require 'stringio'
|
|
9
|
-
require 'toml-rb'
|
|
10
|
-
require 'psych'
|
|
11
|
-
|
|
12
|
-
workflow = Pathname('.github/workflows/ruby.yml').read.gsub!(/rails: (\d(_\d)?)/, 'rails: "\1"')
|
|
13
|
-
jobs = Psych.load(workflow, symbolize_names: true)[:jobs]
|
|
14
|
-
data = {}
|
|
15
|
-
jobs.each do |name, details|
|
|
16
|
-
details[:strategy][:matrix][:versions].each do |entry|
|
|
17
|
-
db = name.to_s.gsub(/\Ajob_test_/, '').to_sym
|
|
18
|
-
ruby = entry[:ruby]
|
|
19
|
-
rails = entry[:rails]
|
|
20
|
-
arelx = entry[:arelx]
|
|
21
|
-
gemspec = :"arel_extensions-v#{arelx}"
|
|
22
|
-
gemfile = :"rails#{rails}"
|
|
23
|
-
|
|
24
|
-
data[db] ||= {}
|
|
25
|
-
data[db][gemspec] ||= {}
|
|
26
|
-
data[db][gemspec][gemfile] ||= []
|
|
27
|
-
data[db][gemspec][gemfile] << ruby
|
|
28
|
-
data[db][gemspec][gemfile].sort!
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
MATRIX = data.freeze
|
|
33
|
-
|
|
34
|
-
def sh(command, exit_on_fail: true, stealth: false)
|
|
35
|
-
cmd, args = command.split(' ', 2)
|
|
36
|
-
puts "#{'$'.green.bold} #{cmd.blue} #{args&.yellow}"
|
|
37
|
-
Open3.popen3(command) do |stdin, stdout, stderr, wait_thr|
|
|
38
|
-
stdin.close
|
|
39
|
-
out, err =
|
|
40
|
-
if stealth
|
|
41
|
-
[StringIO.new, StringIO.new]
|
|
42
|
-
else
|
|
43
|
-
[$stdout, $stderr]
|
|
44
|
-
end
|
|
45
|
-
th_out = Thread.new do
|
|
46
|
-
stdout.each_line { |line| out.puts line }
|
|
47
|
-
end
|
|
48
|
-
th_err = Thread.new do
|
|
49
|
-
stderr.each_line { |line| err.puts line }
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
th_out.join
|
|
53
|
-
th_err.join
|
|
54
|
-
wait_thr.join
|
|
55
|
-
exit_status = wait_thr.value.exitstatus
|
|
56
|
-
if exit_status.nonzero?
|
|
57
|
-
warn "'#{command}' failed with exit status #{exit_status}. Aborting …".red
|
|
58
|
-
warn stderr if !stealth
|
|
59
|
-
exit exit_status if exit_on_fail
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
if stealth
|
|
63
|
-
[out.string, err.string, (exit_status if !exit_on_fail)].compact
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
module RBEnv
|
|
69
|
-
RBENV_ROOT =
|
|
70
|
-
if (root = ENV['RBENV_ROOT']) && root && !root.strip.empty?
|
|
71
|
-
Pathname(root)
|
|
72
|
-
else
|
|
73
|
-
Pathname(Dir.home).join('.rbenv')
|
|
74
|
-
end.freeze
|
|
75
|
-
RBENV_BUILD = RBENV_ROOT.join('plugins').join('ruby-build').freeze
|
|
76
|
-
SHELL = Pathname(Etc.getpwuid.shell).basename.to_s.downcase.to_sym
|
|
77
|
-
|
|
78
|
-
def self.available_versions
|
|
79
|
-
out, _ = sh "rbenv versions --bare", stealth: true
|
|
80
|
-
res = out.lines.map(&:strip)
|
|
81
|
-
warn res
|
|
82
|
-
res
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def self.ensure(ruby_version)
|
|
86
|
-
version = RBEnv.resolve_to_latest(ruby_version)
|
|
87
|
-
if self.installed?(version)
|
|
88
|
-
puts "#{version.yellow} already installed. Skipping …"
|
|
89
|
-
else
|
|
90
|
-
puts "Installing #{version.yellow}"
|
|
91
|
-
sh "rbenv install #{version}"
|
|
92
|
-
end
|
|
93
|
-
version
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
def self.install
|
|
97
|
-
if RBENV_ROOT.exist?
|
|
98
|
-
puts "#{RBENV_ROOT} exists. Skipping …"
|
|
99
|
-
else
|
|
100
|
-
sh "git clone --depth 1 https://github.com/rbenv/rbenv.git #{RBENV_ROOT}"
|
|
101
|
-
puts "Setup your shell to recognize rbenv. Check github.com/rbenv/rbenv."
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
if RBENV_BUILD.exist?
|
|
105
|
-
puts "#{RBENV_BUILD} exists. Skipping …"
|
|
106
|
-
else
|
|
107
|
-
sh "git clone --depth 1 https://github.com/rbenv/ruby-build.git #{RBENV_BUILD}"
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def self.installed?(version)
|
|
112
|
-
installed = available_versions
|
|
113
|
-
puts "installed? = #{installed}"
|
|
114
|
-
installed && !installed.empty? && installed.include?(version)
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
def self.resolve_to_latest(version)
|
|
118
|
-
out, _ = sh "rbenv install --list-all", stealth: true
|
|
119
|
-
out
|
|
120
|
-
.lines
|
|
121
|
-
.map(&:strip)
|
|
122
|
-
.select { |v| v.match(/^#{Regexp.escape(version)}\.\d+/) }
|
|
123
|
-
.max_by { |v| v.split('.').map(&:to_i) }
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
def self.set(version)
|
|
127
|
-
sh "rbenv local #{version}"
|
|
128
|
-
end
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
module CI
|
|
132
|
-
def self.help(*_args)
|
|
133
|
-
puts "Usage:"
|
|
134
|
-
puts " #{$0} [#{CI.singleton_class.instance_methods(false).sort.join(' | ')}]"
|
|
135
|
-
puts
|
|
136
|
-
puts "You can ask for many commands."
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
def self.install(*_args)
|
|
140
|
-
RBEnv.install
|
|
141
|
-
MATRIX
|
|
142
|
-
.flat_map { |_, db|
|
|
143
|
-
db.flat_map { |_, arelx|
|
|
144
|
-
arelx.flat_map { |rails, rubies|
|
|
145
|
-
rails.start_with?("rails") ? rubies : []
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
.uniq
|
|
150
|
-
.sort
|
|
151
|
-
.each do |version|
|
|
152
|
-
RBEnv.ensure(version)
|
|
153
|
-
end
|
|
154
|
-
end
|
|
155
|
-
|
|
156
|
-
# @param args [Array<String>] a list of databases to test
|
|
157
|
-
def self.test(*args)
|
|
158
|
-
puts "Requested DBs: #{args.inspect}"
|
|
159
|
-
MATRIX.each do |db, arelx|
|
|
160
|
-
puts "db = #{db}; #{!args.empty? && args.include?(db)}"
|
|
161
|
-
if args.empty? || args.include?(db)
|
|
162
|
-
puts "Testing #{db}"
|
|
163
|
-
else
|
|
164
|
-
puts "Skipping #{db}"
|
|
165
|
-
next
|
|
166
|
-
end
|
|
167
|
-
arelx.each do |arelx_version, rails|
|
|
168
|
-
sh "cp ./gemspecs/#{arelx_version}.gemspec ./arel_extensions.gemspec"
|
|
169
|
-
rails.each do |rails_version, ruby|
|
|
170
|
-
sh "cp ./gemfiles/#{rails_version}.gemfile ./Gemfile"
|
|
171
|
-
ruby.each do |ruby_version|
|
|
172
|
-
full_version = RBEnv.ensure(ruby_version)
|
|
173
|
-
RBEnv.set(full_version)
|
|
174
|
-
sh "ruby --version"
|
|
175
|
-
sh "which ruby"
|
|
176
|
-
sh "rm -rf Gemfile.lock vendor"
|
|
177
|
-
sh "bundle config set --local path vendor"
|
|
178
|
-
sh "bundle install"
|
|
179
|
-
sh "bundle exec rake test:#{db}"
|
|
180
|
-
end
|
|
181
|
-
end
|
|
182
|
-
end
|
|
183
|
-
end
|
|
184
|
-
end
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
# main
|
|
188
|
-
command = ARGV.size.nonzero? ? ARGV : %w[help]
|
|
189
|
-
CI.send(command[0], *command[1..])
|
data/gemfiles/rails5.gemfile
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'arel', '~> 7.0'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'activesupport', '~> 5.0'
|
|
7
|
-
gem 'activemodel', '~> 5.0'
|
|
8
|
-
gem 'activerecord', '5.0.6'
|
|
9
|
-
|
|
10
|
-
gem 'sqlite3', '<= 1.3.13', platforms: %i[mri mswin mingw]
|
|
11
|
-
gem 'mysql2', '0.4.10', platforms: %i[mri mswin mingw]
|
|
12
|
-
gem 'pg', '< 1.0.0', platforms: %i[mri mingw]
|
|
13
|
-
|
|
14
|
-
gem 'tiny_tds', platforms: %i[mri mingw] if RUBY_PLATFORM.match?(/windows/)
|
|
15
|
-
# gem "activerecord-sqlserver-adapter", platforms: [:mri, :mingw]
|
|
16
|
-
|
|
17
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
18
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 1.7' if ENV.has_key? 'ORACLE_HOME'
|
|
19
|
-
|
|
20
|
-
# for JRuby
|
|
21
|
-
gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', tag: 'v50.0', platforms: :jruby
|
|
22
|
-
gem 'jdbc-sqlite3', platforms: :jruby
|
|
23
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
24
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
25
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
26
|
-
gem 'activerecord-jdbcmssql-adapter', platforms: :jruby
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
gemspec path: Dir.pwd
|
data/gemfiles/rails6.gemfile
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '~> 6.0.0'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
|
-
gem 'concurrent-ruby', '1.3.4' # Need to pin b/c of a known issue https://github.com/rails/rails/issues/54260
|
|
9
|
-
|
|
10
|
-
gem 'activesupport', '~> 6.0.0'
|
|
11
|
-
gem 'activemodel', '~> 6.0.0'
|
|
12
|
-
gem 'activerecord', '~> 6.0.0'
|
|
13
|
-
|
|
14
|
-
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
15
|
-
gem 'mysql2', '0.5.2', platforms: [:mri]
|
|
16
|
-
gem 'pg', '< 1.0.0', platforms: [:mri]
|
|
17
|
-
|
|
18
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
|
-
gem 'activerecord-sqlserver-adapter', '~> 6.0', platforms: %i[mri mingw x64_mingw mswin]
|
|
20
|
-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
21
|
-
|
|
22
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
23
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.has_key? 'ORACLE_HOME'
|
|
24
|
-
|
|
25
|
-
# for JRuby
|
|
26
|
-
gem 'activerecord-jdbc-alt-adapter', '~> 60.0', platform: :jruby, require: true
|
|
27
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
28
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
29
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
30
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
31
|
-
gem 'jdbc-sqlite3', platforms: :jruby
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
gemspec path: Dir.pwd
|
data/gemfiles/rails6_1.gemfile
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '~> 6.1.0'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
|
-
gem 'concurrent-ruby', '1.3.4' # Need to pin b/c of a known issue https://github.com/rails/rails/issues/54260
|
|
9
|
-
|
|
10
|
-
gem 'activesupport', '~> 6.1.0'
|
|
11
|
-
gem 'activemodel', '~> 6.1.0'
|
|
12
|
-
gem 'activerecord', '~> 6.1.0'
|
|
13
|
-
|
|
14
|
-
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
15
|
-
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
16
|
-
gem 'pg', '~> 1.1', platforms: [:mri]
|
|
17
|
-
|
|
18
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
|
-
gem 'activerecord-sqlserver-adapter', '~> 6.1.0', platforms: %i[mri mingw x64_mingw mswin]
|
|
20
|
-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
21
|
-
|
|
22
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
23
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.has_key? 'ORACLE_HOME'
|
|
24
|
-
|
|
25
|
-
# for JRuby
|
|
26
|
-
gem 'activerecord-jdbc-alt-adapter', '~> 61.0', platform: :jruby, require: true
|
|
27
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
28
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
29
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
30
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
31
|
-
gem 'jdbc-sqlite3', platforms: :jruby
|
|
32
|
-
|
|
33
|
-
# Ruby 3.4+ removes the following gems from the standard distribution.
|
|
34
|
-
# Warnings are emitted from 3.3 .
|
|
35
|
-
if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.3.0')
|
|
36
|
-
gem 'base64'
|
|
37
|
-
gem 'bigdecimal'
|
|
38
|
-
gem 'mutex_m'
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
gemspec path: Dir.pwd
|
data/gemfiles/rails7.gemfile
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '~> 7.0.1'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
|
-
gem 'concurrent-ruby', '1.3.4' # Need to pin b/c of a known issue https://github.com/rails/rails/issues/54260
|
|
9
|
-
|
|
10
|
-
gem 'activesupport', '~> 7.0.1'
|
|
11
|
-
gem 'activemodel', '~> 7.0.1'
|
|
12
|
-
gem 'activerecord', '~> 7.0.1'
|
|
13
|
-
|
|
14
|
-
gem 'sqlite3', '~> 1.4', platforms: [:mri]
|
|
15
|
-
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
16
|
-
gem 'pg', '~> 1.1', platforms: [:mri]
|
|
17
|
-
|
|
18
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
|
-
gem 'activerecord-sqlserver-adapter', '~> 7.0.7', platforms: %i[mri mingw x64_mingw mswin]
|
|
20
|
-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
21
|
-
|
|
22
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
23
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 6.0.0' if ENV.has_key? 'ORACLE_HOME'
|
|
24
|
-
|
|
25
|
-
# for JRuby
|
|
26
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
27
|
-
gem 'jdbc-sqlite3', platform: :jruby
|
|
28
|
-
gem 'activerecord-jdbc-alt-adapter', '~> 70.0', platform: :jruby, require: true
|
|
29
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
30
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
31
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
32
|
-
|
|
33
|
-
# Ruby 3.4+ removes the following gems from the standard distribution.
|
|
34
|
-
# Warnings are emitted from 3.3 .
|
|
35
|
-
if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.3.0')
|
|
36
|
-
gem 'base64'
|
|
37
|
-
gem 'bigdecimal'
|
|
38
|
-
gem 'mutex_m'
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
gemspec path: Dir.pwd
|
data/gemfiles/rails7_1.gemfile
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '~> 7.1'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
|
-
|
|
9
|
-
gem 'activesupport', '~> 7.1'
|
|
10
|
-
gem 'activemodel', '~> 7.1'
|
|
11
|
-
gem 'activerecord', '~> 7.1'
|
|
12
|
-
|
|
13
|
-
gem 'sqlite3', '~> 1.6', platforms: [:mri]
|
|
14
|
-
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
15
|
-
gem 'pg', '~> 1.5', platforms: [:mri]
|
|
16
|
-
|
|
17
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
18
|
-
gem 'activerecord-sqlserver-adapter', '~> 7.1.0.beta1', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
|
-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
20
|
-
|
|
21
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
22
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 7.0.0' if ENV.has_key? 'ORACLE_HOME'
|
|
23
|
-
|
|
24
|
-
# for JRuby
|
|
25
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
26
|
-
gem 'jdbc-sqlite3', platform: :jruby
|
|
27
|
-
gem 'activerecord-jdbc-alt-adapter', '~> 71.0.0.alpha1', platform: :jruby, require: true
|
|
28
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
29
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
30
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
31
|
-
|
|
32
|
-
# Ruby 3.4+ removes the following gems from the standard distribution.
|
|
33
|
-
# Warnings are emitted from 3.3 .
|
|
34
|
-
if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.3.0')
|
|
35
|
-
gem 'base64'
|
|
36
|
-
gem 'bigdecimal'
|
|
37
|
-
gem 'mutex_m'
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
gemspec path: Dir.pwd
|
data/gemfiles/rails7_2.gemfile
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '~> 7.2'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
|
-
|
|
9
|
-
gem 'activesupport', '~> 7.2'
|
|
10
|
-
gem 'activemodel', '~> 7.2'
|
|
11
|
-
gem 'activerecord', '~> 7.2'
|
|
12
|
-
|
|
13
|
-
gem 'sqlite3', '~> 1.6', platforms: [:mri]
|
|
14
|
-
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
15
|
-
gem 'pg', '~> 1.5', platforms: [:mri]
|
|
16
|
-
|
|
17
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
18
|
-
gem 'activerecord-sqlserver-adapter', '~> 7.2', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
|
-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
20
|
-
|
|
21
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
22
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 7.0.0' if ENV.has_key? 'ORACLE_HOME'
|
|
23
|
-
|
|
24
|
-
# for JRuby
|
|
25
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
26
|
-
gem 'jdbc-sqlite3', platform: :jruby
|
|
27
|
-
# gem 'activerecord-jdbc-alt-adapter', '~> 71.0.0.alpha1', platform: :jruby, require: true
|
|
28
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
29
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
30
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
31
|
-
|
|
32
|
-
# Ruby 3.4+ removes the following gems from the standard distribution.
|
|
33
|
-
# Warnings are emitted from 3.3 .
|
|
34
|
-
if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.3.0')
|
|
35
|
-
gem 'base64'
|
|
36
|
-
gem 'bigdecimal'
|
|
37
|
-
gem 'mutex_m'
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
gemspec path: Dir.pwd
|
data/gemfiles/rails8.gemfile
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '~> 8.0'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
|
-
|
|
9
|
-
gem 'activesupport', '~> 8.0'
|
|
10
|
-
gem 'activemodel', '~> 8.0'
|
|
11
|
-
gem 'activerecord', '~> 8.0'
|
|
12
|
-
|
|
13
|
-
gem 'sqlite3', '~> 2.1', platforms: [:mri]
|
|
14
|
-
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
15
|
-
gem 'pg', '~> 1.5', platforms: [:mri]
|
|
16
|
-
|
|
17
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
18
|
-
gem 'activerecord-sqlserver-adapter', '~> 8.0', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
|
-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
20
|
-
|
|
21
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
22
|
-
gem 'activerecord-oracle_enhanced-adapter', '~> 8.0' if ENV.has_key? 'ORACLE_HOME'
|
|
23
|
-
|
|
24
|
-
# for JRuby
|
|
25
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
26
|
-
gem 'jdbc-sqlite3', platform: :jruby
|
|
27
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
28
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
29
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
30
|
-
|
|
31
|
-
# Ruby 3.4+ removes the following gems from the standard distribution.
|
|
32
|
-
# Warnings are emitted from 3.3.
|
|
33
|
-
if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.3.0')
|
|
34
|
-
gem 'base64'
|
|
35
|
-
gem 'bigdecimal'
|
|
36
|
-
gem 'mutex_m'
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
gemspec path: Dir.pwd
|
data/gemfiles/rails8_1.gemfile
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
gem 'rails', '~> 8.1'
|
|
4
|
-
|
|
5
|
-
group :development, :test do
|
|
6
|
-
gem 'ruby-lsp', platforms: %i[mri]
|
|
7
|
-
gem 'debug', platforms: %i[mri]
|
|
8
|
-
|
|
9
|
-
gem 'activesupport', '~> 8.1'
|
|
10
|
-
gem 'activemodel', '~> 8.1'
|
|
11
|
-
gem 'activerecord', '~> 8.1'
|
|
12
|
-
|
|
13
|
-
gem 'sqlite3', '~> 2.1', platforms: [:mri]
|
|
14
|
-
gem 'mysql2', '~>0.5', platforms: [:mri]
|
|
15
|
-
gem 'pg', '~> 1.5', platforms: [:mri]
|
|
16
|
-
|
|
17
|
-
gem 'tiny_tds', platforms: %i[mri mingw x64_mingw mswin]
|
|
18
|
-
gem 'activerecord-sqlserver-adapter', '~> 8.1', platforms: %i[mri mingw x64_mingw mswin]
|
|
19
|
-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw]
|
|
20
|
-
|
|
21
|
-
gem 'ruby-oci8', platforms: %i[mri mswin mingw] if ENV.has_key? 'ORACLE_HOME'
|
|
22
|
-
# gem 'activerecord-oracle_enhanced-adapter', '~> 8.1.0' if ENV.has_key? 'ORACLE_HOME'
|
|
23
|
-
|
|
24
|
-
# for JRuby
|
|
25
|
-
gem 'jdbc-mssql', platforms: :jruby, require: true
|
|
26
|
-
gem 'jdbc-sqlite3', platform: :jruby
|
|
27
|
-
# gem 'activerecord-jdbc-alt-adapter', '~> 71.0.0.alpha1', platform: :jruby, require: true
|
|
28
|
-
gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
|
|
29
|
-
gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
|
|
30
|
-
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
|
31
|
-
|
|
32
|
-
# Ruby 3.4+ removes the following gems from the standard distribution.
|
|
33
|
-
# Warnings are emitted from 3.3.
|
|
34
|
-
if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.3.0')
|
|
35
|
-
gem 'base64'
|
|
36
|
-
gem 'bigdecimal'
|
|
37
|
-
gem 'mutex_m'
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
gemspec path: Dir.pwd
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
$:.push File.expand_path('../lib', __FILE__)
|
|
2
|
-
require 'arel_extensions/version'
|
|
3
|
-
|
|
4
|
-
Gem::Specification.new do |s|
|
|
5
|
-
s.name = 'arel_extensions'
|
|
6
|
-
s.version = ArelExtensions::VERSION
|
|
7
|
-
s.platform = Gem::Platform::RUBY
|
|
8
|
-
s.authors = ['Yann Azoury', 'Félix Bellanger', 'Julien Delporte']
|
|
9
|
-
s.email = ['yann.azoury@faveod.com', 'felix.bellanger@faveod.com', 'julien.delporte@faveod.com']
|
|
10
|
-
s.homepage = 'https://github.com/Faveod/arel-extensions'
|
|
11
|
-
s.description = 'Adds new features to Arel'
|
|
12
|
-
s.summary = 'Extending Arel'
|
|
13
|
-
s.license = 'MIT'
|
|
14
|
-
|
|
15
|
-
s.rdoc_options = ['--main', 'README.md']
|
|
16
|
-
s.extra_rdoc_files = ['MIT-LICENSE.txt', 'README.md', 'functions.html']
|
|
17
|
-
|
|
18
|
-
# Manifest
|
|
19
|
-
s.files = `git ls-files`.split("\n")
|
|
20
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
21
|
-
s.require_paths = ['lib']
|
|
22
|
-
|
|
23
|
-
s.add_dependency('arel', '>= 6.0')
|
|
24
|
-
|
|
25
|
-
s.add_development_dependency('minitest', '~> 5.9')
|
|
26
|
-
s.add_development_dependency('rake', '~> 12.3.3')
|
|
27
|
-
end
|