currency_select 2.0.0 → 4.1.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 +4 -4
- data/CHANGELOG.md +35 -0
- data/README.md +1 -1
- data/Rakefile +5 -0
- data/VERSION +1 -1
- data/currency_select.gemspec +11 -4
- data/lib/currency_select.rb +56 -11
- metadata +66 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34966f5e01826eea10afd72d0482a6b206086c84ae9c1b3daff05abfb71b5e0c
|
4
|
+
data.tar.gz: 9848694b180fe61281b0f042560c606d1a4f0b13140b3f18311f6f7162ac1ced
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 542ce884664c90151e0fe52bdd81e12175b51b444784d8c30c1aabd645f2bb2b607b2ae2532b4fafde242bb021cd1aae6b83dc2723ea933a885d1cb6027698d1
|
7
|
+
data.tar.gz: 40fd4238f223fb9b6d045744c777cc8b4fabfadf2179e85b22cc160d90811a6a0ec89a4d36c5ada145db503465d693466d166811b77bcc507d0b4612c82446af
|
data/CHANGELOG.md
CHANGED
@@ -17,6 +17,41 @@ This project adheres to [Semantic Versioning](https://semver.org/).
|
|
17
17
|
|
18
18
|
### Security
|
19
19
|
|
20
|
+
## 4.1.0
|
21
|
+
|
22
|
+
### Added
|
23
|
+
- Add support for Ruby 3.1 (#105)
|
24
|
+
|
25
|
+
## 4.0.0
|
26
|
+
|
27
|
+
### Added
|
28
|
+
- Add support for Rails 7.0 (#96)
|
29
|
+
|
30
|
+
### Removed
|
31
|
+
- Drop support for Ruby 2.5 (#90)
|
32
|
+
|
33
|
+
## 3.0.0
|
34
|
+
|
35
|
+
### Added
|
36
|
+
- Add automatic gem release (#86, #88)
|
37
|
+
- Support Ruby 3 (#81)
|
38
|
+
- Add support for Rails 6.1 (#78, #79, #83)
|
39
|
+
- Check the code with RuboCop (#72)
|
40
|
+
- Add support for Ruby 2.7 (#66)
|
41
|
+
|
42
|
+
### Changed
|
43
|
+
- Switch the CI from Travis to GitHub Actions (#80, #85)
|
44
|
+
- Upgrade RSpec and RSpec-Rails (#71)
|
45
|
+
- Update the Ruby versions on Travis CI (#68)
|
46
|
+
|
47
|
+
### Removed
|
48
|
+
- Drop support for Ruby 2.4 (#70)
|
49
|
+
- Drop support for Rails < 5.2 (#65)
|
50
|
+
|
51
|
+
### Fixed
|
52
|
+
- Fix some RuboCop warnings (#73)
|
53
|
+
- Fix warnings in the `.travis.yml` (#67, #69)
|
54
|
+
|
20
55
|
## 2.0.0
|
21
56
|
|
22
57
|
### Added
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# CurrencySelect
|
2
2
|
|
3
|
-
[](https://github.com/braingourmets/currency_select/actions)
|
4
4
|
[](http://badge.fury.io/rb/currency_select)
|
5
5
|
|
6
6
|
Adds a currency_select helper to Ruby on Rails projects, allowing you to get
|
data/Rakefile
CHANGED
@@ -12,3 +12,8 @@ Rake::RDocTask.new do |rdoc|
|
|
12
12
|
rdoc.rdoc_files.include('README.md')
|
13
13
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
14
14
|
end
|
15
|
+
|
16
|
+
desc 'Runs RuboCop for checking the Ruby files.'
|
17
|
+
task :rubocop do
|
18
|
+
sh 'rubocop lib/ rails/ spec/ currency_select.gemspec Gemfile Rakefile'
|
19
|
+
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
4.1.0
|
data/currency_select.gemspec
CHANGED
@@ -8,17 +8,24 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.version = version
|
9
9
|
s.license = 'MIT'
|
10
10
|
|
11
|
-
s.required_ruby_version = '>= 2.
|
11
|
+
s.required_ruby_version = '>= 2.6.0'
|
12
12
|
|
13
13
|
s.homepage = 'https://github.com/braingourmets/currency_select'
|
14
14
|
s.authors = ['Trond Arve Nordheim', 'Oliver Klee']
|
15
15
|
s.email = 'o.klee@braingourmets.com'
|
16
16
|
|
17
|
-
s.files = %w[
|
17
|
+
s.files = %w[
|
18
|
+
lib/currency_select.rb rails/init.rb CHANGELOG.md CODE_OF_CONDUCT.md
|
19
|
+
currency_select.gemspec Gemfile LICENSE Rakefile README.md VERSION
|
20
|
+
]
|
18
21
|
s.extra_rdoc_files = %w[CHANGELOG.md LICENSE README.md]
|
19
22
|
|
20
|
-
s.add_runtime_dependency 'actionview', '>= 5.
|
23
|
+
s.add_runtime_dependency 'actionview', '>= 5.2.0', '< 7.1'
|
21
24
|
s.add_runtime_dependency 'money', '~> 6.0'
|
22
25
|
|
23
|
-
s.add_development_dependency 'rspec-rails', '~>
|
26
|
+
s.add_development_dependency 'rspec-rails', '~> 5.1.0'
|
27
|
+
s.add_development_dependency 'rubocop', '~> 1.25.1'
|
28
|
+
s.add_development_dependency 'rubocop-rails', '~> 2.13.2'
|
29
|
+
s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
|
30
|
+
s.add_development_dependency 'rubocop-rspec', '~> 2.8.0'
|
24
31
|
end
|
data/lib/currency_select.rb
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
require 'money'
|
4
4
|
|
5
|
+
##
|
6
|
+
# Module for creating currency drop-downs.
|
7
|
+
#
|
5
8
|
module CurrencySelect
|
6
9
|
class << self
|
7
10
|
##
|
@@ -10,7 +13,7 @@ module CurrencySelect
|
|
10
13
|
# priority: 2,
|
11
14
|
# iso_code: "EUR",
|
12
15
|
# name: "Euro",
|
13
|
-
# symbol: "
|
16
|
+
# symbol: "$",
|
14
17
|
# alternate_symbols: [],
|
15
18
|
# subunit: "Cent",
|
16
19
|
# subunit_to_unit: 100,
|
@@ -50,12 +53,17 @@ module CurrencySelect
|
|
50
53
|
# passed as an argument
|
51
54
|
# == Example
|
52
55
|
# priority_currencies_array([ "USD", "NOK" ])
|
53
|
-
# # => [
|
56
|
+
# # => [
|
57
|
+
# # ['United States Dollar - USD', 'USD' ],
|
58
|
+
# # ['Norwegian Kroner - NOK', 'NOK']
|
59
|
+
# # ]
|
54
60
|
#
|
55
61
|
# @return [Array]
|
56
62
|
#
|
57
63
|
def priority_currencies_array(currency_codes = [])
|
58
|
-
currency_codes.flat_map
|
64
|
+
currency_codes.flat_map do |code|
|
65
|
+
currencies_array.select { |currency| currency.last.to_s == code }
|
66
|
+
end
|
59
67
|
end
|
60
68
|
end
|
61
69
|
end
|
@@ -63,10 +71,16 @@ end
|
|
63
71
|
# CurrencySelect
|
64
72
|
module ActionView
|
65
73
|
module Helpers
|
74
|
+
##
|
75
|
+
# Module for the form options.
|
76
|
+
#
|
66
77
|
module FormOptionsHelper
|
67
78
|
# Return select and option tags for the given object and method, using
|
68
79
|
# currency_options_for_select to generate the list of option tags.
|
69
|
-
def currency_select(
|
80
|
+
def currency_select(
|
81
|
+
object, method, priority_currencies = nil, options = {},
|
82
|
+
html_options = {}
|
83
|
+
)
|
70
84
|
tag = CurrencySelectTag.new(object, method, self, options)
|
71
85
|
tag.to_currency_select_tag(priority_currencies, options, html_options)
|
72
86
|
end
|
@@ -80,8 +94,12 @@ module ActionView
|
|
80
94
|
currency_options = ''.html_safe
|
81
95
|
|
82
96
|
if priority_currencies
|
83
|
-
currency_options += options_for_select(
|
84
|
-
|
97
|
+
currency_options += options_for_select(
|
98
|
+
::CurrencySelect.priority_currencies_array(priority_currencies),
|
99
|
+
selected
|
100
|
+
)
|
101
|
+
raw = '<option value="" disabled="disabled">-------------</option>'
|
102
|
+
currency_options += raw.html_safe + "\n"
|
85
103
|
|
86
104
|
# prevents selected from being included twice in the HTML which causes
|
87
105
|
# some browsers to select the second selected option (not priority)
|
@@ -90,30 +108,57 @@ module ActionView
|
|
90
108
|
end
|
91
109
|
|
92
110
|
# All the countries included in the country_options output.
|
93
|
-
currency_options + options_for_select(
|
111
|
+
currency_options + options_for_select(
|
112
|
+
::CurrencySelect.currencies_array, selected
|
113
|
+
)
|
94
114
|
end
|
95
115
|
end
|
96
116
|
|
117
|
+
##
|
118
|
+
# Tag.
|
119
|
+
#
|
97
120
|
module ToCurrencySelectTag
|
98
121
|
def to_currency_select_tag(priority_currencies, options, html_options)
|
99
122
|
html_options = html_options.stringify_keys
|
100
123
|
add_default_name_and_id(html_options)
|
101
|
-
value = if method(:value).arity
|
124
|
+
value = if method(:value).arity.zero?
|
102
125
|
value()
|
103
126
|
else
|
104
127
|
value(object)
|
105
128
|
end
|
106
|
-
content_tag(
|
129
|
+
content_tag(
|
130
|
+
'select',
|
131
|
+
add_options(
|
132
|
+
currency_options_for_select(value, priority_currencies),
|
133
|
+
options,
|
134
|
+
value
|
135
|
+
),
|
136
|
+
html_options
|
137
|
+
)
|
107
138
|
end
|
108
139
|
end
|
109
140
|
|
141
|
+
##
|
142
|
+
# Tag.
|
143
|
+
#
|
110
144
|
class CurrencySelectTag < Tags::Base
|
111
145
|
include ToCurrencySelectTag
|
112
146
|
end
|
113
147
|
|
148
|
+
##
|
149
|
+
# Form builder.
|
150
|
+
#
|
114
151
|
class FormBuilder
|
115
|
-
def currency_select(
|
116
|
-
|
152
|
+
def currency_select(
|
153
|
+
method, priority_currencies = nil, options = {}, html_options = {}
|
154
|
+
)
|
155
|
+
@template.currency_select(
|
156
|
+
@object_name,
|
157
|
+
method,
|
158
|
+
priority_currencies,
|
159
|
+
options.merge(object: @object),
|
160
|
+
html_options
|
161
|
+
)
|
117
162
|
end
|
118
163
|
end
|
119
164
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: currency_select
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trond Arve Nordheim
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-02-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionview
|
@@ -17,20 +17,20 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 5.
|
20
|
+
version: 5.2.0
|
21
21
|
- - "<"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
23
|
+
version: '7.1'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - ">="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 5.
|
30
|
+
version: 5.2.0
|
31
31
|
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '7.1'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: money
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -51,14 +51,70 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 5.1.0
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 5.1.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rubocop
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.25.1
|
69
|
+
type: :development
|
70
|
+
prerelease: false
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.25.1
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: rubocop-rails
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.13.2
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.13.2
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: rubocop-rake
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.6.0
|
97
|
+
type: :development
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.6.0
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: rubocop-rspec
|
106
|
+
requirement: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.8.0
|
55
111
|
type: :development
|
56
112
|
prerelease: false
|
57
113
|
version_requirements: !ruby/object:Gem::Requirement
|
58
114
|
requirements:
|
59
115
|
- - "~>"
|
60
116
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
117
|
+
version: 2.8.0
|
62
118
|
description:
|
63
119
|
email: o.klee@braingourmets.com
|
64
120
|
executables: []
|
@@ -90,14 +146,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
90
146
|
requirements:
|
91
147
|
- - ">="
|
92
148
|
- !ruby/object:Gem::Version
|
93
|
-
version: 2.
|
149
|
+
version: 2.6.0
|
94
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
151
|
requirements:
|
96
152
|
- - ">="
|
97
153
|
- !ruby/object:Gem::Version
|
98
154
|
version: '0'
|
99
155
|
requirements: []
|
100
|
-
rubygems_version: 3.
|
156
|
+
rubygems_version: 3.3.7
|
101
157
|
signing_key:
|
102
158
|
specification_version: 4
|
103
159
|
summary: Currency select plugin for Rails
|