rails_core_extensions 0.8.0 → 0.11.2

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: f44cf808ba11ebf812b532bdaa5dbb304bc9ec2caaf803809a29e95215bbeb7d
4
- data.tar.gz: 14842819792762d71b771831c3822c2a71fed63c1a7f3e7225a9aaa34630d1b9
3
+ metadata.gz: e58d4846243aed9d34acbc12219f9968d0794dac0c7663809293660306e7b76f
4
+ data.tar.gz: a455c966efdfaa720de412cadb772fff9efc6dd9c5b1951cd012686bce40be52
5
5
  SHA512:
6
- metadata.gz: 940dce7b6dd812b79e80d697758fdeb8f22fc0fe08434260aacf9b94b3be69de95f5fa029f743d247fec7e77081633807a4c25ffcc5ac6dfecc9a0640cb0e441
7
- data.tar.gz: 072f4fc03850e7f8aa2268fbe85d49812f0d98a5964ab3fadf4fc7bcbf6d780ae61d17abb1c3ef1778173e5efece1d8d785bb5c7deb498754d57fd4ea0409b0c
6
+ metadata.gz: 2e742d0b0c274dce91c59cbc500cfa47a98abe66dc295b4ecec30fde12c01e9c503abeed9714c8c9a23f0de09d9dbc069a47fb3a19671a36a525a23242448a72
7
+ data.tar.gz: 64624d95978eac776e0b68c416c496c375c1d35cee267f578cb888c9b0818e610dfdc980815745a96c6023566c762e3bf5eeebcdc39812f88b6d719e94f71244
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
@@ -0,0 +1,59 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ build:
10
+ name: Build
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout
14
+ uses: actions/checkout@v2
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ bundler-cache: true
18
+ - run: bundle exec rake
19
+
20
+ release:
21
+ needs: build
22
+ name: Release
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - name: Checkout
26
+ uses: actions/checkout@v2
27
+
28
+ - name: Generate Changelog
29
+ run: |
30
+ # Get version from github ref (remove 'refs/tags/' and prefix 'v')
31
+ version="${GITHUB_REF#refs/tags/v}"
32
+ npx changelog-parser CHANGELOG.md | jq -cr ".versions | .[] | select(.version == \"$version\") | .body" > ${{ github.workflow }}-CHANGELOG.txt
33
+
34
+ - name: Release
35
+ uses: softprops/action-gh-release@v1
36
+ with:
37
+ body_path: ${{ github.workflow }}-CHANGELOG.txt
38
+ env:
39
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40
+
41
+ publish:
42
+ needs: [build, release]
43
+ name: Publish
44
+ runs-on: ubuntu-latest
45
+
46
+ steps:
47
+ - uses: actions/checkout@v2
48
+ - uses: ruby/setup-ruby@v1
49
+
50
+ - name: Publish to RubyGems
51
+ run: |
52
+ mkdir -p $HOME/.gem
53
+ touch $HOME/.gem/credentials
54
+ chmod 0600 $HOME/.gem/credentials
55
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
56
+ gem build *.gemspec
57
+ gem push *.gem
58
+ env:
59
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,19 @@
1
+ name: Build and Test
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ gemfile: [rails60, rails61]
9
+ ruby: ["2.6", "2.7", "3.0"]
10
+ runs-on: ubuntu-latest
11
+ env:
12
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: ${{ matrix.ruby }}
18
+ bundler-cache: true
19
+ - run: bundle exec rake
@@ -1 +1 @@
1
- 2.6.5
1
+ 3.0.0
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.11.2
4
+
5
+ * [TT-8640] Add dependabot config
6
+
7
+ ## 0.11.1
8
+
9
+ * [TT-8608] Fix broken rake command in the gem publish stage
10
+
11
+ ## 0.11.0
12
+
13
+ * [TT-8608] Switch from travis to gihthub actions
14
+ * [TT-8608] Add support for Rails 6.1 / Ruby 3
15
+
16
+ ## 0.10.0
17
+
18
+ * [TT-8507] Sortable will now fire callbacks to ensure we audit these changes
19
+
20
+ ## 0.9.0
21
+
22
+ * [TT-6727] Fix usage of symbolize_keys in sortable
23
+
3
24
  ## 0.8.0
4
25
 
5
26
  * [TT-6539] Remove cache_all_attributes and other unused methods
data/README.md CHANGED
@@ -1,9 +1,7 @@
1
- Rails Core Extensions
2
- ====================
1
+ # Rails Core Extensions
3
2
 
4
- [![Build Status](https://travis-ci.org/sealink/rails_core_extensions.png?branch=master)](https://travis-ci.org/sealink/rails_core_extensions)
3
+ [![Build Status](https://github.com/sealink/rails_core_extensions/workflows/Build/badge.svg?branch=master)](https://github.com/sealink/rails_core_extensions/actions)
5
4
  [![Coverage Status](https://coveralls.io/repos/sealink/rails_core_extensions/badge.png)](https://coveralls.io/r/sealink/rails_core_extensions)
6
- [![Dependency Status](https://gemnasium.com/sealink/rails_core_extensions.png?travis)](https://gemnasium.com/sealink/rails_core_extensions)
7
5
  [![Code Climate](https://codeclimate.com/github/sealink/rails_core_extensions.png)](https://codeclimate.com/github/sealink/rails_core_extensions)
8
6
 
9
7
  # DESCRIPTION
@@ -30,7 +28,7 @@ end
30
28
 
31
29
  config/routes.rb
32
30
 
33
- In Rails 4/5:
31
+ In Rails 6:
34
32
  resources :types do
35
33
  collection
36
34
  post :sort
@@ -42,18 +40,32 @@ You need to submit a collection of objects named the same as the controller.
42
40
 
43
41
  e.g. for the above the params should be:
44
42
 
43
+ ```ruby
45
44
  types_body[]=1
46
45
  types_body[]=3
47
- etc.
46
+ ```
48
47
 
49
48
  Where the value is the id, and the position of submission is the new order, e.g.
50
49
  In the above, the item of id 3 will be updated to position 2
51
50
 
52
51
  If you have scoped sorts, e.g. sorts within categories you also need to pass in 2 params:
53
- * scope (e.g. category_id)
54
- * a variable by that name, e.g. category_id
52
+
53
+ - scope (e.g. category_id)
54
+ - a variable by that name, e.g. category_id
55
55
 
56
56
  So in the above if you want to upgrade category_id 6, you could submit
57
57
  scope=category_id&category_id=6
58
58
 
59
59
  along with type_body[]=7.. for all the types in category 6
60
+
61
+ # RELEASE
62
+
63
+ To publish a new version of this gem the following steps must be taken.
64
+
65
+ * Update the version in the following files
66
+ ```
67
+ CHANGELOG.md
68
+ lib/rails_core_extensions/version.rb
69
+ ````
70
+ * Create a tag using the format v0.1.0
71
+ * Follow build progress in GitHub actions
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
  gemspec :path => '../'
3
3
 
4
4
  group :development, :test do
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+ gemspec :path => '../'
3
+
4
+ group :development, :test do
5
+ gem 'activerecord', '~> 6.1'
6
+ end
@@ -70,7 +70,7 @@ module ActiveRecordExtensions
70
70
  reload
71
71
  #{collection}.sort_by(&:position).each_with_index do |o, index|
72
72
  if o.position != (index + 1)
73
- o.update_attribute(:position, index + 1)
73
+ o.update(:position, index + 1)
74
74
  end
75
75
  end
76
76
  end
@@ -8,7 +8,7 @@ module RailsCoreExtensions
8
8
  # category_id (or whatever the name of scope is)
9
9
  # model_1_body (or whatever id of scope id)
10
10
  def initialize(params, controller_name)
11
- @params = params.symbolize_keys
11
+ @params = params.permit!.to_h.symbolize_keys
12
12
  @controller_name = controller_name
13
13
  @klass = controller_name.classify.constantize
14
14
  end
@@ -43,7 +43,7 @@ module RailsCoreExtensions
43
43
  end
44
44
 
45
45
  def update(object, new_position)
46
- @klass.where(id: object.id).limit(1).update_all(position: new_position)
46
+ @klass.find(object.id).update(position: new_position)
47
47
  end
48
48
  end
49
49
  end
@@ -6,7 +6,7 @@ module RailsCoreExtensions
6
6
 
7
7
  module ClassMethods
8
8
  def translate(key, options = {})
9
- I18n.translate key, options.merge(scope: translation_key)
9
+ I18n.translate key, **options.merge(scope: translation_key)
10
10
  end
11
11
 
12
12
  def translation_key
@@ -1,3 +1,3 @@
1
1
  module RailsCoreExtensions
2
- VERSION = '0.8.0'
2
+ VERSION = '0.11.2'
3
3
  end
@@ -18,9 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ['lib']
21
+ spec.required_ruby_version = '>= 2.6'
21
22
 
22
- spec.add_dependency 'activerecord', ['>= 5.0.0']
23
- spec.add_dependency 'actionpack', ['>= 5.0.0']
23
+ spec.add_dependency 'activerecord', ['>= 6.0.0']
24
+ spec.add_dependency 'actionpack', ['>= 6.0.0']
24
25
 
25
26
  spec.add_development_dependency 'bundler', '~> 2.0'
26
27
  spec.add_development_dependency 'rake'
@@ -31,5 +32,4 @@ Gem::Specification.new do |spec|
31
32
  spec.add_development_dependency 'coveralls'
32
33
  spec.add_development_dependency 'rubocop'
33
34
  spec.add_development_dependency 'sqlite3'
34
- spec.add_development_dependency 'travis'
35
35
  end
@@ -26,7 +26,7 @@ describe RailsCoreExtensions::Sortable do
26
26
  models.each(&:destroy)
27
27
  end
28
28
 
29
- subject { RailsCoreExtensions::Sortable.new(params, 'models') }
29
+ subject { RailsCoreExtensions::Sortable.new(ActionController::Parameters.new(params), 'models') }
30
30
 
31
31
  RSpec.shared_examples 'unscoped' do
32
32
  let(:scope) { Model.reorder(:position) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_core_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Noack
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-12-11 00:00:00.000000000 Z
12
+ date: 2021-01-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 5.0.0
20
+ version: 6.0.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 5.0.0
27
+ version: 6.0.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: actionpack
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 5.0.0
34
+ version: 6.0.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: 5.0.0
41
+ version: 6.0.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -165,20 +165,6 @@ dependencies:
165
165
  - - ">="
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
- - !ruby/object:Gem::Dependency
169
- name: travis
170
- requirement: !ruby/object:Gem::Requirement
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: '0'
175
- type: :development
176
- prerelease: false
177
- version_requirements: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- version: '0'
182
168
  description: Set of extensions to core rails libraries.
183
169
  email:
184
170
  - support@travellink.com.au
@@ -186,19 +172,21 @@ executables: []
186
172
  extensions: []
187
173
  extra_rdoc_files: []
188
174
  files:
175
+ - ".github/dependabot.yml"
176
+ - ".github/workflows/release.yml"
177
+ - ".github/workflows/ruby.yml"
189
178
  - ".gitignore"
190
179
  - ".hound.yml"
191
180
  - ".rspec"
192
181
  - ".ruby-style.yml"
193
182
  - ".ruby-version"
194
- - ".travis.yml"
195
183
  - CHANGELOG.md
196
184
  - Gemfile
197
185
  - LICENSE.txt
198
186
  - README.md
199
187
  - Rakefile
200
- - gemfiles/rails5.gemfile
201
- - gemfiles/rails6.gemfile
188
+ - gemfiles/rails60.gemfile
189
+ - gemfiles/rails61.gemfile
202
190
  - lib/rails_core_extensions.rb
203
191
  - lib/rails_core_extensions/action_controller_sortable.rb
204
192
  - lib/rails_core_extensions/action_view_extensions.rb
@@ -245,14 +233,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
245
233
  requirements:
246
234
  - - ">="
247
235
  - !ruby/object:Gem::Version
248
- version: '0'
236
+ version: '2.6'
249
237
  required_rubygems_version: !ruby/object:Gem::Requirement
250
238
  requirements:
251
239
  - - ">="
252
240
  - !ruby/object:Gem::Version
253
241
  version: '0'
254
242
  requirements: []
255
- rubygems_version: 3.0.3
243
+ rubygems_version: 3.2.3
256
244
  signing_key:
257
245
  specification_version: 4
258
246
  summary: Set of extensions to core rails libraries.
@@ -1,14 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.6
4
-
5
- script: "bundle exec rake spec"
6
- gemfile:
7
- - gemfiles/rails5.gemfile
8
- - gemfiles/rails6.gemfile
9
- sudo: false
10
- cache: bundler
11
- # Due to this issue, stil not resolved: travis-ci/travis-ci#8969
12
- before_install:
13
- - gem update --system
14
- - gem install bundler
@@ -1,6 +0,0 @@
1
- source :rubygems
2
- gemspec :path => '../'
3
-
4
- group :development, :test do
5
- gem 'activerecord', '~> 5.0'
6
- end