iknow_view_models 2.9.0 → 2.10.1
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/.github/workflows/gem-push.yml +31 -0
- data/.github/workflows/test.yml +65 -0
- data/Appraisals +16 -6
- data/gemfiles/{rails_6_0_beta.gemfile → rails_6_0.gemfile} +2 -2
- data/gemfiles/rails_6_1.gemfile +9 -0
- data/gemfiles/rails_7_0.gemfile +9 -0
- data/iknow_view_models.gemspec +4 -2
- data/lib/iknow_view_models/version.rb +1 -1
- data/lib/view_model/callbacks.rb +2 -2
- data/lib/view_model/test_helpers/arvm_builder.rb +4 -2
- data/lib/view_model/traversal_context.rb +2 -2
- data/lib/view_model.rb +5 -4
- data/test/helpers/arvm_test_models.rb +12 -4
- data/test/helpers/controller_test_helpers.rb +3 -1
- data/test/unit/view_model/active_record/cache_test.rb +3 -8
- metadata +21 -14
- data/.circleci/config.yml +0 -119
- data/.travis.yml +0 -31
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a9b87bb5a0377e13f42a5468d35a918f7555cad606a85a8ec20217862c9e3382
|
|
4
|
+
data.tar.gz: 84b0c4a23ed0749dc27a029cc93958f2571e047ce327214c174386e26ce921a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0d2b3aafd5900d7cccd209c7526a39ad6099d670e4a15586e9b64b28a0211d153bef4dadca7d3ab4ed2a7203167e0022565e28bb8337669175c2d0d2257a6593
|
|
7
|
+
data.tar.gz: b8e28fca052e4664244704d876d94242d1ca4c2b40d696095011a5d795921d31dd5a588133e22ee813540e56a9cacfc77158b50b6df70288e1e59e6a3fa87fc3
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Publish Ruby Gem
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ "v2.x" ]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
name: Build + Publish
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
packages: write
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v3
|
|
17
|
+
- name: Set up Ruby 2.7
|
|
18
|
+
uses: ruby/setup-ruby@v1
|
|
19
|
+
with:
|
|
20
|
+
ruby-version: 2.7
|
|
21
|
+
|
|
22
|
+
- name: Publish to RubyGems
|
|
23
|
+
run: |
|
|
24
|
+
mkdir -p $HOME/.gem
|
|
25
|
+
touch $HOME/.gem/credentials
|
|
26
|
+
chmod 0600 $HOME/.gem/credentials
|
|
27
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
|
28
|
+
gem build *.gemspec
|
|
29
|
+
gem push *.gem
|
|
30
|
+
env:
|
|
31
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Run Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches: "**"
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
checks: write
|
|
10
|
+
pull-requests: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
test:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
services:
|
|
17
|
+
postgres:
|
|
18
|
+
image: postgres:13-alpine
|
|
19
|
+
ports:
|
|
20
|
+
- "5432:5432"
|
|
21
|
+
env:
|
|
22
|
+
POSTGRES_DB: iknow_view_models
|
|
23
|
+
POSTGRES_USER: rails
|
|
24
|
+
POSTGRES_PASSWORD: password
|
|
25
|
+
|
|
26
|
+
strategy:
|
|
27
|
+
fail-fast: false
|
|
28
|
+
matrix:
|
|
29
|
+
ruby-version: ['2.7', '3.0', '3.1', '3.2']
|
|
30
|
+
include:
|
|
31
|
+
- ruby-version: '2.7'
|
|
32
|
+
bundle-gemfile: gemfiles/rails_5_2.gemfile
|
|
33
|
+
- ruby-version: '3.0'
|
|
34
|
+
bundle-gemfile: gemfiles/rails_6_0.gemfile
|
|
35
|
+
- ruby-version: '3.1'
|
|
36
|
+
bundle-gemfile: gemfiles/rails_6_1.gemfile
|
|
37
|
+
- ruby-version: '3.2'
|
|
38
|
+
bundle-gemfile: gemfiles/rails_7_0.gemfile
|
|
39
|
+
|
|
40
|
+
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
|
41
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.bundle-gemfile }}
|
|
42
|
+
DATABASE_URL: "postgres://rails:password@localhost:5432/iknow_view_models"
|
|
43
|
+
|
|
44
|
+
steps:
|
|
45
|
+
- uses: actions/checkout@v3
|
|
46
|
+
- name: Set up Ruby
|
|
47
|
+
uses: ruby/setup-ruby@v1
|
|
48
|
+
with:
|
|
49
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
50
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
51
|
+
- name: Run tests
|
|
52
|
+
run: bundle exec rake test
|
|
53
|
+
- name: Upload result
|
|
54
|
+
uses: actions/upload-artifact@v3
|
|
55
|
+
if: always()
|
|
56
|
+
with:
|
|
57
|
+
path: test/reports/
|
|
58
|
+
name: test_results_${{ matrix.ruby-version }}
|
|
59
|
+
- name: Test Report
|
|
60
|
+
uses: dorny/test-reporter@v1
|
|
61
|
+
if: always()
|
|
62
|
+
with:
|
|
63
|
+
name: Minitest Tests - ${{ matrix.ruby-version }}
|
|
64
|
+
path: test/reports/*.xml
|
|
65
|
+
reporter: java-junit
|
data/Appraisals
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
-
appraise
|
|
2
|
-
gem
|
|
3
|
-
gem
|
|
1
|
+
appraise 'rails-5-2' do
|
|
2
|
+
gem 'activerecord', '~> 5.2.0'
|
|
3
|
+
gem 'activesupport', '~> 5.2.0'
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
-
appraise
|
|
7
|
-
gem
|
|
8
|
-
gem
|
|
6
|
+
appraise 'rails-6-0' do
|
|
7
|
+
gem 'activerecord', '~> 6.0.0'
|
|
8
|
+
gem 'activesupport', '~> 6.0.0'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
appraise 'rails-6-1' do
|
|
12
|
+
gem 'activerecord', '~> 6.1.0'
|
|
13
|
+
gem 'activesupport', '~> 6.1.0'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
appraise 'rails-7-0' do
|
|
17
|
+
gem 'activerecord', '~> 7.0.0'
|
|
18
|
+
gem 'activesupport', '~> 7.0.0'
|
|
9
19
|
end
|
data/iknow_view_models.gemspec
CHANGED
|
@@ -20,13 +20,15 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
21
21
|
spec.require_paths = ["lib"]
|
|
22
22
|
|
|
23
|
+
spec.required_ruby_version = '>= 2.7.3'
|
|
24
|
+
|
|
23
25
|
spec.add_dependency "activerecord", ">= 5.0"
|
|
24
26
|
spec.add_dependency "activesupport", ">= 5.0"
|
|
25
27
|
|
|
26
28
|
spec.add_dependency "acts_as_manual_list"
|
|
27
29
|
spec.add_dependency "deep_preloader"
|
|
28
30
|
spec.add_dependency "iknow_cache"
|
|
29
|
-
spec.add_dependency "iknow_params", "
|
|
31
|
+
spec.add_dependency "iknow_params", ">= 2.2.0", "< 2.4"
|
|
30
32
|
spec.add_dependency "safe_values"
|
|
31
33
|
spec.add_dependency "keyword_builder"
|
|
32
34
|
|
|
@@ -42,7 +44,7 @@ Gem::Specification.new do |spec|
|
|
|
42
44
|
spec.add_development_dependency "byebug"
|
|
43
45
|
spec.add_development_dependency "method_source"
|
|
44
46
|
spec.add_development_dependency "minitest-hooks"
|
|
45
|
-
spec.add_development_dependency "pg"
|
|
47
|
+
spec.add_development_dependency "pg"
|
|
46
48
|
spec.add_development_dependency "pry"
|
|
47
49
|
spec.add_development_dependency "rake"
|
|
48
50
|
spec.add_development_dependency "rspec-expectations"
|
data/lib/view_model/callbacks.rb
CHANGED
|
@@ -11,9 +11,9 @@ module ViewModel::Callbacks
|
|
|
11
11
|
# callbacks instance with additional instance method access to the view,
|
|
12
12
|
# context and extra context-dependent parameters.
|
|
13
13
|
module CallbackEnvContext
|
|
14
|
-
def method_missing(method,
|
|
14
|
+
def method_missing(method, ...)
|
|
15
15
|
if _callbacks.respond_to?(method, true)
|
|
16
|
-
_callbacks.send(method,
|
|
16
|
+
_callbacks.send(method, ...)
|
|
17
17
|
else
|
|
18
18
|
super
|
|
19
19
|
end
|
|
@@ -62,8 +62,10 @@ class ViewModel::TestHelpers::ARVMBuilder
|
|
|
62
62
|
ActiveRecord::Base.connection.execute("DROP TABLE IF EXISTS #{name.underscore.pluralize} CASCADE")
|
|
63
63
|
namespace.send(:remove_const, name)
|
|
64
64
|
namespace.send(:remove_const, viewmodel_name) if viewmodel
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
if ActiveSupport::VERSION::MAJOR < 7
|
|
66
|
+
# prevent cached old class from being used to resolve associations
|
|
67
|
+
ActiveSupport::Dependencies::Reference.clear!
|
|
68
|
+
end
|
|
67
69
|
end
|
|
68
70
|
|
|
69
71
|
private
|
|
@@ -23,8 +23,8 @@ class ViewModel::TraversalContext
|
|
|
23
23
|
attr_reader :shared_context
|
|
24
24
|
delegate :access_control, :callbacks, to: :shared_context
|
|
25
25
|
|
|
26
|
-
def self.new_child(
|
|
27
|
-
self.allocate.tap { |c| c.initialize_as_child(
|
|
26
|
+
def self.new_child(...)
|
|
27
|
+
self.allocate.tap { |c| c.initialize_as_child(...) }
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def initialize(shared_context: nil, **shared_context_params)
|
data/lib/view_model.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# A ViewModel encapsulates a particular aggregation of data calculated via the
|
|
4
4
|
# underlying models and provides a means of serializing it into views.
|
|
5
5
|
require 'jbuilder'
|
|
6
|
+
require 'base64'
|
|
6
7
|
require 'deep_preloader'
|
|
7
8
|
|
|
8
9
|
class ViewModel
|
|
@@ -209,16 +210,16 @@ class ViewModel
|
|
|
209
210
|
ViewModel::SerializeContext
|
|
210
211
|
end
|
|
211
212
|
|
|
212
|
-
def new_serialize_context(
|
|
213
|
-
serialize_context_class.new(
|
|
213
|
+
def new_serialize_context(...)
|
|
214
|
+
serialize_context_class.new(...)
|
|
214
215
|
end
|
|
215
216
|
|
|
216
217
|
def deserialize_context_class
|
|
217
218
|
ViewModel::DeserializeContext
|
|
218
219
|
end
|
|
219
220
|
|
|
220
|
-
def new_deserialize_context(
|
|
221
|
-
deserialize_context_class.new(
|
|
221
|
+
def new_deserialize_context(...)
|
|
222
|
+
deserialize_context_class.new(...)
|
|
222
223
|
end
|
|
223
224
|
|
|
224
225
|
def accepts_schema_version?(schema_version)
|
|
@@ -6,10 +6,18 @@ require "view_model/active_record/controller"
|
|
|
6
6
|
|
|
7
7
|
require "acts_as_manual_list"
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
db_config =
|
|
10
|
+
if (url = ENV['DATABASE_URL'])
|
|
11
|
+
url
|
|
12
|
+
else
|
|
13
|
+
db_config_path = File.join(File.dirname(__FILE__), '../config/database.yml')
|
|
14
|
+
yaml = YAML.safe_load(File.open(db_config_path))
|
|
15
|
+
raise 'Test database configuration missing' unless yaml['test']
|
|
16
|
+
|
|
17
|
+
yaml['test']
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
ActiveRecord::Base.establish_connection(db_config)
|
|
13
21
|
|
|
14
22
|
# Remove test tables if any exist
|
|
15
23
|
%w[labels parents children targets poly_ones poly_twos owners
|
|
@@ -267,7 +267,9 @@ module ControllerTestControllers
|
|
|
267
267
|
[:ParentController, :ChildController, :LabelController, :TargetController].each do |name|
|
|
268
268
|
Object.send(:remove_const, name)
|
|
269
269
|
end
|
|
270
|
-
ActiveSupport::
|
|
270
|
+
if ActiveSupport::VERSION::MAJOR < 7
|
|
271
|
+
ActiveSupport::Dependencies::Reference.clear!
|
|
272
|
+
end
|
|
271
273
|
super
|
|
272
274
|
end
|
|
273
275
|
end
|
|
@@ -15,16 +15,11 @@ require "view_model/active_record"
|
|
|
15
15
|
|
|
16
16
|
DUMMY_RAILS_CACHE = ActiveSupport::Cache::MemoryStore.new
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
end
|
|
18
|
+
IknowCache.configure! do
|
|
19
|
+
logger ::ActiveRecord::Base.logger
|
|
20
|
+
cache DUMMY_RAILS_CACHE
|
|
22
21
|
end
|
|
23
22
|
|
|
24
|
-
# Ensure we have a dummy Rails, and then prepend our dummy cache
|
|
25
|
-
module Rails; end
|
|
26
|
-
Rails.singleton_class.prepend(RailsDummyCache)
|
|
27
|
-
|
|
28
23
|
class ViewModel::ActiveRecord
|
|
29
24
|
class CacheTest < ActiveSupport::TestCase
|
|
30
25
|
using ViewModel::Utils::Collections
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: iknow_view_models
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.10.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- iKnow Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-05-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|
|
@@ -84,16 +84,22 @@ dependencies:
|
|
|
84
84
|
name: iknow_params
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
|
-
- - "
|
|
87
|
+
- - ">="
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
89
|
version: 2.2.0
|
|
90
|
+
- - "<"
|
|
91
|
+
- !ruby/object:Gem::Version
|
|
92
|
+
version: '2.4'
|
|
90
93
|
type: :runtime
|
|
91
94
|
prerelease: false
|
|
92
95
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
96
|
requirements:
|
|
94
|
-
- - "
|
|
97
|
+
- - ">="
|
|
95
98
|
- !ruby/object:Gem::Version
|
|
96
99
|
version: 2.2.0
|
|
100
|
+
- - "<"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '2.4'
|
|
97
103
|
- !ruby/object:Gem::Dependency
|
|
98
104
|
name: safe_values
|
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -280,16 +286,16 @@ dependencies:
|
|
|
280
286
|
name: pg
|
|
281
287
|
requirement: !ruby/object:Gem::Requirement
|
|
282
288
|
requirements:
|
|
283
|
-
- - "
|
|
289
|
+
- - ">="
|
|
284
290
|
- !ruby/object:Gem::Version
|
|
285
|
-
version: '0
|
|
291
|
+
version: '0'
|
|
286
292
|
type: :development
|
|
287
293
|
prerelease: false
|
|
288
294
|
version_requirements: !ruby/object:Gem::Requirement
|
|
289
295
|
requirements:
|
|
290
|
-
- - "
|
|
296
|
+
- - ">="
|
|
291
297
|
- !ruby/object:Gem::Version
|
|
292
|
-
version: '0
|
|
298
|
+
version: '0'
|
|
293
299
|
- !ruby/object:Gem::Dependency
|
|
294
300
|
name: pry
|
|
295
301
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -353,11 +359,11 @@ executables: []
|
|
|
353
359
|
extensions: []
|
|
354
360
|
extra_rdoc_files: []
|
|
355
361
|
files:
|
|
356
|
-
- ".circleci/config.yml"
|
|
357
362
|
- ".envrc"
|
|
363
|
+
- ".github/workflows/gem-push.yml"
|
|
364
|
+
- ".github/workflows/test.yml"
|
|
358
365
|
- ".gitignore"
|
|
359
366
|
- ".idea/codeStyleSettings.xml"
|
|
360
|
-
- ".travis.yml"
|
|
361
367
|
- Appraisals
|
|
362
368
|
- Gemfile
|
|
363
369
|
- LICENSE.txt
|
|
@@ -365,7 +371,9 @@ files:
|
|
|
365
371
|
- Rakefile
|
|
366
372
|
- appveyor.yml
|
|
367
373
|
- gemfiles/rails_5_2.gemfile
|
|
368
|
-
- gemfiles/
|
|
374
|
+
- gemfiles/rails_6_0.gemfile
|
|
375
|
+
- gemfiles/rails_6_1.gemfile
|
|
376
|
+
- gemfiles/rails_7_0.gemfile
|
|
369
377
|
- iknow_view_models.gemspec
|
|
370
378
|
- lib/iknow_view_models.rb
|
|
371
379
|
- lib/iknow_view_models/railtie.rb
|
|
@@ -461,15 +469,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
461
469
|
requirements:
|
|
462
470
|
- - ">="
|
|
463
471
|
- !ruby/object:Gem::Version
|
|
464
|
-
version:
|
|
472
|
+
version: 2.7.3
|
|
465
473
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
466
474
|
requirements:
|
|
467
475
|
- - ">="
|
|
468
476
|
- !ruby/object:Gem::Version
|
|
469
477
|
version: '0'
|
|
470
478
|
requirements: []
|
|
471
|
-
|
|
472
|
-
rubygems_version: 2.7.6.2
|
|
479
|
+
rubygems_version: 3.1.6
|
|
473
480
|
signing_key:
|
|
474
481
|
specification_version: 4
|
|
475
482
|
summary: ViewModels provide a means of encapsulating a collection of related data
|
data/.circleci/config.yml
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
version: 2.1
|
|
2
|
-
|
|
3
|
-
executors:
|
|
4
|
-
ruby-pg:
|
|
5
|
-
parameters:
|
|
6
|
-
ruby-version:
|
|
7
|
-
type: string
|
|
8
|
-
default: "2.6"
|
|
9
|
-
pg-version:
|
|
10
|
-
type: string
|
|
11
|
-
default: "11"
|
|
12
|
-
gemfile:
|
|
13
|
-
type: string
|
|
14
|
-
default: "Gemfile"
|
|
15
|
-
environment:
|
|
16
|
-
PGHOST: 127.0.0.1
|
|
17
|
-
PGUSER: eikaiwa
|
|
18
|
-
docker:
|
|
19
|
-
- image: circleci/ruby:<< parameters.ruby-version >>
|
|
20
|
-
environment:
|
|
21
|
-
BUNDLE_JOBS: 3
|
|
22
|
-
BUNDLE_RETRY: 3
|
|
23
|
-
BUNDLE_PATH: vendor/bundle
|
|
24
|
-
RAILS_ENV: test
|
|
25
|
-
BUNDLE_GEMFILE: << parameters.gemfile >>
|
|
26
|
-
- image: circleci/postgres:<< parameters.pg-version >>-alpine
|
|
27
|
-
environment:
|
|
28
|
-
POSTGRES_USER: eikaiwa
|
|
29
|
-
POSTGRES_DB: iknow_view_models
|
|
30
|
-
POSTGRES_PASSWORD: ""
|
|
31
|
-
|
|
32
|
-
jobs:
|
|
33
|
-
test:
|
|
34
|
-
parameters:
|
|
35
|
-
ruby-version:
|
|
36
|
-
type: string
|
|
37
|
-
pg-version:
|
|
38
|
-
type: string
|
|
39
|
-
gemfile:
|
|
40
|
-
type: string
|
|
41
|
-
executor:
|
|
42
|
-
name: ruby-pg
|
|
43
|
-
ruby-version: << parameters.ruby-version >>
|
|
44
|
-
pg-version: << parameters.pg-version >>
|
|
45
|
-
gemfile: << parameters.gemfile >>
|
|
46
|
-
parallelism: 1
|
|
47
|
-
steps:
|
|
48
|
-
- checkout
|
|
49
|
-
|
|
50
|
-
- run:
|
|
51
|
-
# Remove the non-appraisal gemfile for safety: we never want to use it.
|
|
52
|
-
name: Prepare bundler
|
|
53
|
-
command: bundle -v && rm Gemfile
|
|
54
|
-
|
|
55
|
-
- run:
|
|
56
|
-
name: Compute a gemfile lock
|
|
57
|
-
command: bundle lock && cp "${BUNDLE_GEMFILE}.lock" /tmp/gem-lock
|
|
58
|
-
|
|
59
|
-
- restore_cache:
|
|
60
|
-
keys:
|
|
61
|
-
- iknow_viewmodels-<< parameters.ruby-version >>-{{ checksum "/tmp/gem-lock" }}
|
|
62
|
-
- iknow_viewmodels-
|
|
63
|
-
|
|
64
|
-
- run:
|
|
65
|
-
name: Bundle Install
|
|
66
|
-
command: bundle check || bundle install
|
|
67
|
-
|
|
68
|
-
- save_cache:
|
|
69
|
-
key: iknow_viewmodels-<< parameters.ruby-version >>-{{ checksum "/tmp/gem-lock" }}
|
|
70
|
-
paths:
|
|
71
|
-
- vendor/bundle
|
|
72
|
-
|
|
73
|
-
- run:
|
|
74
|
-
name: Wait for DB
|
|
75
|
-
command: dockerize -wait tcp://localhost:5432 -timeout 1m
|
|
76
|
-
|
|
77
|
-
- run:
|
|
78
|
-
name: Run minitest
|
|
79
|
-
command: bundle exec rake test
|
|
80
|
-
|
|
81
|
-
- store_test_results:
|
|
82
|
-
path: test/reports
|
|
83
|
-
|
|
84
|
-
publish:
|
|
85
|
-
executor: ruby-pg
|
|
86
|
-
steps:
|
|
87
|
-
- checkout
|
|
88
|
-
- run:
|
|
89
|
-
name: Setup Rubygems
|
|
90
|
-
command: |
|
|
91
|
-
mkdir ~/.gem &&
|
|
92
|
-
echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials &&
|
|
93
|
-
chmod 0600 ~/.gem/credentials
|
|
94
|
-
- run:
|
|
95
|
-
name: Publish to Rubygems
|
|
96
|
-
command: |
|
|
97
|
-
gem build iknow_view_models.gemspec
|
|
98
|
-
gem push iknow_view_models-*.gem
|
|
99
|
-
|
|
100
|
-
workflows:
|
|
101
|
-
version: 2.1
|
|
102
|
-
build:
|
|
103
|
-
jobs:
|
|
104
|
-
- test:
|
|
105
|
-
name: 'ruby 2.6 rails 5.2 pg 11'
|
|
106
|
-
ruby-version: "2.6"
|
|
107
|
-
pg-version: "11"
|
|
108
|
-
gemfile: gemfiles/rails_5_2.gemfile
|
|
109
|
-
- test:
|
|
110
|
-
name: 'ruby 2.6 rails 6.0 pg 11'
|
|
111
|
-
ruby-version: "2.6"
|
|
112
|
-
pg-version: "11"
|
|
113
|
-
gemfile: gemfiles/rails_6_0_beta.gemfile
|
|
114
|
-
- publish:
|
|
115
|
-
filters:
|
|
116
|
-
branches:
|
|
117
|
-
only: master
|
|
118
|
-
tags:
|
|
119
|
-
ignore: /.*/
|
data/.travis.yml
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
dist: trusty
|
|
2
|
-
sudo: false
|
|
3
|
-
language: ruby
|
|
4
|
-
cache: bundler
|
|
5
|
-
|
|
6
|
-
rvm:
|
|
7
|
-
- 2.5
|
|
8
|
-
|
|
9
|
-
gemfile:
|
|
10
|
-
- gemfiles/rails_5_2.gemfile
|
|
11
|
-
|
|
12
|
-
addons:
|
|
13
|
-
postgresql: "10"
|
|
14
|
-
apt:
|
|
15
|
-
packages:
|
|
16
|
-
- postgresql-10
|
|
17
|
-
- postgresql-client-10
|
|
18
|
-
- postgresql-server-dev-10
|
|
19
|
-
env:
|
|
20
|
-
global:
|
|
21
|
-
- PGPORT=5433
|
|
22
|
-
|
|
23
|
-
before_install:
|
|
24
|
-
- gem update --system
|
|
25
|
-
- gem install bundler
|
|
26
|
-
|
|
27
|
-
before_script:
|
|
28
|
-
- psql -c 'CREATE DATABASE iknow_view_models;'
|
|
29
|
-
|
|
30
|
-
notifications:
|
|
31
|
-
email: false
|