monetize 0.1.3 → 0.1.4
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/.coveralls.yml +1 -0
- data/.travis.yml +9 -0
- data/Gemfile +2 -0
- data/README.md +20 -1
- data/lib/monetize.rb +18 -1
- data/lib/monetize/version.rb +1 -1
- data/monetize.gemspec +1 -1
- data/spec/monetize_spec.rb +3 -3
- data/spec/spec_helper.rb +2 -0
- metadata +18 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29bbd459e6a5ca4859d29dfd06e765d0754c7cbf
|
4
|
+
data.tar.gz: 0d6c7d1c29653c72eccabbece1574c86f101a35a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce48a27d786e25445ab82b19fde3147f372c81737416a136c9dcabe91e5a3f2193d51187cbc12be4595f2dea27f4a644a6be445ccb004cde7116e15fa7866271
|
7
|
+
data.tar.gz: e522dc3d0fcb618a677498d97828e0193d4a7fff5ec32766c6bd07df5600d6ded008b77f841d1b0b9d9cd4f5ab4bdf6e74ee1bb13829add041ce4efbb1ef5c78
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
repo_token: pbKErt5rAW1iRYGMIAGGAAHfVRmiBzxfd
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Monetize
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/monetize)
|
4
|
+
[](https://travis-ci.org/RubyMoney/monetize)
|
5
|
+
[](https://codeclimate.com/github/RubyMoney/monetize)
|
6
|
+
[](https://coveralls.io/r/RubyMoney/monetize)
|
7
|
+
[](https://gemnasium.com/RubyMoney/monetize)
|
8
|
+
[](http://opensource.org/licenses/MIT)
|
9
|
+
|
3
10
|
A library for converting various objects into `Money` objects.
|
4
11
|
|
5
12
|
## Installation
|
@@ -19,7 +26,19 @@ Or install it yourself as:
|
|
19
26
|
## Usage
|
20
27
|
|
21
28
|
```ruby
|
22
|
-
|
29
|
+
Monetize.parse("$100") == Money.new(100_00, "USD")
|
30
|
+
Monetize.parse("€100") == Money.new(100_00, "EUR")
|
31
|
+
Monetize.parse("£100") == Money.new(100_00, "GBP")
|
32
|
+
|
33
|
+
"100".to_money == Money.new(100_00, "USD")
|
34
|
+
```
|
35
|
+
|
36
|
+
Optionally, enable the ability to assume the currency from a passed symbol.
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
Monetize.assume_from_symbol = true
|
40
|
+
|
41
|
+
"100".to_money == Money.new(100_00, "USD")
|
23
42
|
```
|
24
43
|
|
25
44
|
## Contributing
|
data/lib/monetize.rb
CHANGED
@@ -4,10 +4,27 @@ require "money"
|
|
4
4
|
require "monetize/version"
|
5
5
|
|
6
6
|
module Monetize
|
7
|
+
# Determine if the currency can be assumed from a passed symbol.
|
8
|
+
#
|
9
|
+
# @return [Boolean] Defaults to false.
|
10
|
+
def self.assume_from_symbol
|
11
|
+
@assume_from_symbol
|
12
|
+
end
|
13
|
+
|
14
|
+
# Use this to enable the ability to assume the currency from a passed
|
15
|
+
# symbol.
|
16
|
+
#
|
17
|
+
# @param value [Boolean]
|
18
|
+
#
|
19
|
+
# @return nothing.
|
20
|
+
def self.assume_from_symbol= value
|
21
|
+
@assume_from_symbol = value
|
22
|
+
end
|
23
|
+
|
7
24
|
def self.parse(input, currency = Money.default_currency)
|
8
25
|
input = input.to_s.strip
|
9
26
|
|
10
|
-
computed_currency = if
|
27
|
+
computed_currency = if assume_from_symbol && input =~ /^(\$|€|£)/
|
11
28
|
case input
|
12
29
|
when /^\$/ then "USD"
|
13
30
|
when /^€/ then "EUR"
|
data/lib/monetize/version.rb
CHANGED
data/monetize.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "money", "~> 6.0"
|
21
|
+
spec.add_development_dependency "money", "~> 6.1.0.beta1"
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
23
|
spec.add_development_dependency "rake"
|
24
24
|
spec.add_development_dependency "rspec", "~> 3.0.0.beta1"
|
data/spec/monetize_spec.rb
CHANGED
@@ -22,7 +22,7 @@ describe Monetize do
|
|
22
22
|
describe 'currency assumption' do
|
23
23
|
context 'opted in' do
|
24
24
|
before do
|
25
|
-
|
25
|
+
Monetize.assume_from_symbol = true
|
26
26
|
end
|
27
27
|
|
28
28
|
it "parses formatted inputs with the currency passed as a symbol" do
|
@@ -40,7 +40,7 @@ describe Monetize do
|
|
40
40
|
end
|
41
41
|
context 'opted out' do
|
42
42
|
before do
|
43
|
-
|
43
|
+
Monetize.assume_from_symbol = false
|
44
44
|
end
|
45
45
|
it "parses formatted inputs with the currency passed as a symbol but ignores the symbol" do
|
46
46
|
expect(Monetize.parse("$5.95")).to eq Money.new(595, 'USD')
|
@@ -51,7 +51,7 @@ describe Monetize do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
it 'should opt out by default' do
|
54
|
-
expect(
|
54
|
+
expect(Monetize.assume_from_symbol).to be_falsy
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monetize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shane Emmons
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: money
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 6.1.0.beta1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 6.1.0.beta1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 3.0.0.beta1
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.0.0.beta1
|
69
69
|
description: A library for converting various objects into `Money` objects.
|
@@ -73,7 +73,9 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
- .
|
76
|
+
- ".coveralls.yml"
|
77
|
+
- ".gitignore"
|
78
|
+
- ".travis.yml"
|
77
79
|
- Gemfile
|
78
80
|
- LICENSE.txt
|
79
81
|
- README.md
|
@@ -98,17 +100,17 @@ require_paths:
|
|
98
100
|
- lib
|
99
101
|
required_ruby_version: !ruby/object:Gem::Requirement
|
100
102
|
requirements:
|
101
|
-
- -
|
103
|
+
- - ">="
|
102
104
|
- !ruby/object:Gem::Version
|
103
105
|
version: '0'
|
104
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
107
|
requirements:
|
106
|
-
- -
|
108
|
+
- - ">="
|
107
109
|
- !ruby/object:Gem::Version
|
108
110
|
version: '0'
|
109
111
|
requirements: []
|
110
112
|
rubyforge_project:
|
111
|
-
rubygems_version: 2.0
|
113
|
+
rubygems_version: 2.2.0
|
112
114
|
signing_key:
|
113
115
|
specification_version: 4
|
114
116
|
summary: A library for converting various objects into `Money` objects.
|