i18n-sequel_bitemporal 1.0.2 → 1.1.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: 17c191652e457d465a3d7951efdf76a432a82690dd7b3f0bae9324b3bbe7a61d
4
- data.tar.gz: 05a1aa9b8d012cced99c152b0700960bbc812e38b753f4f612bdbef635b2b4f0
3
+ metadata.gz: 74ce18e7919b76481ccbdd441665fc1db28e6906535353fcb9b6947539a734ff
4
+ data.tar.gz: fbb27c3efd8c27792c71e7a42d02abe54cd8a909c3bb9ead3da396b1e1e0ebd6
5
5
  SHA512:
6
- metadata.gz: 2c147a89f559776c2977e3aad2a8ee38820d79c0c8246f7b77c801b69667d1272d4d55cdd7ca6cc80a7316aba13fd84516490700a6f9bf1ad2fd6313333e9d19
7
- data.tar.gz: e8cfa24c1ea406cd5ae63eba66040c46db6edb63fe30dff280351cff3745c5b5998ade3000f00dac92da59b1a812affc4baba4c52260194bdde893df9ac98c1b
6
+ metadata.gz: feedc4b5e08a1919cd71c91a34318459e0d1756c2cdadc081bb3f82d4aa77b9b0ce07f66882d76bbfceb5de2c4ec13afb1077a7228ec0c7ed176c067d053eb3d
7
+ data.tar.gz: b52f213f7b460187f64fefd09f297a2f5178caa99f045da493dca7c0b37945c85c0ccd01c65919b80d963aee95d9adcf3d6d46a2898e3398c20b913a50fff3ff
@@ -0,0 +1,125 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: ['**']
8
+
9
+ jobs:
10
+ tests:
11
+ services:
12
+ postgres:
13
+ image: postgres:13
14
+ env:
15
+ POSTGRES_USER: postgres
16
+ POSTGRES_PASSWORD: postgres
17
+ ports:
18
+ - 5432
19
+ options: >-
20
+ --health-cmd pg_isready
21
+ --health-interval 10s
22
+ --health-timeout 5s
23
+ --health-retries 5
24
+
25
+ mysql:
26
+ image: mysql:8.0
27
+ env:
28
+ MYSQL_ROOT_PASSWORD: root
29
+ ports:
30
+ - 3306
31
+ options: >-
32
+ --health-cmd="mysqladmin ping"
33
+ --health-interval=10s
34
+ --health-timeout=5s
35
+ --health-retries=3
36
+
37
+ runs-on: ubuntu-latest
38
+ strategy:
39
+ fail-fast: false
40
+ matrix:
41
+ rails:
42
+ - "5.0"
43
+ - "5.1"
44
+ - "5.2"
45
+ - "6.0"
46
+ - "6.1"
47
+ - "7.0"
48
+ - "7.1"
49
+ ruby:
50
+ - "2.6"
51
+ - "2.7"
52
+ - "3.0"
53
+ - "3.1"
54
+ - "3.2"
55
+ - "3.3"
56
+ # - "jruby"
57
+ include:
58
+ - ruby: "2.6"
59
+ rails: "5.2"
60
+ - ruby: "2.6"
61
+ rails: "6.0"
62
+ - ruby: "2.7"
63
+ rails: "6.0"
64
+ exclude:
65
+ - ruby: "3.1"
66
+ rails: "6.1"
67
+ - ruby: "3.2"
68
+ rails: "6.1"
69
+ - ruby: "3.3"
70
+ rails: "6.1"
71
+ - ruby: "2.6"
72
+ rails: "7.0"
73
+ - ruby: "jruby"
74
+ rails: "7.0"
75
+ - ruby: "2.6"
76
+ rails: "7.1"
77
+ - ruby: "jruby"
78
+ rails: "7.1"
79
+ name: Rails ${{ matrix.rails }}, Ruby ${{ matrix.ruby }}
80
+
81
+ env:
82
+ BUNDLE_GEMFILE: "ci/Gemfile.rails-${{ matrix.rails }}"
83
+ steps:
84
+ - uses: actions/checkout@v3
85
+ - name: Install db dependencies and check connections
86
+ run: |
87
+ DEBIAN_FRONTEND="noninteractive" sudo apt-get install -yqq mysql-client libmysqlclient-dev postgresql-client libpq-dev
88
+ mysql --host 127.0.0.1 --port ${{ job.services.mysql.ports[3306] }} -uroot -proot -e "SHOW GRANTS FOR 'root'@'localhost'"
89
+ env PGPASSWORD=postgres psql -h localhost -p ${{ job.services.postgres.ports[5432] }} -U postgres -l
90
+ - uses: ruby/setup-ruby@v1
91
+ with:
92
+ ruby-version: ${{ matrix.ruby }}
93
+ bundler-cache: true
94
+ - name: Create databases
95
+ run: |
96
+ mysql -e 'create database i18n_sequel_bitemporal;' --host 127.0.0.1 --port ${{ job.services.mysql.ports[3306] }} -uroot -proot
97
+ env PGPASSWORD=postgres psql -c 'create database i18n_sequel_bitemporal;' -U postgres -h localhost -p ${{ job.services.postgres.ports[5432] }}
98
+ - name: Run PostgreSQL tests
99
+ run: bundle exec rake test
100
+ env:
101
+ TEST_ADAPTER: postgresql
102
+ TEST_DATABASE: i18n_sequel_bitemporal
103
+ TEST_DATABASE_HOST: localhost
104
+ TEST_DATABASE_PORT: ${{ job.services.postgres.ports[5432] }}
105
+ TEST_OWNER: postgres
106
+ TEST_USERNAME: postgres
107
+ TEST_PASSWORD: postgres
108
+ - name: Run MySQL2 tests
109
+ run: bundle exec rake test
110
+ if: matrix.ruby != 'jruby'
111
+ env:
112
+ TEST_ADAPTER: mysql2
113
+ TEST_DATABASE: i18n_sequel_bitemporal
114
+ TEST_DATABASE_HOST: 127.0.0.1
115
+ TEST_DATABASE_PORT: ${{ job.services.mysql.ports[3306] }}
116
+ TEST_USERNAME: root
117
+ TEST_PASSWORD: root
118
+ TEST_ENCODING: "utf8"
119
+ - name: Run SQLite tests
120
+ run: bundle exec rake test
121
+ env:
122
+ TEST_ADAPTER: "sqlite"
123
+ TEST_DATABASE: "test/database.sqlite3"
124
+ # - name: Lint
125
+ # run: bundle exec rubocop
data/.gitignore CHANGED
@@ -1,5 +1,5 @@
1
1
  *.gem
2
2
  .bundle
3
3
  Gemfile.lock
4
- ci/Gemfile.lock
4
+ ci/Gemfile*.lock
5
5
  pkg/*
data/Gemfile CHANGED
@@ -11,10 +11,12 @@ gem "timecop"
11
11
 
12
12
  platforms :ruby do
13
13
  gem "pg"
14
+ gem "mysql2"
14
15
  gem "sqlite3"
15
16
  end
16
17
 
17
18
  platforms :jruby do
18
19
  gem "jdbc-postgres"
20
+ gem "jdbc-mysql"
19
21
  gem "jdbc-sqlite3"
20
22
  end
data/ci/Gemfile.rails-5.0 CHANGED
@@ -12,10 +12,12 @@ gem "timecop"
12
12
 
13
13
  platforms :ruby do
14
14
  gem "pg"
15
+ gem "mysql2"
15
16
  gem "sqlite3"
16
17
  end
17
18
 
18
19
  platforms :jruby do
19
20
  gem "jdbc-postgres"
21
+ gem "jdbc-mysql"
20
22
  gem "jdbc-sqlite3"
21
23
  end
data/ci/Gemfile.rails-5.1 CHANGED
@@ -12,10 +12,12 @@ gem "timecop"
12
12
 
13
13
  platforms :ruby do
14
14
  gem "pg"
15
+ gem "mysql2"
15
16
  gem "sqlite3"
16
17
  end
17
18
 
18
19
  platforms :jruby do
19
20
  gem "jdbc-postgres"
21
+ gem "jdbc-mysql"
20
22
  gem "jdbc-sqlite3"
21
23
  end
data/ci/Gemfile.rails-5.2 CHANGED
@@ -12,10 +12,12 @@ gem "timecop"
12
12
 
13
13
  platforms :ruby do
14
14
  gem "pg"
15
+ gem "mysql2"
15
16
  gem "sqlite3"
16
17
  end
17
18
 
18
19
  platforms :jruby do
19
20
  gem "jdbc-postgres"
21
+ gem "jdbc-mysql"
20
22
  gem "jdbc-sqlite3"
21
23
  end
@@ -0,0 +1,23 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec :path => "../"
4
+
5
+ gem 'railties', '~> 6.0.0'
6
+
7
+ gem "test-unit"
8
+ gem "test_declarative"
9
+ gem "mocha"
10
+ gem "rake"
11
+ gem "timecop"
12
+
13
+ platforms :ruby do
14
+ gem "pg"
15
+ gem "mysql2"
16
+ gem "sqlite3"
17
+ end
18
+
19
+ platforms :jruby do
20
+ gem "jdbc-postgres"
21
+ gem "jdbc-mysql"
22
+ gem "jdbc-sqlite3"
23
+ end
@@ -0,0 +1,23 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec :path => "../"
4
+
5
+ gem 'railties', '~> 6.1.0'
6
+
7
+ gem "test-unit"
8
+ gem "test_declarative"
9
+ gem "mocha"
10
+ gem "rake"
11
+ gem "timecop"
12
+
13
+ platforms :ruby do
14
+ gem "pg"
15
+ gem "mysql2"
16
+ gem "sqlite3"
17
+ end
18
+
19
+ platforms :jruby do
20
+ gem "jdbc-postgres"
21
+ gem "jdbc-mysql"
22
+ gem "jdbc-sqlite3"
23
+ end
@@ -0,0 +1,23 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec :path => "../"
4
+
5
+ gem 'railties', '~> 7.0.0'
6
+
7
+ gem "test-unit"
8
+ gem "test_declarative"
9
+ gem "mocha"
10
+ gem "rake"
11
+ gem "timecop"
12
+
13
+ platforms :ruby do
14
+ gem "pg"
15
+ gem "mysql2"
16
+ gem "sqlite3"
17
+ end
18
+
19
+ platforms :jruby do
20
+ gem "jdbc-postgres"
21
+ gem "jdbc-mysql"
22
+ gem "jdbc-sqlite3"
23
+ end
@@ -0,0 +1,23 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec :path => "../"
4
+
5
+ gem 'railties', '~> 7.1.0'
6
+
7
+ gem "test-unit"
8
+ gem "test_declarative"
9
+ gem "mocha"
10
+ gem "rake"
11
+ gem "timecop"
12
+
13
+ platforms :ruby do
14
+ gem "pg"
15
+ gem "mysql2"
16
+ gem "sqlite3"
17
+ end
18
+
19
+ platforms :jruby do
20
+ gem "jdbc-postgres"
21
+ gem "jdbc-mysql"
22
+ gem "jdbc-sqlite3"
23
+ end
@@ -102,6 +102,7 @@ module I18n
102
102
 
103
103
  class Translation < ::Sequel::Model(::I18n::Backend::SequelBitemporal.master_table_name)
104
104
  extend Forwardable
105
+ plugin :def_dataset_method
105
106
  plugin :bitemporal, version_class: TranslationVersion
106
107
 
107
108
  delegate [:value, :interpolations, :interpolates?] => :pending_or_current_version
@@ -143,7 +144,12 @@ module I18n
143
144
  end
144
145
 
145
146
  def all_for_locale(locale)
146
- self.locale(locale).with_current_version.all
147
+ self.locale(locale).with_current_version.select(
148
+ :locale,
149
+ :key,
150
+ :value,
151
+ :is_proc
152
+ ).all
147
153
  end
148
154
  end
149
155
  end
@@ -44,6 +44,7 @@ module I18n
44
44
 
45
45
  def store_translations(locale, data, options = {})
46
46
  escape = options.fetch(:escape, true)
47
+ point_in_time_for_new = options[:point_in_time_for_new]
47
48
  valid_from_for_new = options[:valid_from_for_new]
48
49
  flatten_translations(locale, data, escape, false).each do |key, value|
49
50
  # Invalidate all keys matching current one:
@@ -56,7 +57,13 @@ module I18n
56
57
  Translation.new(:locale => locale.to_s, :key => key.to_s)
57
58
  translation.attributes = {:value => value}
58
59
  translation.attributes[:valid_from] = valid_from_for_new if translation.new?
59
- translation.save
60
+ if point_in_time_for_new && translation.new?
61
+ ::Sequel::Plugins::Bitemporal.as_we_knew_it point_in_time_for_new do
62
+ translation.save
63
+ end
64
+ else
65
+ translation.save
66
+ end
60
67
  end
61
68
  end
62
69
  end
@@ -1,5 +1,5 @@
1
1
  module I18n
2
2
  module SequelBitemporal
3
- VERSION = "1.0.2"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
Binary file
data/test/sequel_test.rb CHANGED
@@ -67,6 +67,24 @@ class I18nBackendSequelBitemporalTest < I18nBitemporalTest
67
67
  assert_equal valid_from_for_new, translation.current_version.valid_from
68
68
  end
69
69
 
70
+ test "can specify point in time for the new translation" do
71
+ point_in_time_for_new = Time.parse("2001-01-01T12:00:00Z")
72
+ I18n.backend.store_translations(:es, {:"Pagina's" => "Pagina's"}, point_in_time_for_new: point_in_time_for_new )
73
+ translation = I18n::Backend::SequelBitemporal::Translation.locale(:es).lookup("Pagina's").limit(1).all.first
74
+ assert_equal "Pagina's", translation.value
75
+ assert_equal point_in_time_for_new, translation.current_version.created_at
76
+ end
77
+
78
+ test "can specify both point in time and valid_from for the new translation" do
79
+ point_in_time_for_new = Time.parse("2001-01-01T12:00:00Z")
80
+ valid_from_for_new = Date.parse("2001-01-01")
81
+ I18n.backend.store_translations(:es, {:"Pagina's" => "Pagina's"}, point_in_time_for_new: point_in_time_for_new, valid_from_for_new: valid_from_for_new )
82
+ translation = I18n::Backend::SequelBitemporal::Translation.locale(:es).lookup("Pagina's").limit(1).all.first
83
+ assert_equal "Pagina's", translation.value
84
+ assert_equal point_in_time_for_new, translation.current_version.created_at
85
+ assert_equal valid_from_for_new, translation.current_version.valid_from
86
+ end
87
+
70
88
  with_mocha do
71
89
  test "missing translations table does not cause an error in #available_locales" do
72
90
  I18n::Backend::SequelBitemporal::Translation.expects(:available_locales).raises(::Sequel::Error)
@@ -79,7 +97,7 @@ class I18nBackendSequelBitemporalTest < I18nBitemporalTest
79
97
  end
80
98
 
81
99
  test "allows to override the table names" do
82
- ::Sequel::Model.db.transaction :rollback => :always do
100
+ ::Sequel::Model.db.transaction :rollback => :always, savepoint: :only do
83
101
  begin
84
102
  ::Sequel.migration do
85
103
  change do
@@ -125,8 +143,12 @@ class I18nBackendSequelBitemporalTest < I18nBitemporalTest
125
143
  def change_table_names(master_name, version_name)
126
144
  ::I18n::Backend::SequelBitemporal.master_table_name = master_name
127
145
  ::I18n::Backend::SequelBitemporal.version_table_name = version_name
128
- ::I18n::Backend::SequelBitemporal.send :remove_const, :Translation
129
- ::I18n::Backend::SequelBitemporal.send :remove_const, :TranslationVersion
146
+ if ::I18n::Backend::SequelBitemporal.const_defined?(:Translation)
147
+ ::I18n::Backend::SequelBitemporal.send :remove_const, :Translation
148
+ end
149
+ if ::I18n::Backend::SequelBitemporal.const_defined?(:TranslationVersion)
150
+ ::I18n::Backend::SequelBitemporal.send :remove_const, :TranslationVersion
151
+ end
130
152
  load File.expand_path(
131
153
  "../../lib/i18n/backend/sequel_bitemporal/translation.rb",
132
154
  __FILE__
data/test/test_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ ENV["TZ"] = "UTC"
1
2
  $:.unshift File.expand_path(".", File.dirname(__FILE__))
2
3
 
3
4
  require 'test_setup'
data/test/test_setup.rb CHANGED
@@ -5,18 +5,14 @@ require "optparse"
5
5
  module I18n
6
6
  module Tests
7
7
  class << self
8
- def options
9
- @options ||= { :with => [], :adapter => "sqlite3" }
10
- end
11
-
12
8
  def parse_options!
13
- OptionParser.new do |o|
14
- o.on("-w", "--with DEPENDENCIES", "Define dependencies") do |dep|
15
- options[:with] = dep.split(",").map { |group| group.to_sym }
16
- end
17
- end.parse!
18
-
19
- options[:adapter] = ENV["ADAPTER"] || "postgres"
9
+ options[:adapter] = ENV.fetch "TEST_ADAPTER", "sqlite"
10
+ options[:database] = ENV.fetch "TEST_DATABASE", ":memory:"
11
+ options[:host] = ENV.fetch "TEST_DATABASE_HOST", nil
12
+ options[:port] = ENV.fetch "TEST_DATABASE_PORT", nil
13
+ options[:user] = ENV.fetch "TEST_USERNAME", nil
14
+ options[:password] = ENV.fetch "TEST_PASSWORD", nil
15
+ options[:encoding] = ENV.fetch "TEST_ENCODING", nil
20
16
  end
21
17
 
22
18
  def setup_sequel
@@ -38,9 +34,11 @@ module I18n
38
34
  connect_adapter
39
35
  ::Sequel.extension :migration
40
36
  opts = {}
41
- opts[:cascade] = true if options[:adapter].to_sym==:postgres
42
- ::Sequel::Model.db.drop_table? :i18n_translations, opts
37
+ opts[:cascade] = true if postgresql?
38
+ ::Sequel::Model.db.drop_table? :another_i18n_translation_versions, opts
39
+ ::Sequel::Model.db.drop_table? :another_i18n_translations, opts
43
40
  ::Sequel::Model.db.drop_table? :i18n_translation_versions, opts
41
+ ::Sequel::Model.db.drop_table? :i18n_translations, opts
44
42
  ::Sequel.migration do
45
43
  change do
46
44
  create_table :i18n_translations do
@@ -66,33 +64,44 @@ module I18n
66
64
  end
67
65
 
68
66
  def connect_adapter
69
- logger = nil
67
+ connect_options = options.dup
70
68
  if ENV["DEBUG"]
71
69
  require "logger"
72
- logger = Logger.new STDOUT
70
+ connect_options = options.merge! :logger => Logger.new(STDOUT)
73
71
  end
74
- case options[:adapter].to_sym
75
- when :sqlite3
76
- if (defined?(RUBY_ENGINE) && RUBY_ENGINE=="jruby") || defined?(JRUBY_VERSION)
77
- ::Sequel.connect("jdbc:sqlite::memory:", :logger => logger)
78
- else
79
- ::Sequel.sqlite(":memory:", :logger => logger)
80
- end
81
- when :postgres
82
- if (defined?(RUBY_ENGINE) && RUBY_ENGINE=="jruby") || defined?(JRUBY_VERSION)
83
- ::Sequel.connect("jdbc:postgresql://localhost/i18n_sequel_bitemporal", :logger => logger)
84
- else
85
- ::Sequel.postgres("i18n_sequel_bitemporal", :logger => logger)
86
- end
87
- when :mysql
88
- # CREATE DATABASE i18n_unittest;
89
- # CREATE USER "i18n"@"localhost" IDENTIFIED BY "";
90
- # GRANT ALL PRIVILEGES ON i18n_unittest.* to "i18n"@"localhost";
91
- if (defined?(RUBY_ENGINE) && RUBY_ENGINE=="jruby") || defined?(JRUBY_VERSION)
92
- ::Sequel.connect("jdbc:mysql://localhost/i18n_sequel_bitemporal", :logger => logger)
93
- else
94
- ::Sequel.mysql(:database => "i18n_unittest", :user => "i18n", :password => "", :host => "localhost", :logger => logger)
95
- end
72
+ ::Sequel.connect(connect_options.merge(:adapter => adapter))
73
+ end
74
+
75
+ private
76
+
77
+ def options
78
+ @options ||= {}
79
+ end
80
+
81
+ def jruby?
82
+ (defined?(RUBY_ENGINE) && RUBY_ENGINE=="jruby") || defined?(JRUBY_VERSION)
83
+ end
84
+
85
+ def postgresql?
86
+ options[:adapter] == "postgresql"
87
+ end
88
+
89
+ def sqlite?
90
+ options[:adapter] == "sqlite"
91
+ end
92
+
93
+ def mysql?
94
+ options[:adapter] == "mysql2"
95
+ end
96
+
97
+ def adapter
98
+ case options[:adapter]
99
+ when "sqlite", "sqlite3"
100
+ jruby? ? "jdbc:sqlite:" : "sqlite"
101
+ when "postgresql", "postgres"
102
+ jruby? ? "jdbc:postgresql" : "postgresql"
103
+ when "mysql", "mysql2"
104
+ jruby? ? "jdbc:mysql" : "mysql2"
96
105
  end
97
106
  end
98
107
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n-sequel_bitemporal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Tron
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-14 00:00:00.000000000 Z
11
+ date: 2024-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -61,9 +61,8 @@ executables: []
61
61
  extensions: []
62
62
  extra_rdoc_files: []
63
63
  files:
64
+ - ".github/workflows/ci.yml"
64
65
  - ".gitignore"
65
- - ".ruby-version"
66
- - ".travis.yml"
67
66
  - Gemfile
68
67
  - MIT-LICENSE
69
68
  - README.md
@@ -71,6 +70,10 @@ files:
71
70
  - ci/Gemfile.rails-5.0
72
71
  - ci/Gemfile.rails-5.1
73
72
  - ci/Gemfile.rails-5.2
73
+ - ci/Gemfile.rails-6.0
74
+ - ci/Gemfile.rails-6.1
75
+ - ci/Gemfile.rails-7.0
76
+ - ci/Gemfile.rails-7.1
74
77
  - i18n-sequel_bitemporal.gemspec
75
78
  - lib/i18n/backend/sequel_bitemporal.rb
76
79
  - lib/i18n/backend/sequel_bitemporal/missing.rb
@@ -80,6 +83,7 @@ files:
80
83
  - lib/i18n/sequel_bitemporal/version.rb
81
84
  - test/all.rb
82
85
  - test/api_test.rb
86
+ - test/database.sqlite3
83
87
  - test/missing_test.rb
84
88
  - test/sequel_cache_test.rb
85
89
  - test/sequel_test.rb
@@ -103,13 +107,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
107
  - !ruby/object:Gem::Version
104
108
  version: '0'
105
109
  requirements: []
106
- rubygems_version: 3.3.7
110
+ rubygems_version: 3.5.3
107
111
  signing_key:
108
112
  specification_version: 4
109
113
  summary: I18n Bitemporal Sequel backend
110
114
  test_files:
111
115
  - test/all.rb
112
116
  - test/api_test.rb
117
+ - test/database.sqlite3
113
118
  - test/missing_test.rb
114
119
  - test/sequel_cache_test.rb
115
120
  - test/sequel_test.rb
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.6.3
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- before_script:
5
- - psql -c 'create database i18n_sequel_bitemporal;' -U postgres
6
- rvm:
7
- - 2.3.8
8
- - 2.4.6
9
- - 2.5.5
10
- - 2.6.3
11
- env:
12
- - ADAPTER=sqlite3
13
- - ADAPTER=postgres
14
- gemfile:
15
- - ci/Gemfile.rails-5.0
16
- - ci/Gemfile.rails-5.1
17
- - ci/Gemfile.rails-5.2