uphold 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rubocop.yml +32 -0
  4. data/.travis.yml +13 -0
  5. data/Gemfile +10 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +335 -0
  8. data/Rakefile +14 -0
  9. data/lib/uphold/api/auth_token.rb +17 -0
  10. data/lib/uphold/api/card.rb +36 -0
  11. data/lib/uphold/api/contact.rb +34 -0
  12. data/lib/uphold/api/endpoints.rb +26 -0
  13. data/lib/uphold/api/private_transaction.rb +58 -0
  14. data/lib/uphold/api/public_transaction.rb +23 -0
  15. data/lib/uphold/api/ticker.rb +23 -0
  16. data/lib/uphold/api/transparency.rb +15 -0
  17. data/lib/uphold/api/user.rb +23 -0
  18. data/lib/uphold/api.rb +22 -0
  19. data/lib/uphold/client.rb +14 -0
  20. data/lib/uphold/entities/asset.rb +9 -0
  21. data/lib/uphold/entities/auth_token.rb +9 -0
  22. data/lib/uphold/entities/base_entity.rb +27 -0
  23. data/lib/uphold/entities/card.rb +15 -0
  24. data/lib/uphold/entities/contact.rb +13 -0
  25. data/lib/uphold/entities/error.rb +8 -0
  26. data/lib/uphold/entities/ledger_entry.rb +10 -0
  27. data/lib/uphold/entities/oauth_error.rb +9 -0
  28. data/lib/uphold/entities/phone.rb +12 -0
  29. data/lib/uphold/entities/ticker.rb +10 -0
  30. data/lib/uphold/entities/transaction.rb +17 -0
  31. data/lib/uphold/entities/user.rb +18 -0
  32. data/lib/uphold/helpers.rb +23 -0
  33. data/lib/uphold/options.rb +39 -0
  34. data/lib/uphold/pagination.rb +9 -0
  35. data/lib/uphold/request.rb +70 -0
  36. data/lib/uphold/request_data.rb +7 -0
  37. data/lib/uphold/version.rb +3 -0
  38. data/lib/uphold.rb +46 -0
  39. data/spec/fixtures/vcr_cassettes/ledger.yml +56 -0
  40. data/spec/fixtures/vcr_cassettes/me/card.yml +61 -0
  41. data/spec/fixtures/vcr_cassettes/me/cards.yml +67 -0
  42. data/spec/fixtures/vcr_cassettes/me/contact.yml +61 -0
  43. data/spec/fixtures/vcr_cassettes/me/contacts.yml +61 -0
  44. data/spec/fixtures/vcr_cassettes/me/created_card.yml +61 -0
  45. data/spec/fixtures/vcr_cassettes/me/created_contact.yml +61 -0
  46. data/spec/fixtures/vcr_cassettes/me/phones.yml +61 -0
  47. data/spec/fixtures/vcr_cassettes/me/transactions/cancel.yml +61 -0
  48. data/spec/fixtures/vcr_cassettes/me/transactions/commit.yml +62 -0
  49. data/spec/fixtures/vcr_cassettes/me/transactions/create.yml +61 -0
  50. data/spec/fixtures/vcr_cassettes/me/transactions/create_waiting_cancel.yml +118 -0
  51. data/spec/fixtures/vcr_cassettes/me/transactions/create_waiting_resend.yml +118 -0
  52. data/spec/fixtures/vcr_cassettes/me/transactions/resend.yml +61 -0
  53. data/spec/fixtures/vcr_cassettes/me.yml +185 -0
  54. data/spec/fixtures/vcr_cassettes/pats.yml +61 -0
  55. data/spec/fixtures/vcr_cassettes/reserve/transaction.yml +60 -0
  56. data/spec/fixtures/vcr_cassettes/reserve/transactions.yml +60 -0
  57. data/spec/fixtures/vcr_cassettes/tickers.yml +60 -0
  58. data/spec/fixtures/vcr_cassettes/transparency.yml +60 -0
  59. data/spec/integration/api/auth_token_spec.rb +20 -0
  60. data/spec/integration/api/card_spec.rb +47 -0
  61. data/spec/integration/api/contact_spec.rb +53 -0
  62. data/spec/integration/api/private_transactions_spec.rb +74 -0
  63. data/spec/integration/api/public_transaction_spec.rb +35 -0
  64. data/spec/integration/api/ticker_spec.rb +21 -0
  65. data/spec/integration/api/transparency_spec.rb +33 -0
  66. data/spec/integration/api/user_spec.rb +32 -0
  67. data/spec/spec_helper.rb +26 -0
  68. data/spec/support/vcr.rb +8 -0
  69. data/spec/support/webmock.rb +11 -0
  70. data/spec/unit/api/auth_spec.rb +21 -0
  71. data/spec/unit/api/card_spec.rb +47 -0
  72. data/spec/unit/api/contact_spec.rb +53 -0
  73. data/spec/unit/api/private_transaction_spec.rb +114 -0
  74. data/spec/unit/api/public_transaction_spec.rb +34 -0
  75. data/spec/unit/api/ticker_spec.rb +34 -0
  76. data/spec/unit/api/transparency_spec.rb +33 -0
  77. data/spec/unit/api/user_spec.rb +33 -0
  78. data/spec/unit/client_spec.rb +33 -0
  79. data/spec/unit/entities/base_entity_spec.rb +36 -0
  80. data/spec/unit/helper_spec.rb +37 -0
  81. data/spec/unit/request_spec.rb +94 -0
  82. data/uphold.gemspec +30 -0
  83. metadata +296 -0
@@ -0,0 +1,118 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.uphold.com/v0/me/cards/a4feff08-2977-40f8-a339-4f546ae5c7e2/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: card_id=a4feff08-2977-40f8-a339-4f546ae5c7e2&denomination[currency]=BTC&denomination[amount]=0.0001&destination=non-user%40example.com
9
+ headers:
10
+ Authorization:
11
+ - Bearer <UPHOLD_AUTH_TOKEN>
12
+ response:
13
+ status:
14
+ code: 202
15
+ message: Accepted
16
+ headers:
17
+ Server:
18
+ - cloudflare-nginx
19
+ Date:
20
+ - Wed, 28 Jan 2015 13:18:19 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Content-Length:
24
+ - '666'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=d0c036385bf8100a24d7290d0a3cc2eaa1422451099; expires=Thu, 28-Jan-16
29
+ 13:18:19 GMT; path=/; domain=.uphold.com; HttpOnly
30
+ X-Content-Security-Policy:
31
+ - default-src "none"
32
+ Content-Security-Policy:
33
+ - default-src "none"
34
+ X-Webkit-Csp:
35
+ - default-src "none"
36
+ Strict-Transport-Security:
37
+ - max-age=31536000
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ X-Frame-Options:
43
+ - DENY
44
+ X-Uphold-Request-Id:
45
+ - 8e801f74-94db-4e19-b2f9-08aba033d494
46
+ X-Ratelimit-Limit:
47
+ - '300'
48
+ X-Ratelimit-Remaining:
49
+ - '288'
50
+ X-Ratelimit-Reset:
51
+ - '1422451344'
52
+ Cf-Ray:
53
+ - 1afd79aa819b0dc9-MAD
54
+ body:
55
+ encoding: UTF-8
56
+ string: '{"id":"7125d576-9a48-4631-9ef4-d281620bb2a6","type":"transfer","denomination":{"amount":"0.0001","currency":"BTC","rate":"1.00","pair":"BTCBTC"},"origin":{"base":"0.0001","commission":"0.00","fee":"0.00","amount":"0.0001","CardId":"a4feff08-2977-40f8-a339-4f546ae5c7e2","currency":"BTC","description":"Luis
57
+ Ferreira","rate":"1.00","sources":[],"type":"card","username":"zamith"},"destination":{"base":"0.0001","commission":"0.00","fee":"0.00","amount":"0.0001","currency":"BTC","description":"non-user@example.com","rate":"1.00","type":"email"},"status":"pending","params":{"type":"invite","pair":"BTCBTC","margin":"0.00","rate":"1.00","currency":"BTC","ttl":30000}}'
58
+ http_version:
59
+ recorded_at: Wed, 28 Jan 2015 13:18:21 GMT
60
+ - request:
61
+ method: post
62
+ uri: https://api.uphold.com/v0/me/cards/a4feff08-2977-40f8-a339-4f546ae5c7e2/transactions/7125d576-9a48-4631-9ef4-d281620bb2a6/commit
63
+ body:
64
+ encoding: UTF-8
65
+ string: ''
66
+ headers:
67
+ Authorization:
68
+ - Bearer <UPHOLD_AUTH_TOKEN>
69
+ response:
70
+ status:
71
+ code: 200
72
+ message: OK
73
+ headers:
74
+ Server:
75
+ - cloudflare-nginx
76
+ Date:
77
+ - Wed, 28 Jan 2015 13:18:20 GMT
78
+ Content-Type:
79
+ - application/json; charset=utf-8
80
+ Content-Length:
81
+ - '800'
82
+ Connection:
83
+ - keep-alive
84
+ Set-Cookie:
85
+ - __cfduid=dea767ae8a8d99cfb760debf6568d66a01422451099; expires=Thu, 28-Jan-16
86
+ 13:18:19 GMT; path=/; domain=.uphold.com; HttpOnly
87
+ X-Content-Security-Policy:
88
+ - default-src "none"
89
+ Content-Security-Policy:
90
+ - default-src "none"
91
+ X-Webkit-Csp:
92
+ - default-src "none"
93
+ Strict-Transport-Security:
94
+ - max-age=31536000
95
+ X-Xss-Protection:
96
+ - 1; mode=block
97
+ X-Content-Type-Options:
98
+ - nosniff
99
+ - nosniff
100
+ X-Frame-Options:
101
+ - DENY
102
+ X-Uphold-Request-Id:
103
+ - 6b143233-16bb-4369-9b2d-98becfddba2a
104
+ X-Ratelimit-Limit:
105
+ - '300'
106
+ X-Ratelimit-Remaining:
107
+ - '287'
108
+ X-Ratelimit-Reset:
109
+ - '1422451344'
110
+ Cf-Ray:
111
+ - 1afd79ac94880ded-MAD
112
+ body:
113
+ encoding: UTF-8
114
+ string: '{"id":"7125d576-9a48-4631-9ef4-d281620bb2a6","type":"transfer","message":null,"denomination":{"pair":"BTCBTC","rate":"1.00","amount":"0.0001","currency":"BTC"},"origin":{"base":"0.0001","commission":"0.00","fee":"0.00","amount":"0.0001","CardId":"a4feff08-2977-40f8-a339-4f546ae5c7e2","currency":"BTC","description":"Luis
115
+ Ferreira","rate":"1.00","sources":[{"id":"e6615095-8a90-483a-b58b-c46391308a53","amount":"0.0001"}],"type":"card","username":"zamith"},"destination":{"base":"0.0001","commission":"0.00","fee":"0.00","amount":"0.0001","currency":"BTC","description":"non-user@example.com","rate":"1.00","type":"email"},"status":"waiting","params":{"type":"invite","pair":"BTCBTC","margin":"0.00","rate":"1.00","currency":"BTC","progress":"0","ttl":"30000"},"createdAt":"2015-01-28T13:18:20.192Z"}'
116
+ http_version:
117
+ recorded_at: Wed, 28 Jan 2015 13:18:22 GMT
118
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.uphold.com/v0/me/cards/a4feff08-2977-40f8-a339-4f546ae5c7e2/transactions/7125d576-9a48-4631-9ef4-d281620bb2a6/resend
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <UPHOLD_AUTH_TOKEN>
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - cloudflare-nginx
19
+ Date:
20
+ - Wed, 28 Jan 2015 13:18:20 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Content-Length:
24
+ - '800'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=d2f261618b6f09f46ef1540005dcf6d6c1422451100; expires=Thu, 28-Jan-16
29
+ 13:18:20 GMT; path=/; domain=.uphold.com; HttpOnly
30
+ X-Content-Security-Policy:
31
+ - default-src "none"
32
+ Content-Security-Policy:
33
+ - default-src "none"
34
+ X-Webkit-Csp:
35
+ - default-src "none"
36
+ Strict-Transport-Security:
37
+ - max-age=31536000
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - DENY
45
+ X-Uphold-Request-Id:
46
+ - 78dc9659-eabe-4237-a829-20893cde420b
47
+ X-Ratelimit-Limit:
48
+ - '300'
49
+ X-Ratelimit-Remaining:
50
+ - '286'
51
+ X-Ratelimit-Reset:
52
+ - '1422451344'
53
+ Cf-Ray:
54
+ - 1afd79b283450dc3-MAD
55
+ body:
56
+ encoding: UTF-8
57
+ string: '{"id":"7125d576-9a48-4631-9ef4-d281620bb2a6","type":"transfer","message":null,"denomination":{"pair":"BTCBTC","rate":"1.00","amount":"0.0001","currency":"BTC"},"origin":{"base":"0.0001","commission":"0.00","fee":"0.00","amount":"0.0001","CardId":"a4feff08-2977-40f8-a339-4f546ae5c7e2","currency":"BTC","description":"Luis
58
+ Ferreira","rate":"1.00","sources":[{"id":"e6615095-8a90-483a-b58b-c46391308a53","amount":"0.0001"}],"type":"card","username":"zamith"},"destination":{"base":"0.0001","commission":"0.00","fee":"0.00","amount":"0.0001","currency":"BTC","description":"non-user@example.com","rate":"1.00","type":"email"},"status":"waiting","params":{"type":"invite","pair":"BTCBTC","margin":"0.00","rate":"1.00","currency":"BTC","progress":"0","ttl":"30000"},"createdAt":"2015-01-28T13:18:20.192Z"}'
59
+ http_version:
60
+ recorded_at: Wed, 28 Jan 2015 13:18:22 GMT
61
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,185 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.uphold.com/v0/me
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <UPHOLD_AUTH_TOKEN>
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - cloudflare-nginx
19
+ Date:
20
+ - Tue, 27 Jan 2015 13:54:02 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Content-Length:
24
+ - '5609'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=dca89ea1c8078c370d09da88a319cee071422366842; expires=Wed, 27-Jan-16
29
+ 13:54:02 GMT; path=/; domain=.uphold.com; HttpOnly
30
+ X-Content-Security-Policy:
31
+ - default-src "none"
32
+ Content-Security-Policy:
33
+ - default-src "none"
34
+ X-Webkit-Csp:
35
+ - default-src "none"
36
+ Strict-Transport-Security:
37
+ - max-age=31536000
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - DENY
45
+ X-Uphold-Request-Id:
46
+ - 14229d9a-c52a-47f7-9219-f39e9dc5af42
47
+ X-Ratelimit-Limit:
48
+ - '300'
49
+ X-Ratelimit-Remaining:
50
+ - '299'
51
+ X-Ratelimit-Reset:
52
+ - '1422367142'
53
+ Cf-Ray:
54
+ - 1af5709bfcb70ded-MAD
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: !binary |-
58
+ eyJ1c2VybmFtZSI6Im1wYWxoYXMiLCJlbWFpbCI6Im1wYWxoYXNAZ3JvdXBi
59
+ dWRkaWVzLmNvbSIsImZpcnN0TmFtZSI6Ik1pZ3VlbCIsImxhc3ROYW1lIjoi
60
+ UGFsaGFzIiwibmFtZSI6Ik1pZ3VlbCBQYWxoYXMiLCJjb3VudHJ5IjoiUFQi
61
+ LCJzdGF0ZSI6bnVsbCwiY3VycmVuY2llcyI6WyJCVEMiLCJVU0QiLCJFVVIi
62
+ LCJHQlAiLCJDTlkiLCJKUFkiLCJYQVUiXSwiaWRlbnRpdHkiOnt9LCJzZXR0
63
+ aW5ncyI6eyJ0aGVtZSI6InZpbnRhZ2UiLCJjdXJyZW5jeSI6IlVTRCIsImhh
64
+ c05ld3NTdWJzY3JpcHRpb24iOiJ0cnVlIiwiaW50bCI6eyJsYW5ndWFnZSI6
65
+ eyJsb2NhbGUiOiJlbi1VUyJ9LCJkYXRlVGltZUZvcm1hdCI6eyJsb2NhbGUi
66
+ OiJlbi1VUyJ9LCJudW1iZXJGb3JtYXQiOnsibG9jYWxlIjoiZW4tVVMifX0s
67
+ Imhhc090cEVuYWJsZWQiOiJ0cnVlIn0sInBob25lcyI6W3siaWQiOiJlY2Q1
68
+ ZDVmYS1kYzkyLTRiYjktOTk0YS0xYWNhNzVkYmIxNzMiLCJ2ZXJpZmllZCI6
69
+ InRydWUiLCJwcmltYXJ5IjoidHJ1ZSIsImUxNjRNYXNrZWQiOiIrWFhYWFhY
70
+ WFhYWDQ5IiwibmF0aW9uYWxNYXNrZWQiOiJYWFggWFhYIFg0OSIsImludGVy
71
+ bmF0aW9uYWxNYXNrZWQiOiIrWFhYIFhYWCBYWFggWDQ5In1dLCJzdGF0dXMi
72
+ OnsiZW1haWwiOiJvayIsInBob25lIjoib2siLCJyZXZpZXciOiJwZW5kaW5n
73
+ Iiwidm9sdW1lIjoicnVubmluZyIsImlkZW50aXR5IjoicmVhZHkiLCJvdmVy
74
+ dmlldyI6InBlbmRpbmciLCJzY3JlZW5pbmciOiJvayIsInJlZ2lzdHJhdGlv
75
+ biI6Im9rIn0sImJhbGFuY2VzIjp7InRvdGFsIjoiNy45MiIsImN1cnJlbmNp
76
+ ZXMiOnsiQlRDIjp7ImFtb3VudCI6IjAuMDAiLCJiYWxhbmNlIjoiMC4wMCIs
77
+ ImN1cnJlbmN5IjoiVVNEIiwicmF0ZSI6IjI2NS4wNjAwMCJ9LCJVU0QiOnsi
78
+ YW1vdW50IjoiMC4wMCIsImJhbGFuY2UiOiIwLjAwIiwiY3VycmVuY3kiOiJV
79
+ U0QiLCJyYXRlIjoiMS4wMDAwMCJ9LCJHQlAiOnsiYW1vdW50IjoiMC4wMCIs
80
+ ImJhbGFuY2UiOiIwLjAwIiwiY3VycmVuY3kiOiJVU0QiLCJyYXRlIjoiMS41
81
+ MTU2MCJ9LCJDTlkiOnsiYW1vdW50IjoiMC4wMCIsImJhbGFuY2UiOiIwLjAw
82
+ IiwiY3VycmVuY3kiOiJVU0QiLCJyYXRlIjoiMC4xNjAxNSJ9LCJKUFkiOnsi
83
+ YW1vdW50IjoiMC4wMCIsImJhbGFuY2UiOiIwLjAwIiwiY3VycmVuY3kiOiJV
84
+ U0QiLCJyYXRlIjoiMC4wMDg1MSJ9LCJFVVIiOnsiYW1vdW50IjoiNi42MiIs
85
+ ImJhbGFuY2UiOiI1Ljg1IiwiY3VycmVuY3kiOiJVU0QiLCJyYXRlIjoiMS4x
86
+ MzIwNSJ9LCJYQVUiOnsiYW1vdW50IjoiMS4zMCIsImJhbGFuY2UiOiIwLjAw
87
+ MSIsImN1cnJlbmN5IjoiVVNEIiwicmF0ZSI6IjEzMDQuNTcwMjUifX19LCJj
88
+ YXJkcyI6W3siaWQiOiI4YTc3ZWQwZS1kODliLTRkNzMtYjQzOC0zM2NkNDdk
89
+ Y2FmZWYiLCJhZGRyZXNzIjp7ImJpdGNvaW4iOiIxR1hEU1JkbUV5TGJndkdh
90
+ M3pCdFcxUGZ0Z2djOFk4RldLIn0sImxhYmVsIjoiQlRDIGNhcmQiLCJjdXJy
91
+ ZW5jeSI6IkJUQyIsImJhbGFuY2UiOiIwLjAwIiwiYXZhaWxhYmxlIjoiMC4w
92
+ MCIsImxhc3RUcmFuc2FjdGlvbkF0IjpudWxsLCJwb3NpdGlvbiI6MX0seyJp
93
+ ZCI6ImQ5Y2ZiNWVjLTI3YjMtNDI3YS04ZWU2LTA4NGE3YzZiNWQyYSIsImFk
94
+ ZHJlc3MiOnsiYml0Y29pbiI6IjFKYm5zbnhFU3N1MWJWM0RWNERQQ1NOcDE1
95
+ SlE2eUNQZ0MifSwibGFiZWwiOiJVU0QgY2FyZCIsImN1cnJlbmN5IjoiVVNE
96
+ IiwiYmFsYW5jZSI6IjAuMDAiLCJhdmFpbGFibGUiOiIwLjAwIiwibGFzdFRy
97
+ YW5zYWN0aW9uQXQiOm51bGwsInBvc2l0aW9uIjoyfSx7ImlkIjoiN2ZhYWI4
98
+ ZTAtZmJiNy00YmI0LWFkMmYtOWUwZTA1ZWFiYzM1IiwiYWRkcmVzcyI6eyJi
99
+ aXRjb2luIjoiMUJzdkJKbmpYR1BDNjhtUFBtY3N2VVl6aWRHU1hnSmQ3USJ9
100
+ LCJsYWJlbCI6IkdCUCBjYXJkIiwiY3VycmVuY3kiOiJHQlAiLCJiYWxhbmNl
101
+ IjoiMC4wMCIsImF2YWlsYWJsZSI6IjAuMDAiLCJsYXN0VHJhbnNhY3Rpb25B
102
+ dCI6bnVsbCwicG9zaXRpb24iOjR9LHsiaWQiOiIxZjNlODU1Ny01YTQyLTRj
103
+ ZjktYTNmZC05MTliNjE0Yjg3ZjUiLCJhZGRyZXNzIjp7ImJpdGNvaW4iOiIx
104
+ OXhzY2tzVjlLNXRHM1BRRWtLZk5XamF4U3U4Z3pYMXBpIn0sImxhYmVsIjoi
105
+ Q05ZIGNhcmQiLCJjdXJyZW5jeSI6IkNOWSIsImJhbGFuY2UiOiIwLjAwIiwi
106
+ YXZhaWxhYmxlIjoiMC4wMCIsImxhc3RUcmFuc2FjdGlvbkF0IjpudWxsLCJw
107
+ b3NpdGlvbiI6NX0seyJpZCI6IjM1M2NjNmQ0LWIxOWYtNDJlYy1hNzMzLWJi
108
+ YWY0NWNiMDA4OSIsImFkZHJlc3MiOnsiYml0Y29pbiI6IjE5MlI5NHhnNWFj
109
+ Q0FZSnFYWVd2ZTRMNldFYUVFTVUzUlkifSwibGFiZWwiOiJKUFkgY2FyZCIs
110
+ ImN1cnJlbmN5IjoiSlBZIiwiYmFsYW5jZSI6IjAuMDAiLCJhdmFpbGFibGUi
111
+ OiIwLjAwIiwibGFzdFRyYW5zYWN0aW9uQXQiOm51bGwsInBvc2l0aW9uIjo2
112
+ fSx7ImlkIjoiMjFhNmYxMTAtYTY4NC00NjI3LWFmZGEtYmYwM2VjYTczM2Nm
113
+ IiwiYWRkcmVzcyI6eyJiaXRjb2luIjoiMU04Sk5Bb1B4S2ZRaXZYOHJ6bzN4
114
+ MXFLWDZ0Zjg1N0hHZiJ9LCJsYWJlbCI6IkVVUiBjYXJkIiwiY3VycmVuY3ki
115
+ OiJFVVIiLCJiYWxhbmNlIjoiNS44NSIsImF2YWlsYWJsZSI6IjUuODUiLCJs
116
+ YXN0VHJhbnNhY3Rpb25BdCI6IjIwMTQtMTEtMjFUMTc6Mzc6MDQuNzY5WiIs
117
+ InBvc2l0aW9uIjozfSx7ImlkIjoiMmRhYTU5ZTgtODljNS00Y2JlLTk5ZmMt
118
+ ZjY2NDM1MDI0YmNmIiwiYWRkcmVzcyI6eyJiaXRjb2luIjoiMUxiSGhWRmpM
119
+ ZUMzaFZoVzRGWHJ3dTdNTlVDa29HVHdBNSJ9LCJsYWJlbCI6IlhBVSBjYXJk
120
+ IiwiY3VycmVuY3kiOiJYQVUiLCJiYWxhbmNlIjoiMC4wMDEiLCJhdmFpbGFi
121
+ bGUiOiIwLjAwMSIsImxhc3RUcmFuc2FjdGlvbkF0IjoiMjAxNC0xMi0wMlQw
122
+ MDoyOTo0NS41MDdaIiwicG9zaXRpb24iOjd9XSwidHJhbnNhY3Rpb25zIjpb
123
+ eyJpZCI6ImQyNmE2MWNlLWE0MTQtNDQ3Mi04ZjY1LTY1OWY2M2U4ODU5NSIs
124
+ InR5cGUiOiJ0cmFuc2ZlciIsIm1lc3NhZ2UiOm51bGwsImRlbm9taW5hdGlv
125
+ biI6eyJwYWlyIjoiWEFVWEFVIiwicmF0ZSI6IjEuMDAiLCJhbW91bnQiOiIw
126
+ LjAwMSIsImN1cnJlbmN5IjoiWEFVIn0sIm9yaWdpbiI6eyJiYXNlIjoiMC4w
127
+ MDEiLCJjb21taXNzaW9uIjoiMC4wMCIsImZlZSI6IjAuMDAiLCJhbW91bnQi
128
+ OiIwLjAwMSIsImN1cnJlbmN5IjoiWEFVIiwiZGVzY3JpcHRpb24iOiJUaGUg
129
+ Qml0cmVzZXJ2ZSBUZWFtIiwicmF0ZSI6IjEuMDAiLCJzb3VyY2VzIjpbeyJp
130
+ ZCI6ImMwZjI5ZDgzLTdiY2YtNDlmZi1iOGQ5LWM0NjlhMjVhODkxYyIsImFt
131
+ b3VudCI6IjAuMDAxIn1dLCJ0eXBlIjoiY2FyZCIsInVzZXJuYW1lIjoiYml0
132
+ cmVzZXJ2ZSJ9LCJkZXN0aW5hdGlvbiI6eyJiYXNlIjoiMC4wMDEiLCJjb21t
133
+ aXNzaW9uIjoiMC4wMCIsImZlZSI6IjAuMDAiLCJhbW91bnQiOiIwLjAwMSIs
134
+ IkNhcmRJZCI6IjJkYWE1OWU4LTg5YzUtNGNiZS05OWZjLWY2NjQzNTAyNGJj
135
+ ZiIsImN1cnJlbmN5IjoiWEFVIiwiZGVzY3JpcHRpb24iOiJNaWd1ZWwgUGFs
136
+ aGFzIiwicmF0ZSI6IjEuMDAiLCJ0eXBlIjoidXNlciIsInVzZXJuYW1lIjoi
137
+ bXBhbGhhcyJ9LCJzdGF0dXMiOiJjb21wbGV0ZWQiLCJwYXJhbXMiOnsidHlw
138
+ ZSI6ImludGVybmFsIiwicGFpciI6IlhBVVhBVSIsIm1hcmdpbiI6IjAuMDAi
139
+ LCJyYXRlIjoiMS4wMCIsImN1cnJlbmN5IjoiWEFVIiwicHJvZ3Jlc3MiOiIx
140
+ IiwidHRsIjoiMzAifSwiY3JlYXRlZEF0IjoiMjAxNC0xMi0wMlQwMDoyOTo0
141
+ NS40ODRaIn0seyJpZCI6ImVmOWU4OGYxLWFiYjUtNDZmMy1hYzI1LTk3NzEz
142
+ ZmY1Yzc5OSIsInR5cGUiOiJ0cmFuc2ZlciIsIm1lc3NhZ2UiOm51bGwsImRl
143
+ bm9taW5hdGlvbiI6eyJwYWlyIjoiRVVSRVVSIiwicmF0ZSI6IjEuMDAiLCJh
144
+ bW91bnQiOiIwLjg1IiwiY3VycmVuY3kiOiJFVVIifSwib3JpZ2luIjp7ImJh
145
+ c2UiOiIwLjAwMjk3MDk0IiwiY29tbWlzc2lvbiI6IjAuMDAwMDQxNTMiLCJm
146
+ ZWUiOiIwLjAwMDEiLCJhbW91bnQiOiIwLjAwMzExMjQ3IiwiY3VycmVuY3ki
147
+ OiJCVEMiLCJkZXNjcmlwdGlvbiI6Ikpvw6NvIEp1c3RvIiwicmF0ZSI6IjAu
148
+ MDAzNDcwODEiLCJzb3VyY2VzIjpbeyJpZCI6IjFlZTkwN2YzLTRjNzAtNDU0
149
+ MS1hYzU3LTllNDkyMDllZWE3NiIsImFtb3VudCI6IjAuMDAzMTEyNDcifV0s
150
+ InR5cGUiOiJjYXJkIiwidXNlcm5hbWUiOiJqdXN0byJ9LCJkZXN0aW5hdGlv
151
+ biI6eyJiYXNlIjoiMC44NSIsImNvbW1pc3Npb24iOiIwLjAwIiwiZmVlIjoi
152
+ MC4wMCIsImFtb3VudCI6IjAuODUiLCJDYXJkSWQiOiIyMWE2ZjExMC1hNjg0
153
+ LTQ2MjctYWZkYS1iZjAzZWNhNzMzY2YiLCJjdXJyZW5jeSI6IkVVUiIsImRl
154
+ c2NyaXB0aW9uIjoiTWlndWVsIFBhbGhhcyIsInJhdGUiOiIyODguMTE4NjIi
155
+ LCJ0eXBlIjoiY2FyZCIsInVzZXJuYW1lIjoibXBhbGhhcyJ9LCJzdGF0dXMi
156
+ OiJjb21wbGV0ZWQiLCJwYXJhbXMiOnsidHlwZSI6ImludGVybmFsIiwicGFp
157
+ ciI6IkJUQ0VVUiIsIm1hcmdpbiI6IjAuOTUiLCJyYXRlIjoiMjg4LjExODYy
158
+ IiwiY3VycmVuY3kiOiJFVVIiLCJwcm9ncmVzcyI6IjEiLCJ0dGwiOiIzMCIs
159
+ InR4aWQiOiIxNTk1NGU1YzhiZjI3MzBjNzQ5MDA2ZjM1Y2Y1MDQ0MzU4MWI4
160
+ MDljMTc4ZjBlOGU1ZWFhODkwZmNhOTg2NGQwIn0sImNyZWF0ZWRBdCI6IjIw
161
+ MTQtMTEtMjFUMTc6Mzc6MDQuNzQxWiJ9LHsiaWQiOiJmYTU2NDQ0Ny00NDY5
162
+ LTRiOTYtOWI1Mi1mNmU2MzNlYmI0MmIiLCJ0eXBlIjoidHJhbnNmZXIiLCJt
163
+ ZXNzYWdlIjoiUHJlbmRhIDopIEFicmHDp28sIFJvYmVydG8iLCJkZW5vbWlu
164
+ YXRpb24iOnsicGFpciI6IkVVUkVVUiIsInJhdGUiOiIxLjAwIiwiYW1vdW50
165
+ IjoiNS4wMCIsImN1cnJlbmN5IjoiRVVSIn0sIm9yaWdpbiI6eyJiYXNlIjoi
166
+ MC4wMTY2OTc0NiIsImNvbW1pc3Npb24iOiIwLjAwMDE4MTk4IiwiZmVlIjoi
167
+ MC4wMDAxIiwiYW1vdW50IjoiMC4wMTY5Nzk0NCIsImN1cnJlbmN5IjoiQlRD
168
+ IiwiZGVzY3JpcHRpb24iOiJSb2JlcnRvIE1hY2hhZG8iLCJyYXRlIjoiMC4w
169
+ MDMzMzY4MyIsInNvdXJjZXMiOlt7ImlkIjoiMWFiMDdlNjUtZTE4My00NGJl
170
+ LWE3MDMtZWQ0ZDM4NzgwNzJiIiwiYW1vdW50IjoiMC4wMTY5Nzk0NCJ9XSwi
171
+ dHlwZSI6ImNhcmQiLCJ1c2VybmFtZSI6InJtZG1hY2hhZG8ifSwiZGVzdGlu
172
+ YXRpb24iOnsiYmFzZSI6IjUuMDAiLCJjb21taXNzaW9uIjoiMC4wMCIsImZl
173
+ ZSI6IjAuMDAiLCJhbW91bnQiOiI1LjAwIiwiQ2FyZElkIjoiMjFhNmYxMTAt
174
+ YTY4NC00NjI3LWFmZGEtYmYwM2VjYTczM2NmIiwiY3VycmVuY3kiOiJFVVIi
175
+ LCJkZXNjcmlwdGlvbiI6Ik1pZ3VlbCBQYWxoYXMiLCJyYXRlIjoiMjk5LjY4
176
+ NDIyIiwidHlwZSI6ImVtYWlsIiwidXNlcm5hbWUiOiJtcGFsaGFzIn0sInN0
177
+ YXR1cyI6ImNvbXBsZXRlZCIsInBhcmFtcyI6eyJ0eXBlIjoiaW52aXRlIiwi
178
+ cGFpciI6IkJUQ0VVUiIsIm1hcmdpbiI6IjAuOTUiLCJyYXRlIjoiMjk5LjY4
179
+ NDIyIiwiY3VycmVuY3kiOiJFVVIiLCJwcm9ncmVzcyI6IjEiLCJ0dGwiOiIz
180
+ MCIsInR4aWQiOiIyNjRhYjhiYzBmODkzYTk5MGM1YmI5MWI2YmMzNzM2OWVl
181
+ NTVkMTFkYzEzNjE5OGI2OTU3MGI2Y2YzZjZlNzRjIn0sImNyZWF0ZWRBdCI6
182
+ IjIwMTQtMTEtMTlUMTc6MzA6MjIuNDM4WiJ9XX0=
183
+ http_version:
184
+ recorded_at: Tue, 27 Jan 2015 13:54:02 GMT
185
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://example:Password123@api.uphold.com/v0/me/tokens
6
+ body:
7
+ encoding: UTF-8
8
+ string: description=Uphold%20ruby
9
+ headers:
10
+ X-Uphold-Otp:
11
+ - '5960110'
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - cloudflare-nginx
19
+ Date:
20
+ - Thu, 29 Jan 2015 16:24:12 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Content-Length:
24
+ - '106'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=d8a73547e05f107f8c796bfcc238d8f851422548652; expires=Fri, 29-Jan-16
29
+ 16:24:12 GMT; path=/; domain=.uphold.com; HttpOnly
30
+ X-Content-Security-Policy:
31
+ - default-src "none"
32
+ Content-Security-Policy:
33
+ - default-src "none"
34
+ X-Webkit-Csp:
35
+ - default-src "none"
36
+ Strict-Transport-Security:
37
+ - max-age=31536000
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - DENY
45
+ X-Uphold-Request-Id:
46
+ - 9eed6cc1-c6f3-43ac-9acf-9286a83935c7
47
+ X-Ratelimit-Limit:
48
+ - '300'
49
+ X-Ratelimit-Remaining:
50
+ - '298'
51
+ X-Ratelimit-Reset:
52
+ - '1422548935'
53
+ Cf-Ray:
54
+ - 1b06c7540a6e0ddb-MAD
55
+ body:
56
+ encoding: UTF-8
57
+ string: '{"access_token":"853d580429364a90a6e02cb1f89e257a58da9064","description":"Uphold
58
+ ruby","expires":null}'
59
+ http_version:
60
+ recorded_at: Thu, 29 Jan 2015 16:24:14 GMT
61
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,60 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.uphold.com/v0/reserve/transactions/a97bb994-6e24-4a89-b653-e0a6d0bcf634
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <UPHOLD_AUTH_TOKEN>
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - cloudflare-nginx
19
+ Date:
20
+ - Tue, 27 Jan 2015 14:00:53 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Content-Length:
24
+ - '571'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=d6efbe50b212e83fa64ee99a1bfc271891422367253; expires=Wed, 27-Jan-16
29
+ 14:00:53 GMT; path=/; domain=.uphold.com; HttpOnly
30
+ X-Content-Security-Policy:
31
+ - default-src "none"
32
+ Content-Security-Policy:
33
+ - default-src "none"
34
+ X-Webkit-Csp:
35
+ - default-src "none"
36
+ Strict-Transport-Security:
37
+ - max-age=31536000
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - DENY
45
+ X-Uphold-Request-Id:
46
+ - 23b5857c-8b25-43ee-85aa-86aaf8f001ac
47
+ X-Ratelimit-Limit:
48
+ - '300'
49
+ X-Ratelimit-Remaining:
50
+ - '299'
51
+ X-Ratelimit-Reset:
52
+ - '1422367553'
53
+ Cf-Ray:
54
+ - 1af57aa50f680ded-MAD
55
+ body:
56
+ encoding: UTF-8
57
+ string: '{"id":"a97bb994-6e24-4a89-b653-e0a6d0bcf634","type":"transfer","params":{"currency":"USD","margin":"0.00","pair":"USDUSD","rate":"1.00"},"denomination":{"amount":"1.00","currency":"USD"},"origin":{"amount":"1.00","base":"1.00","commission":"0.00","currency":"USD","fee":"0.00","rate":"1.00","sources":[{"id":"35325c99-edeb-4625-9cd8-f56d4783c352","amount":"1"}]},"destination":{"amount":"1.00","base":"1.00","commission":"0.00","currency":"USD","fee":"0.00","rate":"1.00"},"status":"cancelled","quotedAt":"2014-08-27T00:01:08.124Z","createdAt":"2014-08-27T00:01:11.616Z"}'
58
+ http_version:
59
+ recorded_at: Tue, 27 Jan 2015 14:00:53 GMT
60
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,60 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.uphold.com/v0/reserve/transactions
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <UPHOLD_AUTH_TOKEN>
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - cloudflare-nginx
19
+ Date:
20
+ - Tue, 27 Jan 2015 14:00:59 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Content-Length:
24
+ - '8185851'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=dc1bebcfd7edbf1910d2b0ae3b09dada91422367254; expires=Wed, 27-Jan-16
29
+ 14:00:54 GMT; path=/; domain=.uphold.com; HttpOnly
30
+ X-Content-Security-Policy:
31
+ - default-src "none"
32
+ Content-Security-Policy:
33
+ - default-src "none"
34
+ X-Webkit-Csp:
35
+ - default-src "none"
36
+ Strict-Transport-Security:
37
+ - max-age=31536000
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - DENY
45
+ X-Uphold-Request-Id:
46
+ - 5f2d0bc0-fc9c-4fd5-b74b-a266c29c8e06
47
+ X-Ratelimit-Limit:
48
+ - '300'
49
+ X-Ratelimit-Remaining:
50
+ - '298'
51
+ X-Ratelimit-Reset:
52
+ - '1422367553'
53
+ Cf-Ray:
54
+ - 1af57aaa32a20db7-MAD
55
+ body:
56
+ encoding: UTF-8
57
+ string: '[{"id":"7a61a358-cced-4dc2-975f-dff3a6ec4c42","type":"withdrawal","params":{"currency":"USD","margin":"0.45","pair":"BTCUSD","rate":"265.27500","txid":"3014afd3b86eb5c7dd12fdfe2f37f2565c9075c8d79b80c03c7343d254405191"},"denomination":{"amount":"9.00","currency":"USD"},"origin":{"amount":"9.00","base":"9.00","commission":"0.00","currency":"USD","fee":"0.00","rate":"265.27500","sources":[{"id":"46d9dcf9-877b-47fd-b562-43936504adea","amount":"9.00"}]},"destination":{"address":"1snowqQP5VmZgU47i5AWwz9fsgHQg94Fa","amount":"0.03367437","base":"0.03392705","commission":"0.00015268","currency":"BTC","fee":"0.0001","rate":"0.00376967"},"status":"completed","quotedAt":"2015-01-27T13:54:43.000Z","createdAt":"2015-01-27T13:54:52.753Z"},{"id":"507bd05d-c1b1-4f61-bfc7-7f82a87c1240","type":"transfer","params":{"currency":"USD","margin":"0.45","pair":"BTCUSD","rate":"264.56500","txid":"95c074d007f129fae7e487fdac92aeb96c9336f35af05212708204c63152d77c"},"denomination":{"amount":"0.36757375","currency":"BTC"},"origin":{"amount":"0.36757375","base":"0.36757375","commission":"0.00","currency":"BTC","fee":"0.00","rate":"0.00378","sources":[{"id":"9aa2b6b3-2a4d-4913-998d-bfc913ea532a","amount":"0.17255358"},{"id":"45ff4cc6-86b5-4440-902f-9be5f26b5bed","amount":"0.19502017"}]},"destination":{"amount":"96.80","base":"97.24","commission":"0.44","currency":"USD","fee":"0.00","rate":"264.56500"},"status":"completed","quotedAt":"2015-01-27T13:52:02.384Z","createdAt":"2015-01-27T13:52:22.472Z"}]'
58
+ http_version:
59
+ recorded_at: Tue, 27 Jan 2015 14:01:03 GMT
60
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,60 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.uphold.com/v0/ticker
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <UPHOLD_AUTH_TOKEN>
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - cloudflare-nginx
19
+ Date:
20
+ - Tue, 27 Jan 2015 14:26:56 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Content-Length:
24
+ - '1179'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=d1a4a89e349c2808238a3de2f9cf953641422368815; expires=Wed, 27-Jan-16
29
+ 14:26:55 GMT; path=/; domain=.uphold.com; HttpOnly
30
+ X-Content-Security-Policy:
31
+ - default-src "none"
32
+ Content-Security-Policy:
33
+ - default-src "none"
34
+ X-Webkit-Csp:
35
+ - default-src "none"
36
+ Strict-Transport-Security:
37
+ - max-age=31536000
38
+ X-Xss-Protection:
39
+ - 1; mode=block
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - DENY
45
+ X-Uphold-Request-Id:
46
+ - 6187b00e-29d9-4b5c-84ee-a00a6d1712e5
47
+ X-Ratelimit-Limit:
48
+ - '300'
49
+ X-Ratelimit-Remaining:
50
+ - '299'
51
+ X-Ratelimit-Reset:
52
+ - '1422369116'
53
+ Cf-Ray:
54
+ - 1af5a0cbfc090ded-MAD
55
+ body:
56
+ encoding: UTF-8
57
+ string: '[{"ask":"1","bid":"1","currency":"BTC","pair":"BTCBTC"},{"ask":"263.84","bid":"261.75","currency":"USD","pair":"BTCUSD"},{"ask":"1","bid":"1","currency":"CNY","pair":"CNYCNY"},{"ask":"7.0902","bid":"7.0869","currency":"CNY","pair":"EURCNY"},{"ask":"1","bid":"1","currency":"EUR","pair":"EUREUR"},{"ask":"0.7482","bid":"0.7478","currency":"GBP","pair":"EURGBP"},{"ask":"133.4504","bid":"133.3989","currency":"JPY","pair":"EURJPY"},{"ask":"1.1357","bid":"1.1353","currency":"USD","pair":"EURUSD"},{"ask":"9.4776","bid":"9.4759","currency":"CNY","pair":"GBPCNY"},{"ask":"1","bid":"1","currency":"GBP","pair":"GBPGBP"},{"ask":"178.3855","bid":"178.3677","currency":"JPY","pair":"GBPJPY"},{"ask":"1.5181","bid":"1.518","currency":"USD","pair":"GBPUSD"},{"ask":"0.0531","bid":"0.0531","currency":"CNY","pair":"JPYCNY"},{"ask":"1","bid":"1","currency":"JPY","pair":"JPYJPY"},{"ask":"6.243","bid":"6.2423","currency":"CNY","pair":"USDCNY"},{"ask":"117.505","bid":"117.501","currency":"JPY","pair":"USDJPY"},{"ask":"1","bid":"1","currency":"USD","pair":"USDUSD"},{"ask":"1315.0475","bid":"1294.093","currency":"USD","pair":"XAUUSD"},{"ask":"1","bid":"1","currency":"XAU","pair":"XAUXAU"}]'
58
+ http_version:
59
+ recorded_at: Tue, 27 Jan 2015 14:26:56 GMT
60
+ recorded_with: VCR 2.9.3