economy 4.0.2.0 → 4.0.2.1

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
  SHA1:
3
- metadata.gz: f15a5aaebbfe88bf00a6f4f2d0a8e456a58b3dc4
4
- data.tar.gz: 0eb2d963328b5d7439e5f70505a770560a8abdaf
3
+ metadata.gz: 13d10a77b47402a2a07309995a8ff50e0ae557b8
4
+ data.tar.gz: a64781d6c6609cc1dc4d65bfbfa27b80bc71351f
5
5
  SHA512:
6
- metadata.gz: 8854f4113cd44b034adf14e868f8147d686b12f86eb8b4f0043e10786aeb386771cfb8f412e0603cce126d726f6e59ecf3081c72e9167f8357cd765d29b7ae47
7
- data.tar.gz: e239bbce8737fbe3755dab992253005894fd373a16d96e872374a8efa1a19e395555f72a37a902ad9d66a5cce2b0b092c8e48d9043545ca7207ac22d93748c9f
6
+ metadata.gz: 8509d0e01126a6fd1e615fc236d92001d73583543072ee4033965e08b34b5f067923931b18896f9b91dd718f3abc6beec484e41adda54ad406d90ab1f9018650
7
+ data.tar.gz: e99d82b0127de9e80ec18212f2b755def17db253c5ebe1cc06ac490a56d01e3193a18953d0de63ec82ab0d760e3ccf30f3775f1324796d8de15f1c8f9052aa4f
data/README.md CHANGED
@@ -70,22 +70,24 @@ NOTE: You may want to personalize the generated config/redis.yml.
70
70
 
71
71
  ### Definitions
72
72
 
73
+ Define the money field in your models:
74
+ ```ruby
75
+ class Product < ActiveRecord::Base
76
+ monetize :price
77
+ end
78
+ ```
79
+
73
80
  Add the money columns to your tables:
74
81
  ```ruby
75
82
  class AddPriceToProducts < ActiveRecord::Migration
76
83
  def change
77
84
  add_column :products, :price, :decimal, precision: 24, scale: 6
78
- add_column :products, :currency, :string, limit: 3 # Or :price_currency
85
+ add_column :products, :currency, :string
79
86
  end
80
87
  end
81
88
  ```
82
89
 
83
- Define the money field in your models:
84
- ```ruby
85
- class Product < ActiveRecord::Base
86
- monetize :price
87
- end
88
- ```
90
+ NOTE: You can use a gobal "currency" column o a prefixed "price_currency" column.
89
91
 
90
92
  ### Attributes
91
93
 
@@ -97,11 +99,17 @@ product.currency = 'USD'
97
99
 
98
100
  Arithmetics are intuitive:
99
101
  ```ruby
100
- product.price * 2 # => U$S 40
101
- product.price / 2 # => U$S 10
102
+ product.price * 2
103
+ # => U$S 40
104
+
105
+ product.price / 2
106
+ # => U$S 10
102
107
 
103
- product.price + Economy::Money.new(10, 'USD') # => U$S 30
104
- product.price - Economy::Money.new(10, 'USD') # => U$S 10
108
+ product.price + Economy::Money.new(10, 'USD')
109
+ # => U$S 30
110
+
111
+ product.price - Economy::Money.new(10, 'USD')
112
+ # => U$S 10
105
113
  ```
106
114
 
107
115
  To exchange to another currency:
@@ -116,7 +124,7 @@ The formatting method is to_s, it uses active support, so there is no need to ca
116
124
 
117
125
  ### Rates
118
126
 
119
- You can use rake task:
127
+ To update rates:
120
128
  ```
121
129
  $ bundle exec rake economy:update_rates
122
130
  ```
@@ -128,6 +136,12 @@ Economy.update_rates
128
136
 
129
137
  NOTE: You probably want to put the rake task into a cronjob.
130
138
 
139
+ ## Contributing
140
+
141
+ Any issue, pull request, comment of any kind is more than welcome!
142
+
143
+ I will mainly ensure compatibility to PostgreSQL, AWS, Redis, Elasticsearch, FreeBSD and Memcached. 
144
+
131
145
  ## Credits
132
146
 
133
147
  This gem is maintained and funded by [mmontossi](https://github.com/mmontossi).
@@ -2,8 +2,8 @@ module Economy
2
2
  class Railtie < Rails::Railtie
3
3
 
4
4
  initializer 'economy.active_record' do
5
+ require 'economy/exchange'
5
6
  ActiveSupport.on_load :active_record do
6
- require 'economy/exchange'
7
7
  ::ActiveRecord::Base.include(
8
8
  Economy::Extensions::ActiveRecord::Base
9
9
  )
@@ -1,5 +1,5 @@
1
1
  module Economy
2
2
 
3
- VERSION = '4.0.2.0'
3
+ VERSION = '4.0.2.1'
4
4
 
5
5
  end
@@ -2,7 +2,7 @@ require 'rails/generators'
2
2
 
3
3
  module Economy
4
4
  module Generators
5
- class InstallGenerator < ::Rails::Generators::Base
5
+ class InstallGenerator < Rails::Generators::Base
6
6
  include Rails::Generators::Migration
7
7
 
8
8
  source_root File.expand_path('../templates', __FILE__)
@@ -1,9 +1,9 @@
1
1
  class CreateExchanges < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :exchanges do |t|
4
- t.string :service, limit: 30
5
- t.string :from, limit: 3
6
- t.string :to, limit: 3
4
+ t.string :service
5
+ t.string :from
6
+ t.string :to
7
7
  t.decimal :rate, precision: 24, scale: 12
8
8
 
9
9
  t.timestamps null: false
@@ -2,7 +2,7 @@ class CreateProducts < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :products do |t|
4
4
  t.decimal :price, precision: 24, scale: 6
5
- t.string :price_currency, limit: 3
5
+ t.string :price_currency
6
6
 
7
7
  t.timestamps null: false
8
8
  end
@@ -3,7 +3,7 @@ class CreatePlans < ActiveRecord::Migration
3
3
  create_table :plans do |t|
4
4
  t.decimal :monthly_price, precision: 24, scale: 6
5
5
  t.decimal :annually_price, precision: 24, scale: 6
6
- t.string :currency, limit: 3
6
+ t.string :currency
7
7
 
8
8
  t.timestamps null: false
9
9
  end
@@ -17,29 +17,29 @@ ActiveRecord::Schema.define(version: 20161115150024) do
17
17
  enable_extension "plpgsql"
18
18
 
19
19
  create_table "exchanges", force: :cascade do |t|
20
- t.string "service", limit: 30
21
- t.string "from", limit: 3
22
- t.string "to", limit: 3
23
- t.decimal "rate", precision: 24, scale: 12
24
- t.datetime "created_at", null: false
25
- t.datetime "updated_at", null: false
20
+ t.string "service"
21
+ t.string "from"
22
+ t.string "to"
23
+ t.decimal "rate", precision: 24, scale: 12
24
+ t.datetime "created_at", null: false
25
+ t.datetime "updated_at", null: false
26
26
  end
27
27
 
28
28
  add_index "exchanges", ["from", "to"], name: "index_exchanges_on_from_and_to", using: :btree
29
29
 
30
30
  create_table "plans", force: :cascade do |t|
31
- t.decimal "monthly_price", precision: 24, scale: 6
32
- t.decimal "annually_price", precision: 24, scale: 6
33
- t.string "currency", limit: 3
34
- t.datetime "created_at", null: false
35
- t.datetime "updated_at", null: false
31
+ t.decimal "monthly_price", precision: 24, scale: 6
32
+ t.decimal "annually_price", precision: 24, scale: 6
33
+ t.string "currency"
34
+ t.datetime "created_at", null: false
35
+ t.datetime "updated_at", null: false
36
36
  end
37
37
 
38
38
  create_table "products", force: :cascade do |t|
39
- t.decimal "price", precision: 24, scale: 6
40
- t.string "price_currency", limit: 3
41
- t.datetime "created_at", null: false
42
- t.datetime "updated_at", null: false
39
+ t.decimal "price", precision: 24, scale: 6
40
+ t.string "price_currency"
41
+ t.datetime "created_at", null: false
42
+ t.datetime "updated_at", null: false
43
43
  end
44
44
 
45
45
  end
@@ -49,6 +49,174 @@ JOIN pg_class t2 ON c.confrelid = t2.oid
49
49
  JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
50
50
  JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
51
51
  JOIN pg_namespace t3 ON c.connamespace = t3.oid
52
+ WHERE c.contype = 'f'
53
+ AND t1.relname = 'products'
54
+ AND t3.nspname = ANY (current_schemas(false))
55
+ ORDER BY c.conname
56
+
57
+  (5.5ms) CREATE TABLE "schema_migrations" ("version" character varying NOT NULL) 
58
+  (22.5ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
59
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
60
+ Migrating to CreateExchanges (20161115135521)
61
+  (0.1ms) BEGIN
62
+  (3.3ms) CREATE TABLE "exchanges" ("id" serial primary key, "service" character varying(30), "from" character varying(3), "to" character varying(3), "rate" decimal(24,12), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) 
63
+  (0.7ms) CREATE INDEX "index_exchanges_on_from_and_to" ON "exchanges" ("from", "to")
64
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115135521"]]
65
+  (0.4ms) COMMIT
66
+ Migrating to CreateProducts (20161115145905)
67
+  (0.2ms) BEGIN
68
+  (2.9ms) CREATE TABLE "products" ("id" serial primary key, "price" decimal(24,6), "price_currency" character varying(3), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
69
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115145905"]]
70
+  (0.4ms) COMMIT
71
+ Migrating to CreatePlans (20161115150024)
72
+  (0.2ms) BEGIN
73
+  (1.5ms) CREATE TABLE "plans" ("id" serial primary key, "monthly_price" decimal(24,6), "annually_price" decimal(24,6), "currency" character varying(3), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
74
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115150024"]]
75
+  (0.4ms) COMMIT
76
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
77
+  (3.0ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
78
+ FROM pg_constraint c
79
+ JOIN pg_class t1 ON c.conrelid = t1.oid
80
+ JOIN pg_class t2 ON c.confrelid = t2.oid
81
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
82
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
83
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
84
+ WHERE c.contype = 'f'
85
+ AND t1.relname = 'exchanges'
86
+ AND t3.nspname = ANY (current_schemas(false))
87
+ ORDER BY c.conname
88
+
89
+  (1.5ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
90
+ FROM pg_constraint c
91
+ JOIN pg_class t1 ON c.conrelid = t1.oid
92
+ JOIN pg_class t2 ON c.confrelid = t2.oid
93
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
94
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
95
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
96
+ WHERE c.contype = 'f'
97
+ AND t1.relname = 'plans'
98
+ AND t3.nspname = ANY (current_schemas(false))
99
+ ORDER BY c.conname
100
+ 
101
+  (1.3ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
102
+ FROM pg_constraint c
103
+ JOIN pg_class t1 ON c.conrelid = t1.oid
104
+ JOIN pg_class t2 ON c.confrelid = t2.oid
105
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
106
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
107
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
108
+ WHERE c.contype = 'f'
109
+ AND t1.relname = 'products'
110
+ AND t3.nspname = ANY (current_schemas(false))
111
+ ORDER BY c.conname
112
+
113
+  (4.8ms) CREATE TABLE "schema_migrations" ("version" character varying NOT NULL) 
114
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
115
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
116
+ Migrating to CreateExchanges (20161115135521)
117
+  (0.1ms) BEGIN
118
+  (4.4ms) CREATE TABLE "exchanges" ("id" serial primary key, "service" character varying(30), "from" character varying(3), "to" character varying(3), "rate" decimal(24,12), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) 
119
+  (0.7ms) CREATE INDEX "index_exchanges_on_from_and_to" ON "exchanges" ("from", "to")
120
+ SQL (0.6ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115135521"]]
121
+  (1.0ms) COMMIT
122
+ Migrating to CreateProducts (20161115145905)
123
+  (0.5ms) BEGIN
124
+  (2.4ms) CREATE TABLE "products" ("id" serial primary key, "price" decimal(24,6), "price_currency" character varying(3), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
125
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115145905"]]
126
+  (0.3ms) COMMIT
127
+ Migrating to CreatePlans (20161115150024)
128
+  (0.2ms) BEGIN
129
+  (2.9ms) CREATE TABLE "plans" ("id" serial primary key, "monthly_price" decimal(24,6), "annually_price" decimal(24,6), "currency" character varying(3), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
130
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115150024"]]
131
+  (0.4ms) COMMIT
132
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
133
+  (1.7ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
134
+ FROM pg_constraint c
135
+ JOIN pg_class t1 ON c.conrelid = t1.oid
136
+ JOIN pg_class t2 ON c.confrelid = t2.oid
137
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
138
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
139
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
140
+ WHERE c.contype = 'f'
141
+ AND t1.relname = 'exchanges'
142
+ AND t3.nspname = ANY (current_schemas(false))
143
+ ORDER BY c.conname
144
+
145
+  (1.4ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
146
+ FROM pg_constraint c
147
+ JOIN pg_class t1 ON c.conrelid = t1.oid
148
+ JOIN pg_class t2 ON c.confrelid = t2.oid
149
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
150
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
151
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
152
+ WHERE c.contype = 'f'
153
+ AND t1.relname = 'plans'
154
+ AND t3.nspname = ANY (current_schemas(false))
155
+ ORDER BY c.conname
156
+ 
157
+  (1.3ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
158
+ FROM pg_constraint c
159
+ JOIN pg_class t1 ON c.conrelid = t1.oid
160
+ JOIN pg_class t2 ON c.confrelid = t2.oid
161
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
162
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
163
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
164
+ WHERE c.contype = 'f'
165
+ AND t1.relname = 'products'
166
+ AND t3.nspname = ANY (current_schemas(false))
167
+ ORDER BY c.conname
168
+
169
+  (14.0ms) CREATE TABLE "schema_migrations" ("version" character varying NOT NULL) 
170
+  (22.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
171
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
172
+ Migrating to CreateExchanges (20161115135521)
173
+  (0.2ms) BEGIN
174
+  (20.7ms) CREATE TABLE "exchanges" ("id" serial primary key, "service" character varying, "from" character varying, "to" character varying, "rate" decimal(24,12), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) 
175
+  (0.7ms) CREATE INDEX "index_exchanges_on_from_and_to" ON "exchanges" ("from", "to")
176
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115135521"]]
177
+  (11.5ms) COMMIT
178
+ Migrating to CreateProducts (20161115145905)
179
+  (6.2ms) BEGIN
180
+  (6.6ms) CREATE TABLE "products" ("id" serial primary key, "price" decimal(24,6), "price_currency" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
181
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115145905"]]
182
+  (0.5ms) COMMIT
183
+ Migrating to CreatePlans (20161115150024)
184
+  (0.2ms) BEGIN
185
+  (2.1ms) CREATE TABLE "plans" ("id" serial primary key, "monthly_price" decimal(24,6), "annually_price" decimal(24,6), "currency" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
186
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115150024"]]
187
+  (0.5ms) COMMIT
188
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
189
+  (2.1ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
190
+ FROM pg_constraint c
191
+ JOIN pg_class t1 ON c.conrelid = t1.oid
192
+ JOIN pg_class t2 ON c.confrelid = t2.oid
193
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
194
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
195
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
196
+ WHERE c.contype = 'f'
197
+ AND t1.relname = 'exchanges'
198
+ AND t3.nspname = ANY (current_schemas(false))
199
+ ORDER BY c.conname
200
+
201
+  (1.6ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
202
+ FROM pg_constraint c
203
+ JOIN pg_class t1 ON c.conrelid = t1.oid
204
+ JOIN pg_class t2 ON c.confrelid = t2.oid
205
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
206
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
207
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
208
+ WHERE c.contype = 'f'
209
+ AND t1.relname = 'plans'
210
+ AND t3.nspname = ANY (current_schemas(false))
211
+ ORDER BY c.conname
212
+ 
213
+  (1.6ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
214
+ FROM pg_constraint c
215
+ JOIN pg_class t1 ON c.conrelid = t1.oid
216
+ JOIN pg_class t2 ON c.confrelid = t2.oid
217
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
218
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
219
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
52
220
  WHERE c.contype = 'f'
53
221
  AND t1.relname = 'products'
54
222
  AND t3.nspname = ANY (current_schemas(false))
@@ -4012,3 +4012,671 @@ RateTest: test_retries
4012
4012
  RateTest: test_yahoo
4013
4013
  --------------------
4014
4014
   (0.2ms) ROLLBACK
4015
+ ActiveRecord::SchemaMigration Load (25.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
4016
+  (0.2ms) BEGIN
4017
+ ----------------------
4018
+ RateTest: test_retries
4019
+ ----------------------
4020
+  (0.1ms) ROLLBACK
4021
+  (0.1ms) BEGIN
4022
+ --------------------
4023
+ RateTest: test_yahoo
4024
+ --------------------
4025
+  (0.1ms) ROLLBACK
4026
+  (0.1ms) BEGIN
4027
+ -------------------------
4028
+ MoneyTest: test_/_and_div
4029
+ -------------------------
4030
+  (0.2ms) SAVEPOINT active_record_1
4031
+ SQL (0.7ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.941115"], ["updated_at", "2016-12-13 17:58:10.941115"]]
4032
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4033
+  (0.1ms) SAVEPOINT active_record_1
4034
+ SQL (0.3ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.946143"], ["updated_at", "2016-12-13 17:58:10.946143"]]
4035
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4036
+  (0.1ms) ROLLBACK
4037
+  (0.1ms) BEGIN
4038
+ ------------------
4039
+ MoneyTest: test_-@
4040
+ ------------------
4041
+  (0.1ms) SAVEPOINT active_record_1
4042
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.949180"], ["updated_at", "2016-12-13 17:58:10.949180"]]
4043
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4044
+  (0.2ms) SAVEPOINT active_record_1
4045
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.950666"], ["updated_at", "2016-12-13 17:58:10.950666"]]
4046
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4047
+  (0.1ms) ROLLBACK
4048
+  (0.1ms) BEGIN
4049
+ -------------------------
4050
+ MoneyTest: test_remainder
4051
+ -------------------------
4052
+  (0.1ms) SAVEPOINT active_record_1
4053
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.952956"], ["updated_at", "2016-12-13 17:58:10.952956"]]
4054
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4055
+  (0.1ms) SAVEPOINT active_record_1
4056
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.954555"], ["updated_at", "2016-12-13 17:58:10.954555"]]
4057
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4058
+  (0.1ms) ROLLBACK
4059
+  (0.1ms) BEGIN
4060
+ -------------------------
4061
+ MoneyTest: test_negative?
4062
+ -------------------------
4063
+  (0.1ms) SAVEPOINT active_record_1
4064
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.957268"], ["updated_at", "2016-12-13 17:58:10.957268"]]
4065
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4066
+  (0.1ms) SAVEPOINT active_record_1
4067
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.958708"], ["updated_at", "2016-12-13 17:58:10.958708"]]
4068
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4069
+  (0.1ms) ROLLBACK
4070
+  (0.1ms) BEGIN
4071
+ -----------------
4072
+ MoneyTest: test_<
4073
+ -----------------
4074
+  (0.1ms) SAVEPOINT active_record_1
4075
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.960864"], ["updated_at", "2016-12-13 17:58:10.960864"]]
4076
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4077
+  (0.1ms) SAVEPOINT active_record_1
4078
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.962183"], ["updated_at", "2016-12-13 17:58:10.962183"]]
4079
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4080
+  (0.1ms) ROLLBACK
4081
+  (0.1ms) BEGIN
4082
+ ---------------------------
4083
+ MoneyTest: test_exchange_to
4084
+ ---------------------------
4085
+  (0.1ms) SAVEPOINT active_record_1
4086
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.964616"], ["updated_at", "2016-12-13 17:58:10.964616"]]
4087
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4088
+  (0.1ms) SAVEPOINT active_record_1
4089
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.965854"], ["updated_at", "2016-12-13 17:58:10.965854"]]
4090
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4091
+  (0.1ms) ROLLBACK
4092
+  (0.1ms) BEGIN
4093
+ ----------------------------
4094
+ MoneyTest: test_%_and_modulo
4095
+ ----------------------------
4096
+  (0.1ms) SAVEPOINT active_record_1
4097
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.967963"], ["updated_at", "2016-12-13 17:58:10.967963"]]
4098
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4099
+  (0.1ms) SAVEPOINT active_record_1
4100
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.969235"], ["updated_at", "2016-12-13 17:58:10.969235"]]
4101
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4102
+  (0.1ms) ROLLBACK
4103
+  (0.1ms) BEGIN
4104
+ ----------------------
4105
+ MoneyTest: test_coerce
4106
+ ----------------------
4107
+  (0.1ms) SAVEPOINT active_record_1
4108
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.971804"], ["updated_at", "2016-12-13 17:58:10.971804"]]
4109
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4110
+  (0.1ms) SAVEPOINT active_record_1
4111
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.973091"], ["updated_at", "2016-12-13 17:58:10.973091"]]
4112
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4113
+  (0.1ms) ROLLBACK
4114
+  (0.1ms) BEGIN
4115
+ -----------------
4116
+ MoneyTest: test_*
4117
+ -----------------
4118
+  (0.1ms) SAVEPOINT active_record_1
4119
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.975000"], ["updated_at", "2016-12-13 17:58:10.975000"]]
4120
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4121
+  (0.1ms) SAVEPOINT active_record_1
4122
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.976046"], ["updated_at", "2016-12-13 17:58:10.976046"]]
4123
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4124
+  (0.1ms) ROLLBACK
4125
+  (0.1ms) BEGIN
4126
+ -------------------------
4127
+ MoneyTest: test_positive?
4128
+ -------------------------
4129
+  (0.1ms) SAVEPOINT active_record_1
4130
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.977842"], ["updated_at", "2016-12-13 17:58:10.977842"]]
4131
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4132
+  (0.1ms) SAVEPOINT active_record_1
4133
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.979131"], ["updated_at", "2016-12-13 17:58:10.979131"]]
4134
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4135
+  (0.1ms) ROLLBACK
4136
+  (0.1ms) BEGIN
4137
+ -----------------
4138
+ MoneyTest: test_-
4139
+ -----------------
4140
+  (0.1ms) SAVEPOINT active_record_1
4141
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.981050"], ["updated_at", "2016-12-13 17:58:10.981050"]]
4142
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4143
+  (0.1ms) SAVEPOINT active_record_1
4144
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.982195"], ["updated_at", "2016-12-13 17:58:10.982195"]]
4145
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4146
+  (0.1ms) ROLLBACK
4147
+  (0.1ms) BEGIN
4148
+ ---------------------------------
4149
+ MoneyTest: test_abs_and_magnitude
4150
+ ---------------------------------
4151
+  (0.1ms) SAVEPOINT active_record_1
4152
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.984610"], ["updated_at", "2016-12-13 17:58:10.984610"]]
4153
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4154
+  (0.1ms) SAVEPOINT active_record_1
4155
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.986113"], ["updated_at", "2016-12-13 17:58:10.986113"]]
4156
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4157
+  (0.1ms) ROLLBACK
4158
+  (0.1ms) BEGIN
4159
+ -----------------
4160
+ MoneyTest: test_+
4161
+ -----------------
4162
+  (0.1ms) SAVEPOINT active_record_1
4163
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.988405"], ["updated_at", "2016-12-13 17:58:10.988405"]]
4164
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4165
+  (0.1ms) SAVEPOINT active_record_1
4166
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.989848"], ["updated_at", "2016-12-13 17:58:10.989848"]]
4167
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4168
+  (0.1ms) ROLLBACK
4169
+  (0.1ms) BEGIN
4170
+ ---------------------
4171
+ MoneyTest: test_zero?
4172
+ ---------------------
4173
+  (0.1ms) SAVEPOINT active_record_1
4174
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.991887"], ["updated_at", "2016-12-13 17:58:10.991887"]]
4175
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4176
+  (0.1ms) SAVEPOINT active_record_1
4177
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.993104"], ["updated_at", "2016-12-13 17:58:10.993104"]]
4178
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4179
+  (0.1ms) ROLLBACK
4180
+  (0.1ms) BEGIN
4181
+ ----------------------
4182
+ MoneyTest: test_divmod
4183
+ ----------------------
4184
+  (0.1ms) SAVEPOINT active_record_1
4185
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.994960"], ["updated_at", "2016-12-13 17:58:10.994960"]]
4186
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4187
+  (0.1ms) SAVEPOINT active_record_1
4188
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:10.996247"], ["updated_at", "2016-12-13 17:58:10.996247"]]
4189
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4190
+  (0.1ms) ROLLBACK
4191
+  (0.1ms) BEGIN
4192
+ --------------------
4193
+ MoneyTest: test_to_s
4194
+ --------------------
4195
+  (0.1ms) SAVEPOINT active_record_1
4196
+ SQL (0.3ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:10.998419"], ["updated_at", "2016-12-13 17:58:10.998419"]]
4197
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4198
+  (0.1ms) SAVEPOINT active_record_1
4199
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.003814"], ["updated_at", "2016-12-13 17:58:11.003814"]]
4200
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4201
+  (0.2ms) ROLLBACK
4202
+  (0.1ms) BEGIN
4203
+ -------------------
4204
+ MoneyTest: test_===
4205
+ -------------------
4206
+  (0.1ms) SAVEPOINT active_record_1
4207
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.013076"], ["updated_at", "2016-12-13 17:58:11.013076"]]
4208
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4209
+  (0.2ms) SAVEPOINT active_record_1
4210
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.014799"], ["updated_at", "2016-12-13 17:58:11.014799"]]
4211
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4212
+  (0.2ms) ROLLBACK
4213
+  (0.1ms) BEGIN
4214
+ -------------------
4215
+ MoneyTest: test_<=>
4216
+ -------------------
4217
+  (0.1ms) SAVEPOINT active_record_1
4218
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.017330"], ["updated_at", "2016-12-13 17:58:11.017330"]]
4219
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4220
+  (0.1ms) SAVEPOINT active_record_1
4221
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.018819"], ["updated_at", "2016-12-13 17:58:11.018819"]]
4222
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4223
+  (0.2ms) ROLLBACK
4224
+  (0.1ms) BEGIN
4225
+ ------------------------
4226
+ MoneyTest: test_nonzero?
4227
+ ------------------------
4228
+  (0.1ms) SAVEPOINT active_record_1
4229
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.021398"], ["updated_at", "2016-12-13 17:58:11.021398"]]
4230
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4231
+  (0.1ms) SAVEPOINT active_record_1
4232
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.022853"], ["updated_at", "2016-12-13 17:58:11.022853"]]
4233
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4234
+  (0.1ms) ROLLBACK
4235
+  (0.1ms) BEGIN
4236
+ -----------------------------------
4237
+ MoneyTest: test_to_json_and_as_json
4238
+ -----------------------------------
4239
+  (0.1ms) SAVEPOINT active_record_1
4240
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.024963"], ["updated_at", "2016-12-13 17:58:11.024963"]]
4241
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4242
+  (0.1ms) SAVEPOINT active_record_1
4243
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.033881"], ["updated_at", "2016-12-13 17:58:11.033881"]]
4244
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4245
+  (0.1ms) ROLLBACK
4246
+  (0.1ms) BEGIN
4247
+ ------------------------
4248
+ RecordTest: test_helpers
4249
+ ------------------------
4250
+  (0.1ms) SAVEPOINT active_record_1
4251
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.036860"], ["updated_at", "2016-12-13 17:58:11.036860"]]
4252
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4253
+  (0.1ms) SAVEPOINT active_record_1
4254
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.038403"], ["updated_at", "2016-12-13 17:58:11.038403"]]
4255
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4256
+  (0.1ms) ROLLBACK
4257
+  (0.1ms) BEGIN
4258
+ ---------------------------
4259
+ RecordTest: test_validators
4260
+ ---------------------------
4261
+  (0.1ms) SAVEPOINT active_record_1
4262
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.045662"], ["updated_at", "2016-12-13 17:58:11.045662"]]
4263
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4264
+  (0.1ms) SAVEPOINT active_record_1
4265
+ SQL (0.3ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.047227"], ["updated_at", "2016-12-13 17:58:11.047227"]]
4266
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4267
+  (0.1ms) ROLLBACK
4268
+  (0.1ms) BEGIN
4269
+ ---------------------------
4270
+ RecordTest: test_persistent
4271
+ ---------------------------
4272
+  (0.1ms) SAVEPOINT active_record_1
4273
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.051165"], ["updated_at", "2016-12-13 17:58:11.051165"]]
4274
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4275
+  (0.1ms) SAVEPOINT active_record_1
4276
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.052678"], ["updated_at", "2016-12-13 17:58:11.052678"]]
4277
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4278
+  (0.1ms) SAVEPOINT active_record_1
4279
+ SQL (0.3ms) INSERT INTO "plans" ("monthly_price", "annually_price", "currency", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["monthly_price", "20.0"], ["annually_price", "200.0"], ["currency", "UYU"], ["created_at", "2016-12-13 17:58:11.058758"], ["updated_at", "2016-12-13 17:58:11.058758"]]
4280
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4281
+  (0.1ms) SAVEPOINT active_record_1
4282
+ SQL (0.3ms) UPDATE "plans" SET "monthly_price" = $1, "updated_at" = $2 WHERE "plans"."id" = $3 [["monthly_price", "100.0"], ["updated_at", "2016-12-13 17:58:11.060780"], ["id", 12]]
4283
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4284
+  (0.1ms) SAVEPOINT active_record_1
4285
+ SQL (0.3ms) INSERT INTO "products" ("price", "price_currency", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["price", "15.0"], ["price_currency", "UYU"], ["created_at", "2016-12-13 17:58:11.065324"], ["updated_at", "2016-12-13 17:58:11.065324"]]
4286
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4287
+  (0.1ms) SAVEPOINT active_record_1
4288
+ SQL (0.3ms) UPDATE "products" SET "price" = $1, "price_currency" = $2, "updated_at" = $3 WHERE "products"."id" = $4 [["price", "5.0"], ["price_currency", "USD"], ["updated_at", "2016-12-13 17:58:11.066989"], ["id", 9]]
4289
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4290
+  (0.1ms) ROLLBACK
4291
+  (0.1ms) BEGIN
4292
+ ---------------------------------
4293
+ RecordTest: test_default_currency
4294
+ ---------------------------------
4295
+  (0.1ms) SAVEPOINT active_record_1
4296
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-13 17:58:11.069583"], ["updated_at", "2016-12-13 17:58:11.069583"]]
4297
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4298
+  (0.1ms) SAVEPOINT active_record_1
4299
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-13 17:58:11.071187"], ["updated_at", "2016-12-13 17:58:11.071187"]]
4300
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4301
+  (0.1ms) ROLLBACK
4302
+  (0.1ms) BEGIN
4303
+ ---------------------------
4304
+ TaskTest: test_update_rates
4305
+ ---------------------------
4306
+  (0.2ms) SAVEPOINT active_record_1
4307
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "29.32"], ["created_at", "2016-12-13 17:58:11.092394"], ["updated_at", "2016-12-13 17:58:11.092394"]]
4308
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4309
+  (0.1ms) SAVEPOINT active_record_1
4310
+ SQL (5.9ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.0341"], ["created_at", "2016-12-13 17:58:11.094060"], ["updated_at", "2016-12-13 17:58:11.094060"]]
4311
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4312
+  (0.4ms) SELECT COUNT(*) FROM "exchanges"
4313
+ Economy::Exchange Exists (0.4ms) SELECT 1 AS one FROM "exchanges" WHERE "exchanges"."service" = $1 AND "exchanges"."from" = $2 AND "exchanges"."to" = $3 AND "exchanges"."rate" = $4 LIMIT 1 [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", 29.32]]
4314
+ Economy::Exchange Exists (0.2ms) SELECT 1 AS one FROM "exchanges" WHERE "exchanges"."service" = $1 AND "exchanges"."from" = $2 AND "exchanges"."to" = $3 AND "exchanges"."rate" = $4 LIMIT 1 [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", 0.0341]]
4315
+  (0.2ms) ROLLBACK
4316
+  (0.1ms) BEGIN
4317
+ ---------------------------
4318
+ GeneratorTest: test_install
4319
+ ---------------------------
4320
+  (0.2ms) ROLLBACK
4321
+  (2.5ms) CREATE TABLE "schema_migrations" ("version" character varying NOT NULL) 
4322
+  (18.3ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
4323
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
4324
+ Migrating to CreateExchanges (20161115135521)
4325
+  (0.2ms) BEGIN
4326
+  (3.2ms) CREATE TABLE "exchanges" ("id" serial primary key, "service" character varying, "from" character varying, "to" character varying, "rate" decimal(24,12), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) 
4327
+  (0.6ms) CREATE INDEX "index_exchanges_on_from_and_to" ON "exchanges" ("from", "to")
4328
+ SQL (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115135521"]]
4329
+  (0.5ms) COMMIT
4330
+ Migrating to CreateProducts (20161115145905)
4331
+  (0.2ms) BEGIN
4332
+  (2.2ms) CREATE TABLE "products" ("id" serial primary key, "price" decimal(24,6), "price_currency" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
4333
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115145905"]]
4334
+  (0.5ms) COMMIT
4335
+ Migrating to CreatePlans (20161115150024)
4336
+  (0.2ms) BEGIN
4337
+  (2.7ms) CREATE TABLE "plans" ("id" serial primary key, "monthly_price" decimal(24,6), "annually_price" decimal(24,6), "currency" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
4338
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20161115150024"]]
4339
+  (0.4ms) COMMIT
4340
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
4341
+  (1.9ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
4342
+ FROM pg_constraint c
4343
+ JOIN pg_class t1 ON c.conrelid = t1.oid
4344
+ JOIN pg_class t2 ON c.confrelid = t2.oid
4345
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
4346
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
4347
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
4348
+ WHERE c.contype = 'f'
4349
+ AND t1.relname = 'exchanges'
4350
+ AND t3.nspname = ANY (current_schemas(false))
4351
+ ORDER BY c.conname
4352
+
4353
+  (3.4ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
4354
+ FROM pg_constraint c
4355
+ JOIN pg_class t1 ON c.conrelid = t1.oid
4356
+ JOIN pg_class t2 ON c.confrelid = t2.oid
4357
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
4358
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
4359
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
4360
+ WHERE c.contype = 'f'
4361
+ AND t1.relname = 'plans'
4362
+ AND t3.nspname = ANY (current_schemas(false))
4363
+ ORDER BY c.conname
4364
+ 
4365
+  (1.6ms) SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
4366
+ FROM pg_constraint c
4367
+ JOIN pg_class t1 ON c.conrelid = t1.oid
4368
+ JOIN pg_class t2 ON c.confrelid = t2.oid
4369
+ JOIN pg_attribute a1 ON a1.attnum = c.conkey[1] AND a1.attrelid = t1.oid
4370
+ JOIN pg_attribute a2 ON a2.attnum = c.confkey[1] AND a2.attrelid = t2.oid
4371
+ JOIN pg_namespace t3 ON c.connamespace = t3.oid
4372
+ WHERE c.contype = 'f'
4373
+ AND t1.relname = 'products'
4374
+ AND t3.nspname = ANY (current_schemas(false))
4375
+ ORDER BY c.conname
4376
+
4377
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
4378
+  (0.2ms) BEGIN
4379
+ -------------------------
4380
+ MoneyTest: test_/_and_div
4381
+ -------------------------
4382
+  (0.2ms) SAVEPOINT active_record_1
4383
+ SQL (19.7ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.863260"], ["updated_at", "2016-12-14 03:03:51.863260"]]
4384
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4385
+  (0.1ms) SAVEPOINT active_record_1
4386
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.887475"], ["updated_at", "2016-12-14 03:03:51.887475"]]
4387
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4388
+  (0.2ms) ROLLBACK
4389
+  (0.1ms) BEGIN
4390
+ ----------------------------
4391
+ MoneyTest: test_%_and_modulo
4392
+ ----------------------------
4393
+  (0.1ms) SAVEPOINT active_record_1
4394
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.890714"], ["updated_at", "2016-12-14 03:03:51.890714"]]
4395
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4396
+  (0.1ms) SAVEPOINT active_record_1
4397
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.892422"], ["updated_at", "2016-12-14 03:03:51.892422"]]
4398
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4399
+  (0.1ms) ROLLBACK
4400
+  (0.1ms) BEGIN
4401
+ ----------------------
4402
+ MoneyTest: test_coerce
4403
+ ----------------------
4404
+  (0.1ms) SAVEPOINT active_record_1
4405
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.895304"], ["updated_at", "2016-12-14 03:03:51.895304"]]
4406
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4407
+  (0.1ms) SAVEPOINT active_record_1
4408
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.896762"], ["updated_at", "2016-12-14 03:03:51.896762"]]
4409
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4410
+  (0.1ms) ROLLBACK
4411
+  (0.1ms) BEGIN
4412
+ -----------------
4413
+ MoneyTest: test_+
4414
+ -----------------
4415
+  (0.1ms) SAVEPOINT active_record_1
4416
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.898916"], ["updated_at", "2016-12-14 03:03:51.898916"]]
4417
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4418
+  (0.1ms) SAVEPOINT active_record_1
4419
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.900259"], ["updated_at", "2016-12-14 03:03:51.900259"]]
4420
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4421
+  (0.1ms) ROLLBACK
4422
+  (0.1ms) BEGIN
4423
+ -----------------
4424
+ MoneyTest: test_<
4425
+ -----------------
4426
+  (0.1ms) SAVEPOINT active_record_1
4427
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.903172"], ["updated_at", "2016-12-14 03:03:51.903172"]]
4428
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4429
+  (0.1ms) SAVEPOINT active_record_1
4430
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.904731"], ["updated_at", "2016-12-14 03:03:51.904731"]]
4431
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4432
+  (0.1ms) ROLLBACK
4433
+  (0.1ms) BEGIN
4434
+ ---------------------------------
4435
+ MoneyTest: test_abs_and_magnitude
4436
+ ---------------------------------
4437
+  (0.1ms) SAVEPOINT active_record_1
4438
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.907106"], ["updated_at", "2016-12-14 03:03:51.907106"]]
4439
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4440
+  (0.1ms) SAVEPOINT active_record_1
4441
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.908427"], ["updated_at", "2016-12-14 03:03:51.908427"]]
4442
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4443
+  (0.1ms) ROLLBACK
4444
+  (0.1ms) BEGIN
4445
+ -------------------
4446
+ MoneyTest: test_<=>
4447
+ -------------------
4448
+  (0.1ms) SAVEPOINT active_record_1
4449
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.910822"], ["updated_at", "2016-12-14 03:03:51.910822"]]
4450
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4451
+  (0.1ms) SAVEPOINT active_record_1
4452
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.912245"], ["updated_at", "2016-12-14 03:03:51.912245"]]
4453
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4454
+  (0.1ms) ROLLBACK
4455
+  (0.1ms) BEGIN
4456
+ -----------------
4457
+ MoneyTest: test_-
4458
+ -----------------
4459
+  (0.1ms) SAVEPOINT active_record_1
4460
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.914602"], ["updated_at", "2016-12-14 03:03:51.914602"]]
4461
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4462
+  (0.1ms) SAVEPOINT active_record_1
4463
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.916005"], ["updated_at", "2016-12-14 03:03:51.916005"]]
4464
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4465
+  (0.1ms) ROLLBACK
4466
+  (0.1ms) BEGIN
4467
+ -------------------------
4468
+ MoneyTest: test_remainder
4469
+ -------------------------
4470
+  (0.1ms) SAVEPOINT active_record_1
4471
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.918510"], ["updated_at", "2016-12-14 03:03:51.918510"]]
4472
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4473
+  (0.1ms) SAVEPOINT active_record_1
4474
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.920202"], ["updated_at", "2016-12-14 03:03:51.920202"]]
4475
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4476
+  (0.1ms) ROLLBACK
4477
+  (0.1ms) BEGIN
4478
+ ---------------------------
4479
+ MoneyTest: test_exchange_to
4480
+ ---------------------------
4481
+  (0.1ms) SAVEPOINT active_record_1
4482
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.922353"], ["updated_at", "2016-12-14 03:03:51.922353"]]
4483
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4484
+  (0.1ms) SAVEPOINT active_record_1
4485
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.923587"], ["updated_at", "2016-12-14 03:03:51.923587"]]
4486
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4487
+  (0.1ms) ROLLBACK
4488
+  (0.1ms) BEGIN
4489
+ ---------------------
4490
+ MoneyTest: test_zero?
4491
+ ---------------------
4492
+  (0.1ms) SAVEPOINT active_record_1
4493
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.925760"], ["updated_at", "2016-12-14 03:03:51.925760"]]
4494
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4495
+  (0.1ms) SAVEPOINT active_record_1
4496
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.927390"], ["updated_at", "2016-12-14 03:03:51.927390"]]
4497
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4498
+  (0.1ms) ROLLBACK
4499
+  (0.1ms) BEGIN
4500
+ -----------------
4501
+ MoneyTest: test_*
4502
+ -----------------
4503
+  (0.1ms) SAVEPOINT active_record_1
4504
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.929379"], ["updated_at", "2016-12-14 03:03:51.929379"]]
4505
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4506
+  (0.1ms) SAVEPOINT active_record_1
4507
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.930526"], ["updated_at", "2016-12-14 03:03:51.930526"]]
4508
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4509
+  (0.1ms) ROLLBACK
4510
+  (0.1ms) BEGIN
4511
+ ------------------
4512
+ MoneyTest: test_-@
4513
+ ------------------
4514
+  (0.1ms) SAVEPOINT active_record_1
4515
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.932618"], ["updated_at", "2016-12-14 03:03:51.932618"]]
4516
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4517
+  (0.1ms) SAVEPOINT active_record_1
4518
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.933963"], ["updated_at", "2016-12-14 03:03:51.933963"]]
4519
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4520
+  (0.1ms) ROLLBACK
4521
+  (0.1ms) BEGIN
4522
+ ------------------------
4523
+ MoneyTest: test_nonzero?
4524
+ ------------------------
4525
+  (0.1ms) SAVEPOINT active_record_1
4526
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.936576"], ["updated_at", "2016-12-14 03:03:51.936576"]]
4527
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4528
+  (0.1ms) SAVEPOINT active_record_1
4529
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.938111"], ["updated_at", "2016-12-14 03:03:51.938111"]]
4530
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4531
+  (0.1ms) ROLLBACK
4532
+  (0.1ms) BEGIN
4533
+ --------------------
4534
+ MoneyTest: test_to_s
4535
+ --------------------
4536
+  (0.1ms) SAVEPOINT active_record_1
4537
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.940121"], ["updated_at", "2016-12-14 03:03:51.940121"]]
4538
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4539
+  (0.1ms) SAVEPOINT active_record_1
4540
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.941339"], ["updated_at", "2016-12-14 03:03:51.941339"]]
4541
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4542
+  (0.2ms) ROLLBACK
4543
+  (0.1ms) BEGIN
4544
+ -----------------------------------
4545
+ MoneyTest: test_to_json_and_as_json
4546
+ -----------------------------------
4547
+  (0.1ms) SAVEPOINT active_record_1
4548
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.963856"], ["updated_at", "2016-12-14 03:03:51.963856"]]
4549
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4550
+  (0.1ms) SAVEPOINT active_record_1
4551
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.965634"], ["updated_at", "2016-12-14 03:03:51.965634"]]
4552
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4553
+  (0.1ms) ROLLBACK
4554
+  (0.2ms) BEGIN
4555
+ -------------------
4556
+ MoneyTest: test_===
4557
+ -------------------
4558
+  (0.1ms) SAVEPOINT active_record_1
4559
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.968330"], ["updated_at", "2016-12-14 03:03:51.968330"]]
4560
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4561
+  (0.1ms) SAVEPOINT active_record_1
4562
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.970113"], ["updated_at", "2016-12-14 03:03:51.970113"]]
4563
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4564
+  (0.1ms) ROLLBACK
4565
+  (0.1ms) BEGIN
4566
+ ----------------------
4567
+ MoneyTest: test_divmod
4568
+ ----------------------
4569
+  (0.1ms) SAVEPOINT active_record_1
4570
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.972873"], ["updated_at", "2016-12-14 03:03:51.972873"]]
4571
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4572
+  (0.1ms) SAVEPOINT active_record_1
4573
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.974213"], ["updated_at", "2016-12-14 03:03:51.974213"]]
4574
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4575
+  (0.1ms) ROLLBACK
4576
+  (0.1ms) BEGIN
4577
+ -------------------------
4578
+ MoneyTest: test_positive?
4579
+ -------------------------
4580
+  (0.1ms) SAVEPOINT active_record_1
4581
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.976452"], ["updated_at", "2016-12-14 03:03:51.976452"]]
4582
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4583
+  (0.1ms) SAVEPOINT active_record_1
4584
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.978036"], ["updated_at", "2016-12-14 03:03:51.978036"]]
4585
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4586
+  (0.1ms) ROLLBACK
4587
+  (0.1ms) BEGIN
4588
+ -------------------------
4589
+ MoneyTest: test_negative?
4590
+ -------------------------
4591
+  (0.1ms) SAVEPOINT active_record_1
4592
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.980273"], ["updated_at", "2016-12-14 03:03:51.980273"]]
4593
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4594
+  (0.1ms) SAVEPOINT active_record_1
4595
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.981949"], ["updated_at", "2016-12-14 03:03:51.981949"]]
4596
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4597
+  (0.1ms) ROLLBACK
4598
+  (0.1ms) BEGIN
4599
+ ----------------------
4600
+ RateTest: test_retries
4601
+ ----------------------
4602
+  (0.1ms) ROLLBACK
4603
+  (0.1ms) BEGIN
4604
+ --------------------
4605
+ RateTest: test_yahoo
4606
+ --------------------
4607
+  (0.1ms) ROLLBACK
4608
+  (0.1ms) BEGIN
4609
+ ------------------------
4610
+ RecordTest: test_helpers
4611
+ ------------------------
4612
+  (0.1ms) SAVEPOINT active_record_1
4613
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.989725"], ["updated_at", "2016-12-14 03:03:51.989725"]]
4614
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4615
+  (0.1ms) SAVEPOINT active_record_1
4616
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:51.991218"], ["updated_at", "2016-12-14 03:03:51.991218"]]
4617
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4618
+  (0.1ms) ROLLBACK
4619
+  (0.1ms) BEGIN
4620
+ ---------------------------
4621
+ RecordTest: test_persistent
4622
+ ---------------------------
4623
+  (0.1ms) SAVEPOINT active_record_1
4624
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:51.998823"], ["updated_at", "2016-12-14 03:03:51.998823"]]
4625
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4626
+  (0.1ms) SAVEPOINT active_record_1
4627
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:52.000351"], ["updated_at", "2016-12-14 03:03:52.000351"]]
4628
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4629
+  (0.2ms) SAVEPOINT active_record_1
4630
+ SQL (1.8ms) INSERT INTO "plans" ("monthly_price", "annually_price", "currency", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["monthly_price", "20.0"], ["annually_price", "200.0"], ["currency", "UYU"], ["created_at", "2016-12-14 03:03:52.007810"], ["updated_at", "2016-12-14 03:03:52.007810"]]
4631
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4632
+  (0.1ms) SAVEPOINT active_record_1
4633
+ SQL (0.3ms) UPDATE "plans" SET "monthly_price" = $1, "updated_at" = $2 WHERE "plans"."id" = $3 [["monthly_price", "100.0"], ["updated_at", "2016-12-14 03:03:52.012211"], ["id", 1]]
4634
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4635
+  (0.1ms) SAVEPOINT active_record_1
4636
+ SQL (1.8ms) INSERT INTO "products" ("price", "price_currency", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["price", "15.0"], ["price_currency", "UYU"], ["created_at", "2016-12-14 03:03:52.017835"], ["updated_at", "2016-12-14 03:03:52.017835"]]
4637
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4638
+  (0.1ms) SAVEPOINT active_record_1
4639
+ SQL (0.3ms) UPDATE "products" SET "price" = $1, "price_currency" = $2, "updated_at" = $3 WHERE "products"."id" = $4 [["price", "5.0"], ["price_currency", "USD"], ["updated_at", "2016-12-14 03:03:52.021513"], ["id", 1]]
4640
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4641
+  (0.1ms) ROLLBACK
4642
+  (0.1ms) BEGIN
4643
+ ---------------------------
4644
+ RecordTest: test_validators
4645
+ ---------------------------
4646
+  (0.1ms) SAVEPOINT active_record_1
4647
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:52.024599"], ["updated_at", "2016-12-14 03:03:52.024599"]]
4648
+  (0.2ms) RELEASE SAVEPOINT active_record_1
4649
+  (0.1ms) SAVEPOINT active_record_1
4650
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:52.026550"], ["updated_at", "2016-12-14 03:03:52.026550"]]
4651
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4652
+  (0.2ms) ROLLBACK
4653
+  (0.1ms) BEGIN
4654
+ ---------------------------------
4655
+ RecordTest: test_default_currency
4656
+ ---------------------------------
4657
+  (0.1ms) SAVEPOINT active_record_1
4658
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "20.0"], ["created_at", "2016-12-14 03:03:52.030778"], ["updated_at", "2016-12-14 03:03:52.030778"]]
4659
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4660
+  (0.1ms) SAVEPOINT active_record_1
4661
+ SQL (0.1ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.05"], ["created_at", "2016-12-14 03:03:52.032221"], ["updated_at", "2016-12-14 03:03:52.032221"]]
4662
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4663
+  (0.1ms) ROLLBACK
4664
+  (0.1ms) BEGIN
4665
+ ---------------------------
4666
+ TaskTest: test_update_rates
4667
+ ---------------------------
4668
+  (0.2ms) SAVEPOINT active_record_1
4669
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", "29.32"], ["created_at", "2016-12-14 03:03:52.060151"], ["updated_at", "2016-12-14 03:03:52.060151"]]
4670
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4671
+  (0.1ms) SAVEPOINT active_record_1
4672
+ SQL (0.2ms) INSERT INTO "exchanges" ("service", "from", "to", "rate", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", "0.0341"], ["created_at", "2016-12-14 03:03:52.062103"], ["updated_at", "2016-12-14 03:03:52.062103"]]
4673
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4674
+  (0.2ms) SELECT COUNT(*) FROM "exchanges"
4675
+ Economy::Exchange Exists (0.3ms) SELECT 1 AS one FROM "exchanges" WHERE "exchanges"."service" = $1 AND "exchanges"."from" = $2 AND "exchanges"."to" = $3 AND "exchanges"."rate" = $4 LIMIT 1 [["service", "Yahoo"], ["from", "USD"], ["to", "UYU"], ["rate", 29.32]]
4676
+ Economy::Exchange Exists (0.2ms) SELECT 1 AS one FROM "exchanges" WHERE "exchanges"."service" = $1 AND "exchanges"."from" = $2 AND "exchanges"."to" = $3 AND "exchanges"."rate" = $4 LIMIT 1 [["service", "Yahoo"], ["from", "UYU"], ["to", "USD"], ["rate", 0.0341]]
4677
+  (0.1ms) ROLLBACK
4678
+  (0.1ms) BEGIN
4679
+ ---------------------------
4680
+ GeneratorTest: test_install
4681
+ ---------------------------
4682
+  (0.2ms) ROLLBACK
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: economy
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.2.0
4
+ version: 4.0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - mmontossi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-12 00:00:00.000000000 Z
11
+ date: 2016-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails