economy 4.0.2.2 → 5.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +5 -5
- data/Rakefile +1 -3
- data/lib/economy.rb +2 -0
- data/lib/economy/cache.rb +3 -3
- data/lib/economy/configuration.rb +1 -1
- data/lib/economy/money.rb +6 -3
- data/lib/economy/version.rb +1 -1
- data/lib/generators/economy/install/install_generator.rb +6 -6
- data/lib/generators/economy/install/templates/{migration.rb → create_exchanges.rb} +0 -0
- data/lib/generators/economy/install/templates/{initializer.rb → economy.rb} +0 -0
- data/lib/generators/economy/install/templates/{configuration.yml → redis.yml} +0 -0
- metadata +20 -136
- data/test/dummy/Rakefile +0 -5
- data/test/dummy/app/assets/javascripts/application.js +0 -13
- data/test/dummy/app/assets/stylesheets/application.css +0 -15
- data/test/dummy/app/controllers/application_controller.rb +0 -5
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/models/plan.rb +0 -5
- data/test/dummy/app/models/product.rb +0 -5
- data/test/dummy/app/views/layouts/application.html.erb +0 -12
- data/test/dummy/bin/bundle +0 -4
- data/test/dummy/bin/rails +0 -5
- data/test/dummy/bin/rake +0 -5
- data/test/dummy/bin/setup +0 -30
- data/test/dummy/config.ru +0 -4
- data/test/dummy/config/application.rb +0 -25
- data/test/dummy/config/boot.rb +0 -5
- data/test/dummy/config/database.yml +0 -10
- data/test/dummy/config/database.yml.travis +0 -3
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -41
- data/test/dummy/config/environments/production.rb +0 -79
- data/test/dummy/config/environments/test.rb +0 -42
- data/test/dummy/config/initializers/assets.rb +0 -11
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
- data/test/dummy/config/initializers/economy.rb +0 -19
- data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/dummy/config/initializers/mime_types.rb +0 -4
- data/test/dummy/config/initializers/session_store.rb +0 -3
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -23
- data/test/dummy/config/redis.yml +0 -9
- data/test/dummy/config/routes.rb +0 -56
- data/test/dummy/config/secrets.yml +0 -22
- data/test/dummy/db/migrate/20161115135521_create_exchanges.rb +0 -14
- data/test/dummy/db/migrate/20161115145905_create_products.rb +0 -10
- data/test/dummy/db/migrate/20161115150024_create_plans.rb +0 -11
- data/test/dummy/db/schema.rb +0 -45
- data/test/dummy/log/development.log +0 -224
- data/test/dummy/log/test.log +0 -4988
- data/test/dummy/public/404.html +0 -61
- data/test/dummy/public/422.html +0 -61
- data/test/dummy/public/500.html +0 -60
- data/test/dummy/public/favicon.ico +0 -0
- data/test/fixtures/yahoo/multiple.json +0 -29
- data/test/fixtures/yahoo/single.json +0 -18
- data/test/fixtures/yahoo/unknown.json +0 -18
- data/test/generator_test.rb +0 -20
- data/test/money_test.rb +0 -142
- data/test/rate_test.rb +0 -60
- data/test/record_test.rb +0 -60
- data/test/support/money_helper.rb +0 -30
- data/test/support/rate_helper.rb +0 -16
- data/test/task_test.rb +0 -22
- data/test/test_helper.rb +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62a2ca99ccecd9937ba2d6615de139271b036c69
|
4
|
+
data.tar.gz: a9cd3831673d998374028c65446e9d46a30d82ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25a6321fbe47283b149a902aeb3b9238dcfc58fbb1c1f6c4239ee88e33522cb23594f92a492871d09610fcef44c9a6523dd60ddf0c0975d3cd1b4a0a84a099a2
|
7
|
+
data.tar.gz: c1545860209426cdd85756b05c90e55fa03e8d390c167a03fbd79356d304c7818933cb5ee214e1c4aaa96afea85981be13b0f7b19379820b3e3804242fbdcab5
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
[![Gem Version](https://badge.fury.io/rb/economy.svg)](http://badge.fury.io/rb/economy)
|
2
|
-
[![Code Climate](https://codeclimate.com/github/
|
3
|
-
[![Build Status](https://travis-ci.org/
|
4
|
-
[![Dependency Status](https://gemnasium.com/
|
2
|
+
[![Code Climate](https://codeclimate.com/github/museways/economy/badges/gpa.svg)](https://codeclimate.com/github/museways/economy)
|
3
|
+
[![Build Status](https://travis-ci.org/museways/economy.svg)](https://travis-ci.org/museways/economy)
|
4
|
+
[![Dependency Status](https://gemnasium.com/museways/economy.svg)](https://gemnasium.com/museways/economy)
|
5
5
|
|
6
6
|
# Economy
|
7
7
|
|
@@ -140,11 +140,11 @@ NOTE: You probably want to put the rake task into a cronjob.
|
|
140
140
|
|
141
141
|
Any issue, pull request, comment of any kind is more than welcome!
|
142
142
|
|
143
|
-
I will mainly ensure compatibility to
|
143
|
+
I will mainly ensure compatibility to Rails, AWS, PostgreSQL, Redis, Elasticsearch and FreeBSD.
|
144
144
|
|
145
145
|
## Credits
|
146
146
|
|
147
|
-
This gem is maintained and funded by [
|
147
|
+
This gem is maintained and funded by [museways](https://github.com/museways).
|
148
148
|
|
149
149
|
## License
|
150
150
|
|
data/Rakefile
CHANGED
@@ -4,16 +4,14 @@ rescue LoadError
|
|
4
4
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
5
|
end
|
6
6
|
|
7
|
-
|
7
|
+
require 'bundler/gem_tasks'
|
8
8
|
|
9
9
|
require 'rake/testtask'
|
10
10
|
|
11
11
|
Rake::TestTask.new(:test) do |t|
|
12
|
-
t.libs << 'lib'
|
13
12
|
t.libs << 'test'
|
14
13
|
t.pattern = 'test/**/*_test.rb'
|
15
14
|
t.verbose = false
|
16
|
-
t.warning = false
|
17
15
|
end
|
18
16
|
|
19
17
|
task default: :test
|
data/lib/economy.rb
CHANGED
data/lib/economy/cache.rb
CHANGED
@@ -14,13 +14,13 @@ module Economy
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def method_missing(name, *args, &block)
|
17
|
-
|
17
|
+
redis.public_send name, *args, &block
|
18
18
|
end
|
19
19
|
|
20
20
|
private
|
21
21
|
|
22
|
-
def
|
23
|
-
@
|
22
|
+
def redis
|
23
|
+
@redis ||= begin
|
24
24
|
require 'redis'
|
25
25
|
Redis.new YAML.load_file("#{Rails.root}/config/redis.yml")[Rails.env]
|
26
26
|
end
|
data/lib/economy/money.rb
CHANGED
@@ -59,7 +59,7 @@ module Economy
|
|
59
59
|
other = other.exchange_to(currency)
|
60
60
|
amount <=> other.amount
|
61
61
|
else
|
62
|
-
raise "
|
62
|
+
raise "Can't compare #{other.class.name} with Money"
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
@@ -82,7 +82,10 @@ module Economy
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def *(value)
|
85
|
-
|
85
|
+
case value
|
86
|
+
when Money
|
87
|
+
amount * value.exchange_to(currency).amount
|
88
|
+
when Numeric
|
86
89
|
Money.new (amount * value), currency
|
87
90
|
else
|
88
91
|
raise "Can't multiply Money by #{value.class.name}"
|
@@ -136,7 +139,7 @@ module Economy
|
|
136
139
|
if rate = Economy.rate(currency, new_currency)
|
137
140
|
Money.new (amount * BigDecimal(rate)), new_currency
|
138
141
|
else
|
139
|
-
raise "
|
142
|
+
raise "Rate #{currency.iso_code} => #{new_currency.iso_code} not found"
|
140
143
|
end
|
141
144
|
else
|
142
145
|
self
|
data/lib/economy/version.rb
CHANGED
@@ -7,16 +7,16 @@ module Economy
|
|
7
7
|
|
8
8
|
source_root File.expand_path('../templates', __FILE__)
|
9
9
|
|
10
|
-
def
|
11
|
-
copy_file '
|
10
|
+
def add_economy_file
|
11
|
+
copy_file 'economy.rb', 'config/initializers/economy.rb'
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
15
|
-
copy_file '
|
14
|
+
def add_redis_file
|
15
|
+
copy_file 'redis.yml', 'config/redis.yml'
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
19
|
-
migration_template '
|
18
|
+
def add_create_exchanges_file
|
19
|
+
migration_template 'create_exchanges.rb', 'db/migrate/create_exchanges.rb'
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.next_migration_number(path)
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,80 +1,74 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: economy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mmontossi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 4.2.0
|
20
|
-
- - "<"
|
17
|
+
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
19
|
+
version: '5.1'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 4.2.0
|
30
|
-
- - "<"
|
24
|
+
- - "~>"
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
26
|
+
version: '5.1'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: redis
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
31
|
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
33
|
+
version: '4.0'
|
40
34
|
type: :runtime
|
41
35
|
prerelease: false
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
43
37
|
requirements:
|
44
38
|
- - "~>"
|
45
39
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
40
|
+
version: '4.0'
|
47
41
|
- !ruby/object:Gem::Dependency
|
48
42
|
name: pg
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
44
|
requirements:
|
51
45
|
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
47
|
+
version: '0.21'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
51
|
requirements:
|
58
52
|
- - "~>"
|
59
53
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
54
|
+
version: '0.21'
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
56
|
name: mocha
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
64
58
|
requirements:
|
65
59
|
- - "~>"
|
66
60
|
- !ruby/object:Gem::Version
|
67
|
-
version: '1.
|
61
|
+
version: '1.2'
|
68
62
|
type: :development
|
69
63
|
prerelease: false
|
70
64
|
version_requirements: !ruby/object:Gem::Requirement
|
71
65
|
requirements:
|
72
66
|
- - "~>"
|
73
67
|
- !ruby/object:Gem::Version
|
74
|
-
version: '1.
|
68
|
+
version: '1.2'
|
75
69
|
description: High performance multicurrency money for rails.
|
76
70
|
email:
|
77
|
-
-
|
71
|
+
- hi@museways.com
|
78
72
|
executables: []
|
79
73
|
extensions: []
|
80
74
|
extra_rdoc_files: []
|
@@ -96,66 +90,11 @@ files:
|
|
96
90
|
- lib/economy/rates/yahoo.rb
|
97
91
|
- lib/economy/version.rb
|
98
92
|
- lib/generators/economy/install/install_generator.rb
|
99
|
-
- lib/generators/economy/install/templates/
|
100
|
-
- lib/generators/economy/install/templates/
|
101
|
-
- lib/generators/economy/install/templates/
|
93
|
+
- lib/generators/economy/install/templates/create_exchanges.rb
|
94
|
+
- lib/generators/economy/install/templates/economy.rb
|
95
|
+
- lib/generators/economy/install/templates/redis.yml
|
102
96
|
- lib/tasks/economy.rake
|
103
|
-
|
104
|
-
- test/dummy/app/assets/javascripts/application.js
|
105
|
-
- test/dummy/app/assets/stylesheets/application.css
|
106
|
-
- test/dummy/app/controllers/application_controller.rb
|
107
|
-
- test/dummy/app/helpers/application_helper.rb
|
108
|
-
- test/dummy/app/models/plan.rb
|
109
|
-
- test/dummy/app/models/product.rb
|
110
|
-
- test/dummy/app/views/layouts/application.html.erb
|
111
|
-
- test/dummy/bin/bundle
|
112
|
-
- test/dummy/bin/rails
|
113
|
-
- test/dummy/bin/rake
|
114
|
-
- test/dummy/bin/setup
|
115
|
-
- test/dummy/config.ru
|
116
|
-
- test/dummy/config/application.rb
|
117
|
-
- test/dummy/config/boot.rb
|
118
|
-
- test/dummy/config/database.yml
|
119
|
-
- test/dummy/config/database.yml.travis
|
120
|
-
- test/dummy/config/environment.rb
|
121
|
-
- test/dummy/config/environments/development.rb
|
122
|
-
- test/dummy/config/environments/production.rb
|
123
|
-
- test/dummy/config/environments/test.rb
|
124
|
-
- test/dummy/config/initializers/assets.rb
|
125
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
126
|
-
- test/dummy/config/initializers/cookies_serializer.rb
|
127
|
-
- test/dummy/config/initializers/economy.rb
|
128
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
129
|
-
- test/dummy/config/initializers/inflections.rb
|
130
|
-
- test/dummy/config/initializers/mime_types.rb
|
131
|
-
- test/dummy/config/initializers/session_store.rb
|
132
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
133
|
-
- test/dummy/config/locales/en.yml
|
134
|
-
- test/dummy/config/redis.yml
|
135
|
-
- test/dummy/config/routes.rb
|
136
|
-
- test/dummy/config/secrets.yml
|
137
|
-
- test/dummy/db/migrate/20161115135521_create_exchanges.rb
|
138
|
-
- test/dummy/db/migrate/20161115145905_create_products.rb
|
139
|
-
- test/dummy/db/migrate/20161115150024_create_plans.rb
|
140
|
-
- test/dummy/db/schema.rb
|
141
|
-
- test/dummy/log/development.log
|
142
|
-
- test/dummy/log/test.log
|
143
|
-
- test/dummy/public/404.html
|
144
|
-
- test/dummy/public/422.html
|
145
|
-
- test/dummy/public/500.html
|
146
|
-
- test/dummy/public/favicon.ico
|
147
|
-
- test/fixtures/yahoo/multiple.json
|
148
|
-
- test/fixtures/yahoo/single.json
|
149
|
-
- test/fixtures/yahoo/unknown.json
|
150
|
-
- test/generator_test.rb
|
151
|
-
- test/money_test.rb
|
152
|
-
- test/rate_test.rb
|
153
|
-
- test/record_test.rb
|
154
|
-
- test/support/money_helper.rb
|
155
|
-
- test/support/rate_helper.rb
|
156
|
-
- test/task_test.rb
|
157
|
-
- test/test_helper.rb
|
158
|
-
homepage: https://github.com/mmontossi/economy
|
97
|
+
homepage: https://github.com/museways/economy
|
159
98
|
licenses:
|
160
99
|
- MIT
|
161
100
|
metadata: {}
|
@@ -167,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
167
106
|
requirements:
|
168
107
|
- - ">="
|
169
108
|
- !ruby/object:Gem::Version
|
170
|
-
version:
|
109
|
+
version: '0'
|
171
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
111
|
requirements:
|
173
112
|
- - ">="
|
@@ -175,63 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
114
|
version: '0'
|
176
115
|
requirements: []
|
177
116
|
rubyforge_project:
|
178
|
-
rubygems_version: 2.
|
117
|
+
rubygems_version: 2.6.13
|
179
118
|
signing_key:
|
180
119
|
specification_version: 4
|
181
120
|
summary: Economy for Rails
|
182
|
-
test_files:
|
183
|
-
- test/dummy/app/assets/javascripts/application.js
|
184
|
-
- test/dummy/app/assets/stylesheets/application.css
|
185
|
-
- test/dummy/app/controllers/application_controller.rb
|
186
|
-
- test/dummy/app/helpers/application_helper.rb
|
187
|
-
- test/dummy/app/models/plan.rb
|
188
|
-
- test/dummy/app/models/product.rb
|
189
|
-
- test/dummy/app/views/layouts/application.html.erb
|
190
|
-
- test/dummy/bin/bundle
|
191
|
-
- test/dummy/bin/rails
|
192
|
-
- test/dummy/bin/rake
|
193
|
-
- test/dummy/bin/setup
|
194
|
-
- test/dummy/config/application.rb
|
195
|
-
- test/dummy/config/boot.rb
|
196
|
-
- test/dummy/config/database.yml
|
197
|
-
- test/dummy/config/database.yml.travis
|
198
|
-
- test/dummy/config/environment.rb
|
199
|
-
- test/dummy/config/environments/development.rb
|
200
|
-
- test/dummy/config/environments/production.rb
|
201
|
-
- test/dummy/config/environments/test.rb
|
202
|
-
- test/dummy/config/initializers/assets.rb
|
203
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
204
|
-
- test/dummy/config/initializers/cookies_serializer.rb
|
205
|
-
- test/dummy/config/initializers/economy.rb
|
206
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
207
|
-
- test/dummy/config/initializers/inflections.rb
|
208
|
-
- test/dummy/config/initializers/mime_types.rb
|
209
|
-
- test/dummy/config/initializers/session_store.rb
|
210
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
211
|
-
- test/dummy/config/locales/en.yml
|
212
|
-
- test/dummy/config/redis.yml
|
213
|
-
- test/dummy/config/routes.rb
|
214
|
-
- test/dummy/config/secrets.yml
|
215
|
-
- test/dummy/config.ru
|
216
|
-
- test/dummy/db/migrate/20161115135521_create_exchanges.rb
|
217
|
-
- test/dummy/db/migrate/20161115145905_create_products.rb
|
218
|
-
- test/dummy/db/migrate/20161115150024_create_plans.rb
|
219
|
-
- test/dummy/db/schema.rb
|
220
|
-
- test/dummy/log/development.log
|
221
|
-
- test/dummy/log/test.log
|
222
|
-
- test/dummy/public/404.html
|
223
|
-
- test/dummy/public/422.html
|
224
|
-
- test/dummy/public/500.html
|
225
|
-
- test/dummy/public/favicon.ico
|
226
|
-
- test/dummy/Rakefile
|
227
|
-
- test/fixtures/yahoo/multiple.json
|
228
|
-
- test/fixtures/yahoo/single.json
|
229
|
-
- test/fixtures/yahoo/unknown.json
|
230
|
-
- test/generator_test.rb
|
231
|
-
- test/money_test.rb
|
232
|
-
- test/rate_test.rb
|
233
|
-
- test/record_test.rb
|
234
|
-
- test/support/money_helper.rb
|
235
|
-
- test/support/rate_helper.rb
|
236
|
-
- test/task_test.rb
|
237
|
-
- test/test_helper.rb
|
121
|
+
test_files: []
|
data/test/dummy/Rakefile
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
-
// listed below.
|
3
|
-
//
|
4
|
-
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
-
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
6
|
-
//
|
7
|
-
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
-
// compiled file.
|
9
|
-
//
|
10
|
-
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
11
|
-
// about supported directives.
|
12
|
-
//
|
13
|
-
//= require_tree .
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
-
* listed below.
|
4
|
-
*
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
-
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
7
|
-
*
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
9
|
-
* compiled file so the styles you add here take precedence over styles defined in any styles
|
10
|
-
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
11
|
-
* file per style scope.
|
12
|
-
*
|
13
|
-
*= require_tree .
|
14
|
-
*= require_self
|
15
|
-
*/
|