deep_preloader 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: 2905039099c3093587202144bffb2241e17c0f524a7e5b391f94f6526e08b1b3
4
- data.tar.gz: 03d23e36bbed2e1f6070d7afde2ee27764c8317e4ea28d4e4f5ef624c789d4b4
3
+ metadata.gz: a4d52fcac4fc5b9b0768ecb6dd0c9db5e8ddee7f0ae8d9475ca3364fceb38b9b
4
+ data.tar.gz: a41e279ad07e928fdb36a55c3ba33cacc0e3d4137bc09863b234f5b6ca7be256
5
5
  SHA512:
6
- metadata.gz: 6cab0b0b8ac3c49d1610cd1915198fd784bdb29023d4d88f3401b75d35fe673efaa1c4578ca9e4ed74dab3bc234b78ba0c193e446f894c17ba1ec42fd3e44847
7
- data.tar.gz: 8793d51feefa4dea2e3c8ab3f31d5756776b5b44a8edfc856c1d961f9ac46463ff8037cda4c7aec4742f6a3f56ae85c5f0c17ff8410c79b92a74b6fb012a4334
6
+ metadata.gz: 400bfd0eb4d794f3d1b1074e422788a27114dfd8d606dbc8334a08c8cfb31e02e39e55bc02cd13132419238c2d09921a73f8f8ad989b40244d4504dccc3a00c7
7
+ data.tar.gz: 1eb00d062a73b0d5d8ae94451ee638db04f616f9c535c5154f4db855d048d16604ea129620f0f81708980933c83b845a309bc0a1eb7df1aa54ea74c8f001a9a9
@@ -0,0 +1,31 @@
1
+ name: Publish Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
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,50 @@
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
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby-version: ['2.7', '3.1', '3.2']
20
+ include:
21
+ - ruby-version: '2.7'
22
+ bundle-gemfile: gemfiles/activerecord_5_2.gemfile
23
+ - ruby-version: '3.1'
24
+ bundle-gemfile: gemfiles/activerecord_6_1.gemfile
25
+ - ruby-version: '3.2'
26
+ bundle-gemfile: gemfiles/activerecord_7_0.gemfile
27
+ env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
28
+ BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.bundle-gemfile }}
29
+ steps:
30
+ - uses: actions/checkout@v3
31
+ - name: Set up Ruby
32
+ uses: ruby/setup-ruby@v1
33
+ with:
34
+ ruby-version: ${{ matrix.ruby-version }}
35
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
36
+ - name: Run tests
37
+ run: bundle exec rspec --profile 10 --format RspecJunitFormatter --out test_results/rspec.xml --format progress
38
+ - name: Upload result
39
+ uses: actions/upload-artifact@v3
40
+ if: always()
41
+ with:
42
+ name: rspec_${{ matrix.ruby-version }}.xml
43
+ path: test_results/rspec.xml
44
+ - name: Test Report
45
+ uses: dorny/test-reporter@v1
46
+ if: always()
47
+ with:
48
+ name: Rspec Tests - ${{ matrix.ruby-version }}
49
+ path: test_results/rspec.xml
50
+ reporter: java-junit
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rspec_junit_formatter"
6
+ gem "activerecord", "~> 7.0.0"
7
+
8
+ gemspec path: "../"
@@ -15,7 +15,7 @@ class DeepPreloader::PolymorphicSpec < DeepPreloader::AbstractSpec
15
15
  end
16
16
 
17
17
  def initialize(specs_by_type = {})
18
- @specs_by_type = specs_by_type
18
+ @specs_by_type = specs_by_type.transform_keys(&:to_s)
19
19
  end
20
20
 
21
21
  def polymorphic?
@@ -11,11 +11,11 @@ class DeepPreloader::Spec < DeepPreloader::AbstractSpec
11
11
  end
12
12
  when Hash
13
13
  assoc_specs = data.each_with_object({}) do |(k, v), h|
14
- h[k.to_sym] = parse(v)
14
+ h[k.to_s] = parse(v)
15
15
  end
16
16
  self.new(assoc_specs)
17
17
  when String, Symbol
18
- self.new({ data.to_sym => nil })
18
+ self.new({ data.to_s => nil })
19
19
  when DeepPreloader::AbstractSpec
20
20
  data
21
21
  when nil
@@ -26,7 +26,7 @@ class DeepPreloader::Spec < DeepPreloader::AbstractSpec
26
26
  end
27
27
 
28
28
  def initialize(association_specs = {})
29
- @association_specs = association_specs
29
+ @association_specs = association_specs.transform_keys(&:to_s)
30
30
  end
31
31
 
32
32
  def merge!(other)
@@ -1,3 +1,3 @@
1
1
  class DeepPreloader
2
- VERSION = '1.0.2'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deep_preloader
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
  - iKnow Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-23 00:00:00.000000000 Z
11
+ date: 2023-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -171,7 +171,8 @@ executables: []
171
171
  extensions: []
172
172
  extra_rdoc_files: []
173
173
  files:
174
- - ".circleci/config.yml"
174
+ - ".github/workflows/gem-push.yml"
175
+ - ".github/workflows/test.yml"
175
176
  - ".gitignore"
176
177
  - ".rspec"
177
178
  - ".travis.yml"
@@ -185,6 +186,7 @@ files:
185
186
  - deep_preloader.gemspec
186
187
  - gemfiles/activerecord_5_2.gemfile
187
188
  - gemfiles/activerecord_6_1.gemfile
189
+ - gemfiles/activerecord_7_0.gemfile
188
190
  - lib/deep_preloader.rb
189
191
  - lib/deep_preloader/abstract_spec.rb
190
192
  - lib/deep_preloader/polymorphic_spec.rb
@@ -211,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
213
  - !ruby/object:Gem::Version
212
214
  version: '0'
213
215
  requirements: []
214
- rubygems_version: 3.0.3.1
216
+ rubygems_version: 3.1.6
215
217
  signing_key:
216
218
  specification_version: 4
217
219
  summary: Explicit preloader for ActiveRecord
data/.circleci/config.yml DELETED
@@ -1,103 +0,0 @@
1
- version: 2.1
2
-
3
- executors:
4
- ruby:
5
- parameters:
6
- ruby-version:
7
- type: string
8
- default: "2.6"
9
- gemfile:
10
- type: string
11
- default: "Gemfile"
12
- docker:
13
- - image: circleci/ruby:<< parameters.ruby-version >>
14
- environment:
15
- BUNDLE_JOBS: 3
16
- BUNDLE_RETRY: 3
17
- BUNDLE_PATH: vendor/bundle
18
- RAILS_ENV: test
19
- BUNDLE_GEMFILE: << parameters.gemfile >>
20
-
21
- jobs:
22
- test:
23
- parameters:
24
- ruby-version:
25
- type: string
26
- gemfile:
27
- type: string
28
- executor:
29
- name: ruby
30
- ruby-version: << parameters.ruby-version >>
31
- gemfile: << parameters.gemfile >>
32
- parallelism: 1
33
- steps:
34
- - checkout
35
-
36
- - run:
37
- # Remove the non-appraisal gemfile for safety: we never want to use it.
38
- name: Prepare bundler
39
- command: bundle -v
40
-
41
- - run:
42
- name: Compute a gemfile lock
43
- command: bundle lock && cp "${BUNDLE_GEMFILE}.lock" /tmp/gem-lock
44
-
45
- - restore_cache:
46
- keys:
47
- - deep_preloader-<< parameters.ruby-version >>-{{ checksum "/tmp/gem-lock" }}
48
- - deep_preloader-
49
-
50
- - run:
51
- name: Bundle Install
52
- command: bundle check || bundle install
53
-
54
- - save_cache:
55
- key: deep_preloader-<< parameters.ruby-version >>-{{ checksum "/tmp/gem-lock" }}
56
- paths:
57
- - vendor/bundle
58
-
59
- - run:
60
- name: Run rspec
61
- command: bundle exec rspec --profile 10 --format RspecJunitFormatter --out test_results/rspec.xml --format progress
62
-
63
- - store_test_results:
64
- path: test_results
65
-
66
- publish:
67
- executor: ruby
68
- steps:
69
- - checkout
70
- - run:
71
- name: Setup Rubygems
72
- command: |
73
- mkdir ~/.gem &&
74
- echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials &&
75
- chmod 0600 ~/.gem/credentials
76
- - run:
77
- name: Publish to Rubygems
78
- command: |
79
- gem build deep_preloader.gemspec
80
- gem push deep_preloader-*.gem
81
-
82
- workflows:
83
- version: 2.1
84
- build:
85
- jobs:
86
- - test:
87
- name: 'ruby 2.6 ActiveRecord 5.2'
88
- ruby-version: "2.6"
89
- gemfile: gemfiles/activerecord_5_2.gemfile
90
- - test:
91
- name: 'ruby 2.7 ActiveRecord 5.2'
92
- ruby-version: "2.7"
93
- gemfile: gemfiles/activerecord_5_2.gemfile
94
- - test:
95
- name: 'ruby 3.0 ActiveRecord 6.1'
96
- ruby-version: "3.0"
97
- gemfile: gemfiles/activerecord_6_1.gemfile
98
- - publish:
99
- filters:
100
- branches:
101
- only: master
102
- tags:
103
- ignore: /.*/