money_extensions 1.0.0 → 1.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 664c218fac6464fdf5789d5a301bd50d5ab9b4270dc537c199f451a4c1c8da1c
4
- data.tar.gz: e824d3b3e10bde7a5c20c26c9668db8ca4b09d2f513adddf82466909d14702c1
3
+ metadata.gz: b02ce974d0847bc55984f19c7b7052cac5178e8ca17ed4c17778b7cab20b918d
4
+ data.tar.gz: 888c92464c6ba7510c855ac6ee8670c802d41f6e408f2e3cbf21ae793e1fdd7d
5
5
  SHA512:
6
- metadata.gz: dbd0b0d8a7f25d7601bea3006156e8324b0a211155431ea2bcfa65a3ce62c24efbfee701429ce544765cf80a1f77bd75518fce0e90647a5000be26a4de6b2b0c
7
- data.tar.gz: 6828b8a3401ea874852b0804c695b06f97b107830d610c25f0ad99aed9d1b29db7c91b5594fec8782fe3233173e66fbd84377b7b98c398bae5a599a4c220c3c4
6
+ metadata.gz: fbef0196b7903684d86d191ea69dbc1f007949647f5135bbafcaea0ae6f9ee097fa46eee3892e4b9a799909345cabbb6f8b2fbe9681e994198d9e7220dd76991
7
+ data.tar.gz: 52f7c134ad23cc2db1d1d040be03abfbf7607bf48731f838004609cf114045c4efdf09f708f3ae8864ff242a38b20e5e79f1a4cfd6f8d4d73cbcd3299784b845
@@ -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,24 @@
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, rails70]
9
+ ruby: ["2.7", "3.0", "3.1"]
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
20
+ - name: Coveralls
21
+ uses: coverallsapp/github-action@master
22
+ with:
23
+ github-token: ${{ secrets.GITHUB_TOKEN }}
24
+ path-to-lcov: coverage/lcov.info
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.3
1
+ 3.1.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.3.0
4
+
5
+ - [PLAT-377] Improve bundler require time for the Gem
6
+
7
+ ## 1.2.0
8
+
9
+ - [PLAT-183] Build with Ruby 3.1 / Rails 7 and publish coverage with github action
10
+
11
+ ## 1.1.0
12
+
13
+ - [TT-8625] Update to build with github actions / ruby 3.0 / rails 6.1
14
+
3
15
  ## 1.0.0
4
16
 
5
17
  * [TT-5845] Update to support money gems >= 6
data/README.md CHANGED
@@ -1,9 +1,8 @@
1
- Money Extensions
2
- ================
1
+ # Money Extensions
3
2
 
4
- [![Build Status](https://travis-ci.org/sealink/money_extensions.png?branch=master)](https://travis-ci.org/sealink/money_extensions)
3
+ [![Gem Version](https://badge.fury.io/rb/money_extensions.svg)](http://badge.fury.io/rb/money_extensions)
4
+ [![Build Status](https://github.com/sealink/money_extensions/workflows/Build%20and%20Test/badge.svg?branch=master)](https://github.com/sealink/money_extensions/actions)
5
5
  [![Coverage Status](https://coveralls.io/repos/sealink/money_extensions/badge.png)](https://coveralls.io/r/sealink/money_extensions)
6
- [![Dependency Status](https://gemnasium.com/sealink/money_extensions.png?travis)](https://gemnasium.com/sealink/money_extensions)
7
6
  [![Code Climate](https://codeclimate.com/github/sealink/money_extensions.png)](https://codeclimate.com/github/sealink/money_extensions)
8
7
 
9
8
  # DESCRIPTION
@@ -11,7 +10,10 @@ Money Extensions
11
10
  Extends the money classes with helpful functions and currency functions
12
11
 
13
12
  e.g. in model
13
+
14
+ ```ruby
14
15
  money_fields :total, :discount
16
+ ```
15
17
 
16
18
  This will by default map a money object "total" to a database column total_in_cents and the same for discount.
17
19
 
@@ -24,3 +26,14 @@ See spec directory for examples.
24
26
  Add to your Gemfile:
25
27
  gem 'money_extensions'
26
28
 
29
+ # RELEASE
30
+
31
+ To publish a new version of this gem the following steps must be taken.
32
+
33
+ - Update the version in the following files
34
+ ```
35
+ CHANGELOG.md
36
+ lib/quick_travel/version.rb
37
+ ```
38
+ - Create a tag using the format v0.1.0
39
+ - Follow build progress in GitHub actions
@@ -2,6 +2,6 @@ source 'https://rubygems.org'
2
2
  gemspec :path => '../'
3
3
 
4
4
  group :development, :test do
5
- gem 'activerecord', '~> 5'
6
- gem 'activesupport', '~> 5'
5
+ gem 'activerecord', '~> 6.0'
6
+ gem 'activesupport', '~> 6.0'
7
7
  end
@@ -2,6 +2,6 @@ source 'https://rubygems.org'
2
2
  gemspec :path => '../'
3
3
 
4
4
  group :development, :test do
5
- gem 'activerecord', '~> 6.0rc2'
6
- gem 'activesupport', '~> 6.0rc2'
5
+ gem 'activerecord', '~> 6.1'
6
+ gem 'activesupport', '~> 6.1'
7
7
  end
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+ gemspec :path => '../'
3
+
4
+ group :development, :test do
5
+ gem 'activerecord', '~> 7.0'
6
+ gem 'activesupport', '~> 7.0'
7
+ end
@@ -2,9 +2,7 @@
2
2
 
3
3
  module ActiveRecord
4
4
  module Extensions
5
- def self.included(base)
6
- base.extend(ClassMethods)
7
- end
5
+ extend ActiveSupport::Concern
8
6
 
9
7
  module ClassMethods
10
8
  # Assign a :currency (Money::Currency object) reader/writer for the given
@@ -44,5 +42,7 @@ module ActiveRecord
44
42
  end
45
43
  end
46
44
 
47
- ::ActiveRecord::Base.send(:include, MoneyField)
48
- ::ActiveRecord::Base.send(:include, ActiveRecord::Extensions)
45
+ ActiveSupport.on_load(:active_record) do
46
+ ::ActiveRecord::Base.send(:include, MoneyField)
47
+ ::ActiveRecord::Base.send(:include, ActiveRecord::Extensions)
48
+ end
@@ -1,9 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MoneyField
4
- def self.included(base)
5
- base.extend(ClassMethods)
6
- end
4
+ extend ActiveSupport::Concern
7
5
 
8
6
  module ClassMethods
9
7
  # Add a money field attribute
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MoneyExtensions
4
- VERSION = '1.0.0'
4
+ VERSION = '1.3.0'
5
5
  end
@@ -4,12 +4,12 @@ module MoneyExtensions
4
4
  require 'money_extensions/integer'
5
5
  require 'money_extensions/split_between'
6
6
  require 'money_extensions/html_format'
7
- require 'money_extensions/money_field'
8
7
  require 'money_extensions/numeric'
9
8
  require 'money_extensions/string'
10
9
 
11
10
  # TODO: Defer requiring the active record extension to who needs it
12
11
  if Module.const_defined?('ActiveRecord')
12
+ require 'money_extensions/active_record/money_field'
13
13
  require 'money_extensions/active_record/extensions'
14
14
  end
15
15
 
@@ -20,16 +20,13 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_dependency 'money', '>= 6.0.0'
23
- spec.add_dependency 'activesupport', '>= 5'
23
+ spec.add_dependency 'activesupport', '>= 6'
24
24
 
25
25
  spec.add_development_dependency 'rake'
26
- spec.add_development_dependency 'pry'
27
26
  spec.add_development_dependency 'rubocop'
28
27
  spec.add_development_dependency 'rspec'
29
28
  spec.add_development_dependency 'coverage-kit'
30
- spec.add_development_dependency 'simplecov-rcov'
31
- spec.add_development_dependency 'coveralls'
32
29
  spec.add_development_dependency 'sqlite3'
33
30
  spec.add_development_dependency 'activerecord'
34
- spec.add_development_dependency 'travis'
31
+ spec.add_development_dependency 'pry-byebug'
35
32
  end
@@ -1,4 +1,3 @@
1
- require 'simplecov-rcov'
2
- require 'coveralls'
3
1
  require 'coverage/kit'
4
- Coverage::Kit.setup(minimum_coverage: 86.6)
2
+
3
+ Coverage::Kit.setup(minimum_coverage: 86.5)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: money_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.3.0
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-08-09 00:00:00.000000000 Z
12
+ date: 2022-07-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: money
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '5'
34
+ version: '6'
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'
41
+ version: '6'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -53,20 +53,6 @@ dependencies:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
- - !ruby/object:Gem::Dependency
57
- name: pry
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: '0'
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
56
  - !ruby/object:Gem::Dependency
71
57
  name: rubocop
72
58
  requirement: !ruby/object:Gem::Requirement
@@ -109,34 +95,6 @@ dependencies:
109
95
  - - ">="
110
96
  - !ruby/object:Gem::Version
111
97
  version: '0'
112
- - !ruby/object:Gem::Dependency
113
- name: simplecov-rcov
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: coveralls
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
98
  - !ruby/object:Gem::Dependency
141
99
  name: sqlite3
142
100
  requirement: !ruby/object:Gem::Requirement
@@ -166,7 +124,7 @@ dependencies:
166
124
  - !ruby/object:Gem::Version
167
125
  version: '0'
168
126
  - !ruby/object:Gem::Dependency
169
- name: travis
127
+ name: pry-byebug
170
128
  requirement: !ruby/object:Gem::Requirement
171
129
  requirements:
172
130
  - - ">="
@@ -185,23 +143,26 @@ executables: []
185
143
  extensions: []
186
144
  extra_rdoc_files: []
187
145
  files:
146
+ - ".github/dependabot.yml"
147
+ - ".github/workflows/release.yml"
148
+ - ".github/workflows/ruby.yml"
188
149
  - ".gitignore"
189
150
  - ".rspec"
190
151
  - ".ruby-version"
191
- - ".travis.yml"
192
152
  - CHANGELOG.md
193
153
  - Gemfile
194
154
  - LICENSE
195
155
  - README.md
196
156
  - Rakefile
197
- - gemfiles/rails5.gemfile
198
- - gemfiles/rails6.gemfile
157
+ - gemfiles/rails60.gemfile
158
+ - gemfiles/rails61.gemfile
159
+ - gemfiles/rails70.gemfile
199
160
  - lib/money_extensions.rb
200
161
  - lib/money_extensions/active_record/extensions.rb
162
+ - lib/money_extensions/active_record/money_field.rb
201
163
  - lib/money_extensions/array.rb
202
164
  - lib/money_extensions/html_format.rb
203
165
  - lib/money_extensions/integer.rb
204
- - lib/money_extensions/money_field.rb
205
166
  - lib/money_extensions/numeric.rb
206
167
  - lib/money_extensions/split_between.rb
207
168
  - lib/money_extensions/string.rb
@@ -234,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
195
  - !ruby/object:Gem::Version
235
196
  version: '0'
236
197
  requirements: []
237
- rubygems_version: 3.0.3
198
+ rubygems_version: 3.3.3
238
199
  signing_key:
239
200
  specification_version: 4
240
201
  summary: Set of extensions to the money gem used by TravelLink Technology.
data/.travis.yml DELETED
@@ -1,18 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.4
4
- - 2.5
5
- - 2.6
6
- matrix:
7
- exclude:
8
- - rvm: 2.4
9
- gemfile: gemfiles/rails6.gemfile
10
-
11
- script: "bundle exec rake spec"
12
- gemfile:
13
- - gemfiles/rails5.gemfile
14
- - gemfiles/rails6.gemfile
15
- sudo: false
16
- cache: bundler
17
- before_install:
18
- - gem install bundler