tradier 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. data/.yardopts +8 -0
  2. data/LICENSE.md +20 -0
  3. data/README.md +114 -0
  4. data/Rakefile +19 -0
  5. data/lib/tradier.rb +31 -0
  6. data/lib/tradier/account.rb +30 -0
  7. data/lib/tradier/api/accounts.rb +122 -0
  8. data/lib/tradier/api/markets.rb +113 -0
  9. data/lib/tradier/api/orders.rb +84 -0
  10. data/lib/tradier/api/utils.rb +47 -0
  11. data/lib/tradier/api/utils/account.rb +15 -0
  12. data/lib/tradier/api/utils/balance.rb +15 -0
  13. data/lib/tradier/api/utils/base.rb +46 -0
  14. data/lib/tradier/api/utils/event.rb +15 -0
  15. data/lib/tradier/api/utils/expiration.rb +19 -0
  16. data/lib/tradier/api/utils/gainloss.rb +15 -0
  17. data/lib/tradier/api/utils/history.rb +15 -0
  18. data/lib/tradier/api/utils/option_quote.rb +15 -0
  19. data/lib/tradier/api/utils/order.rb +15 -0
  20. data/lib/tradier/api/utils/position.rb +15 -0
  21. data/lib/tradier/api/utils/quote.rb +15 -0
  22. data/lib/tradier/api/utils/strike.rb +15 -0
  23. data/lib/tradier/api/utils/timesales.rb +15 -0
  24. data/lib/tradier/api/utils/watchlist.rb +15 -0
  25. data/lib/tradier/api/watchlists.rb +139 -0
  26. data/lib/tradier/balance.rb +17 -0
  27. data/lib/tradier/base.rb +76 -0
  28. data/lib/tradier/calendar.rb +23 -0
  29. data/lib/tradier/client.rb +89 -0
  30. data/lib/tradier/clock.rb +21 -0
  31. data/lib/tradier/configurable.rb +76 -0
  32. data/lib/tradier/core_ext/enumerable.rb +9 -0
  33. data/lib/tradier/default.rb +75 -0
  34. data/lib/tradier/error.rb +34 -0
  35. data/lib/tradier/error/bad_gateway.rb +11 -0
  36. data/lib/tradier/error/bad_request.rb +10 -0
  37. data/lib/tradier/error/client_error.rb +28 -0
  38. data/lib/tradier/error/configuration_error.rb +6 -0
  39. data/lib/tradier/error/decode_error.rb +9 -0
  40. data/lib/tradier/error/forbidden.rb +10 -0
  41. data/lib/tradier/error/gateway_timeout.rb +11 -0
  42. data/lib/tradier/error/internal_server_error.rb +11 -0
  43. data/lib/tradier/error/not_acceptable.rb +10 -0
  44. data/lib/tradier/error/not_found.rb +10 -0
  45. data/lib/tradier/error/raise_error.rb +31 -0
  46. data/lib/tradier/error/server_error.rb +28 -0
  47. data/lib/tradier/error/service_unavailable.rb +11 -0
  48. data/lib/tradier/error/too_many_requests.rb +12 -0
  49. data/lib/tradier/error/unauthorized.rb +10 -0
  50. data/lib/tradier/error/unprocessable_entity.rb +10 -0
  51. data/lib/tradier/event.rb +8 -0
  52. data/lib/tradier/history.rb +20 -0
  53. data/lib/tradier/option_quote.rb +37 -0
  54. data/lib/tradier/order.rb +14 -0
  55. data/lib/tradier/position.rb +7 -0
  56. data/lib/tradier/profile.rb +14 -0
  57. data/lib/tradier/quote.rb +12 -0
  58. data/lib/tradier/response/parse_json.rb +25 -0
  59. data/lib/tradier/response/raise_error.rb +31 -0
  60. data/lib/tradier/symbol.rb +147 -0
  61. data/lib/tradier/timesales.rb +11 -0
  62. data/lib/tradier/version.rb +3 -0
  63. data/lib/tradier/watchlist.rb +16 -0
  64. data/lib/tradier/watchlist_item.rb +17 -0
  65. data/spec/fixtures/account_balances.json +28 -0
  66. data/spec/fixtures/account_gainloss.json +18 -0
  67. data/spec/fixtures/account_history.json +96 -0
  68. data/spec/fixtures/account_orders.json +833 -0
  69. data/spec/fixtures/account_positions.json +22 -0
  70. data/spec/fixtures/calendar.json +400 -0
  71. data/spec/fixtures/chain.json +2972 -0
  72. data/spec/fixtures/clock.json +10 -0
  73. data/spec/fixtures/expirations.json +18 -0
  74. data/spec/fixtures/history.json +2086 -0
  75. data/spec/fixtures/option_quote.json +14 -0
  76. data/spec/fixtures/option_quotes.json +26 -0
  77. data/spec/fixtures/order.json +1 -0
  78. data/spec/fixtures/order_with_warnings.json +17 -0
  79. data/spec/fixtures/placed_order.json +6 -0
  80. data/spec/fixtures/quote.json +45 -0
  81. data/spec/fixtures/quotes.json +88 -0
  82. data/spec/fixtures/session.json +6 -0
  83. data/spec/fixtures/strikes.json +173 -0
  84. data/spec/fixtures/timesales.json +2956 -0
  85. data/spec/fixtures/user_balances.json +118 -0
  86. data/spec/fixtures/user_gainloss.json +6775 -0
  87. data/spec/fixtures/user_history.json +101 -0
  88. data/spec/fixtures/user_orders.json +57 -0
  89. data/spec/fixtures/user_positions.json +50 -0
  90. data/spec/fixtures/user_profile.json +103 -0
  91. data/spec/fixtures/watchlist.json +30 -0
  92. data/spec/fixtures/watchlist_item.json +6 -0
  93. data/spec/fixtures/watchlists.json +18 -0
  94. data/spec/spec_helper.rb +64 -0
  95. data/spec/tradier/account_spec.rb +76 -0
  96. data/spec/tradier/api/accounts_spec.rb +195 -0
  97. data/spec/tradier/api/markets_spec.rb +219 -0
  98. data/spec/tradier/api/orders_spec.rb +94 -0
  99. data/spec/tradier/api/utils/expiration_spec.rb +8 -0
  100. data/spec/tradier/api/watchlists_spec.rb +164 -0
  101. data/spec/tradier/balance_spec.rb +4 -0
  102. data/spec/tradier/base_spec.rb +11 -0
  103. data/spec/tradier/calendar_spec.rb +27 -0
  104. data/spec/tradier/client_spec.rb +125 -0
  105. data/spec/tradier/clock_spec.rb +73 -0
  106. data/spec/tradier/error/client_error_spec.rb +22 -0
  107. data/spec/tradier/error/server_error_spec.rb +22 -0
  108. data/spec/tradier/error_spec.rb +26 -0
  109. data/spec/tradier/option_quote_spec.rb +61 -0
  110. data/spec/tradier/order_spec.rb +43 -0
  111. data/spec/tradier/position_spec.rb +4 -0
  112. data/spec/tradier/profile_spec.rb +28 -0
  113. data/spec/tradier/quote_spec.rb +29 -0
  114. data/spec/tradier/symbol_spec.rb +54 -0
  115. data/spec/tradier/watchlist_item_spec.rb +48 -0
  116. data/spec/tradier/watchlist_spec.rb +35 -0
  117. data/spec/tradier_spec.rb +105 -0
  118. data/tradier.gemspec +30 -0
  119. metadata +302 -0
metadata ADDED
@@ -0,0 +1,302 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tradier
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Steve Agalloco
9
+ - Jason Barry
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-11-08 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: faraday
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '0.8'
23
+ - - <
24
+ - !ruby/object:Gem::Version
25
+ version: '0.10'
26
+ type: :runtime
27
+ prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '0.8'
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: '0.10'
37
+ - !ruby/object:Gem::Dependency
38
+ name: faraday_middleware
39
+ requirement: !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: '0.8'
45
+ - - <
46
+ - !ruby/object:Gem::Version
47
+ version: '0.10'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '0.8'
56
+ - - <
57
+ - !ruby/object:Gem::Version
58
+ version: '0.10'
59
+ - !ruby/object:Gem::Dependency
60
+ name: celluloid
61
+ requirement: !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: bundler
77
+ requirement: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ version: '1'
91
+ description: Rubygem for interacting with the Tradier API.
92
+ email:
93
+ - steve.agalloco@gmail.com
94
+ - jay@jcbarry.com
95
+ executables: []
96
+ extensions: []
97
+ extra_rdoc_files: []
98
+ files:
99
+ - .yardopts
100
+ - LICENSE.md
101
+ - README.md
102
+ - Rakefile
103
+ - tradier.gemspec
104
+ - lib/tradier/account.rb
105
+ - lib/tradier/api/accounts.rb
106
+ - lib/tradier/api/markets.rb
107
+ - lib/tradier/api/orders.rb
108
+ - lib/tradier/api/utils/account.rb
109
+ - lib/tradier/api/utils/balance.rb
110
+ - lib/tradier/api/utils/base.rb
111
+ - lib/tradier/api/utils/event.rb
112
+ - lib/tradier/api/utils/expiration.rb
113
+ - lib/tradier/api/utils/gainloss.rb
114
+ - lib/tradier/api/utils/history.rb
115
+ - lib/tradier/api/utils/option_quote.rb
116
+ - lib/tradier/api/utils/order.rb
117
+ - lib/tradier/api/utils/position.rb
118
+ - lib/tradier/api/utils/quote.rb
119
+ - lib/tradier/api/utils/strike.rb
120
+ - lib/tradier/api/utils/timesales.rb
121
+ - lib/tradier/api/utils/watchlist.rb
122
+ - lib/tradier/api/utils.rb
123
+ - lib/tradier/api/watchlists.rb
124
+ - lib/tradier/balance.rb
125
+ - lib/tradier/base.rb
126
+ - lib/tradier/calendar.rb
127
+ - lib/tradier/client.rb
128
+ - lib/tradier/clock.rb
129
+ - lib/tradier/configurable.rb
130
+ - lib/tradier/core_ext/enumerable.rb
131
+ - lib/tradier/default.rb
132
+ - lib/tradier/error/bad_gateway.rb
133
+ - lib/tradier/error/bad_request.rb
134
+ - lib/tradier/error/client_error.rb
135
+ - lib/tradier/error/configuration_error.rb
136
+ - lib/tradier/error/decode_error.rb
137
+ - lib/tradier/error/forbidden.rb
138
+ - lib/tradier/error/gateway_timeout.rb
139
+ - lib/tradier/error/internal_server_error.rb
140
+ - lib/tradier/error/not_acceptable.rb
141
+ - lib/tradier/error/not_found.rb
142
+ - lib/tradier/error/raise_error.rb
143
+ - lib/tradier/error/server_error.rb
144
+ - lib/tradier/error/service_unavailable.rb
145
+ - lib/tradier/error/too_many_requests.rb
146
+ - lib/tradier/error/unauthorized.rb
147
+ - lib/tradier/error/unprocessable_entity.rb
148
+ - lib/tradier/error.rb
149
+ - lib/tradier/event.rb
150
+ - lib/tradier/history.rb
151
+ - lib/tradier/option_quote.rb
152
+ - lib/tradier/order.rb
153
+ - lib/tradier/position.rb
154
+ - lib/tradier/profile.rb
155
+ - lib/tradier/quote.rb
156
+ - lib/tradier/response/parse_json.rb
157
+ - lib/tradier/response/raise_error.rb
158
+ - lib/tradier/symbol.rb
159
+ - lib/tradier/timesales.rb
160
+ - lib/tradier/version.rb
161
+ - lib/tradier/watchlist.rb
162
+ - lib/tradier/watchlist_item.rb
163
+ - lib/tradier.rb
164
+ - spec/fixtures/account_balances.json
165
+ - spec/fixtures/account_gainloss.json
166
+ - spec/fixtures/account_history.json
167
+ - spec/fixtures/account_orders.json
168
+ - spec/fixtures/account_positions.json
169
+ - spec/fixtures/calendar.json
170
+ - spec/fixtures/chain.json
171
+ - spec/fixtures/clock.json
172
+ - spec/fixtures/expirations.json
173
+ - spec/fixtures/history.json
174
+ - spec/fixtures/option_quote.json
175
+ - spec/fixtures/option_quotes.json
176
+ - spec/fixtures/order.json
177
+ - spec/fixtures/order_with_warnings.json
178
+ - spec/fixtures/placed_order.json
179
+ - spec/fixtures/quote.json
180
+ - spec/fixtures/quotes.json
181
+ - spec/fixtures/session.json
182
+ - spec/fixtures/strikes.json
183
+ - spec/fixtures/timesales.json
184
+ - spec/fixtures/user_balances.json
185
+ - spec/fixtures/user_gainloss.json
186
+ - spec/fixtures/user_history.json
187
+ - spec/fixtures/user_orders.json
188
+ - spec/fixtures/user_positions.json
189
+ - spec/fixtures/user_profile.json
190
+ - spec/fixtures/watchlist.json
191
+ - spec/fixtures/watchlist_item.json
192
+ - spec/fixtures/watchlists.json
193
+ - spec/spec_helper.rb
194
+ - spec/tradier/account_spec.rb
195
+ - spec/tradier/api/accounts_spec.rb
196
+ - spec/tradier/api/markets_spec.rb
197
+ - spec/tradier/api/orders_spec.rb
198
+ - spec/tradier/api/utils/expiration_spec.rb
199
+ - spec/tradier/api/watchlists_spec.rb
200
+ - spec/tradier/balance_spec.rb
201
+ - spec/tradier/base_spec.rb
202
+ - spec/tradier/calendar_spec.rb
203
+ - spec/tradier/client_spec.rb
204
+ - spec/tradier/clock_spec.rb
205
+ - spec/tradier/error/client_error_spec.rb
206
+ - spec/tradier/error/server_error_spec.rb
207
+ - spec/tradier/error_spec.rb
208
+ - spec/tradier/option_quote_spec.rb
209
+ - spec/tradier/order_spec.rb
210
+ - spec/tradier/position_spec.rb
211
+ - spec/tradier/profile_spec.rb
212
+ - spec/tradier/quote_spec.rb
213
+ - spec/tradier/symbol_spec.rb
214
+ - spec/tradier/watchlist_item_spec.rb
215
+ - spec/tradier/watchlist_spec.rb
216
+ - spec/tradier_spec.rb
217
+ homepage: https://github.com/tradier/tradier.rb
218
+ licenses:
219
+ - MIT
220
+ post_install_message:
221
+ rdoc_options: []
222
+ require_paths:
223
+ - lib
224
+ required_ruby_version: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ segments:
231
+ - 0
232
+ hash: 1473021614660637289
233
+ required_rubygems_version: !ruby/object:Gem::Requirement
234
+ none: false
235
+ requirements:
236
+ - - ! '>='
237
+ - !ruby/object:Gem::Version
238
+ version: '0'
239
+ segments:
240
+ - 0
241
+ hash: 1473021614660637289
242
+ requirements: []
243
+ rubyforge_project:
244
+ rubygems_version: 1.8.23
245
+ signing_key:
246
+ specification_version: 3
247
+ summary: Rubygem for interacting with the Tradier API.
248
+ test_files:
249
+ - spec/fixtures/account_balances.json
250
+ - spec/fixtures/account_gainloss.json
251
+ - spec/fixtures/account_history.json
252
+ - spec/fixtures/account_orders.json
253
+ - spec/fixtures/account_positions.json
254
+ - spec/fixtures/calendar.json
255
+ - spec/fixtures/chain.json
256
+ - spec/fixtures/clock.json
257
+ - spec/fixtures/expirations.json
258
+ - spec/fixtures/history.json
259
+ - spec/fixtures/option_quote.json
260
+ - spec/fixtures/option_quotes.json
261
+ - spec/fixtures/order.json
262
+ - spec/fixtures/order_with_warnings.json
263
+ - spec/fixtures/placed_order.json
264
+ - spec/fixtures/quote.json
265
+ - spec/fixtures/quotes.json
266
+ - spec/fixtures/session.json
267
+ - spec/fixtures/strikes.json
268
+ - spec/fixtures/timesales.json
269
+ - spec/fixtures/user_balances.json
270
+ - spec/fixtures/user_gainloss.json
271
+ - spec/fixtures/user_history.json
272
+ - spec/fixtures/user_orders.json
273
+ - spec/fixtures/user_positions.json
274
+ - spec/fixtures/user_profile.json
275
+ - spec/fixtures/watchlist.json
276
+ - spec/fixtures/watchlist_item.json
277
+ - spec/fixtures/watchlists.json
278
+ - spec/spec_helper.rb
279
+ - spec/tradier/account_spec.rb
280
+ - spec/tradier/api/accounts_spec.rb
281
+ - spec/tradier/api/markets_spec.rb
282
+ - spec/tradier/api/orders_spec.rb
283
+ - spec/tradier/api/utils/expiration_spec.rb
284
+ - spec/tradier/api/watchlists_spec.rb
285
+ - spec/tradier/balance_spec.rb
286
+ - spec/tradier/base_spec.rb
287
+ - spec/tradier/calendar_spec.rb
288
+ - spec/tradier/client_spec.rb
289
+ - spec/tradier/clock_spec.rb
290
+ - spec/tradier/error/client_error_spec.rb
291
+ - spec/tradier/error/server_error_spec.rb
292
+ - spec/tradier/error_spec.rb
293
+ - spec/tradier/option_quote_spec.rb
294
+ - spec/tradier/order_spec.rb
295
+ - spec/tradier/position_spec.rb
296
+ - spec/tradier/profile_spec.rb
297
+ - spec/tradier/quote_spec.rb
298
+ - spec/tradier/symbol_spec.rb
299
+ - spec/tradier/watchlist_item_spec.rb
300
+ - spec/tradier/watchlist_spec.rb
301
+ - spec/tradier_spec.rb
302
+ has_rdoc: