tradier 0.1.0 → 0.2.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.
- checksums.yaml +7 -0
- data/lib/tradier/account.rb +25 -1
- data/lib/tradier/api/markets.rb +10 -0
- data/lib/tradier/api/utils.rb +1 -0
- data/lib/tradier/event_session.rb +12 -0
- data/lib/tradier/version.rb +1 -1
- data/lib/tradier/watchlist.rb +1 -1
- data/spec/fixtures/session.json +1 -1
- data/spec/tradier/account_spec.rb +45 -0
- data/spec/tradier/api/markets_spec.rb +17 -0
- data/tradier.gemspec +2 -2
- metadata +14 -41
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 346ff807647b7ce6473a532a3b07b2f8cd9a93aa
|
4
|
+
data.tar.gz: 9d7965d264e47a271fcc535ae3ab21637a9b2f4d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 97793ad958939977c55af6a86bccd9c4de3234d80c0cfc3d190ca942d43489e9fec0d68a69bcb046406fbe0ac6d3c337bab583bff3cabb39c68f4092ca8e18e9
|
7
|
+
data.tar.gz: 70d3317eb678a39ecac677a129a34398969e75789691b9f160f17c33a71df9a2a7f1e48c65a05a861ae452b4e7a84ac5c31ecbc05313a06a5f6e07a1ad488c1b
|
data/lib/tradier/account.rb
CHANGED
@@ -2,7 +2,7 @@ require 'tradier/base'
|
|
2
2
|
|
3
3
|
module Tradier
|
4
4
|
class Account < Tradier::Base
|
5
|
-
attr_reader :account_number, :type
|
5
|
+
attr_reader :account_number, :type, :classification
|
6
6
|
|
7
7
|
def margin?
|
8
8
|
type.downcase == 'margin'
|
@@ -26,5 +26,29 @@ module Tradier
|
|
26
26
|
def history
|
27
27
|
end
|
28
28
|
|
29
|
+
def individual_account?
|
30
|
+
classification.downcase == 'individual'
|
31
|
+
end
|
32
|
+
|
33
|
+
def joint_account?
|
34
|
+
classification.downcase == 'joint'
|
35
|
+
end
|
36
|
+
|
37
|
+
def traditional_ira?
|
38
|
+
classification.downcase == 'traditional_ira'
|
39
|
+
end
|
40
|
+
|
41
|
+
def roth_ira?
|
42
|
+
classification.downcase == 'roth_ira'
|
43
|
+
end
|
44
|
+
|
45
|
+
def rollover_ira?
|
46
|
+
classification.downcase == 'rollover_ira'
|
47
|
+
end
|
48
|
+
|
49
|
+
def ira?
|
50
|
+
traditional_ira? || roth_ira? || rollover_ira?
|
51
|
+
end
|
52
|
+
|
29
53
|
end
|
30
54
|
end
|
data/lib/tradier/api/markets.rb
CHANGED
@@ -98,6 +98,16 @@ module Tradier
|
|
98
98
|
object_from_response(Tradier::API::Utils::History, :get, '/markets/history', options).body
|
99
99
|
end
|
100
100
|
|
101
|
+
# @see http://developer.tradier.com.dev/documentation/markets/create-events-session
|
102
|
+
# @rate_limited Yes
|
103
|
+
# @authentication Requires user context
|
104
|
+
# Create a streaming session
|
105
|
+
# @return [Tradier::EventSession] An event session.
|
106
|
+
# @raise [Tradier::Error::Unauthorized] Error raised when supplied user credentials are not valid.
|
107
|
+
def markets_session(options={})
|
108
|
+
object_from_response(Tradier::EventSession, :post, '/markets/events/session', options)
|
109
|
+
end
|
110
|
+
|
101
111
|
private
|
102
112
|
|
103
113
|
def normalized_symbols(symbols)
|
data/lib/tradier/api/utils.rb
CHANGED
data/lib/tradier/version.rb
CHANGED
data/lib/tradier/watchlist.rb
CHANGED
data/spec/fixtures/session.json
CHANGED
@@ -73,4 +73,49 @@ describe Tradier::Account do
|
|
73
73
|
pending
|
74
74
|
end
|
75
75
|
end
|
76
|
+
|
77
|
+
describe '#individual_account?' do
|
78
|
+
subject { described_class.new(:classification => 'individual') }
|
79
|
+
it 'returns true when an individual account' do
|
80
|
+
expect(subject.individual_account?).to be_true
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe '#joint_account?' do
|
85
|
+
subject { described_class.new(:classification => 'joint') }
|
86
|
+
it 'returns true when an joint account' do
|
87
|
+
expect(subject.joint_account?).to be_true
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
describe '#traditional_ira?' do
|
92
|
+
subject { described_class.new(:classification => 'traditional_ira') }
|
93
|
+
it 'returns true when a traditional_ira account' do
|
94
|
+
expect(subject.traditional_ira?).to be_true
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
describe '#rollover_ira?' do
|
99
|
+
subject { described_class.new(:classification => 'rollover_ira') }
|
100
|
+
it 'returns true when a rollover_ira account' do
|
101
|
+
expect(subject.rollover_ira?).to be_true
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
describe '#roth_ira?' do
|
106
|
+
subject { described_class.new(:classification => 'roth_ira') }
|
107
|
+
it 'returns true when a roth_ira account' do
|
108
|
+
expect(subject.roth_ira?).to be_true
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe '#ira?' do
|
113
|
+
%w(traditional_ira roth_ira rollover_ira).each do |ira_type|
|
114
|
+
subject { described_class.new(:classification => ira_type) }
|
115
|
+
it "returns true when a #{ira_type} account" do
|
116
|
+
expect(subject.ira?).to be_true
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
76
121
|
end
|
@@ -216,4 +216,21 @@ describe Tradier::API::Markets do
|
|
216
216
|
expect(history.first).to be_a Tradier::History
|
217
217
|
end
|
218
218
|
end
|
219
|
+
|
220
|
+
describe '#markets_session' do
|
221
|
+
before do
|
222
|
+
stub_post("/v1/markets/events/session").
|
223
|
+
to_return(:body => fixture("session.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
224
|
+
end
|
225
|
+
|
226
|
+
it "requests the correct resource" do
|
227
|
+
@client.markets_session
|
228
|
+
expect(a_post("/v1/markets/events/session")).to have_been_made
|
229
|
+
end
|
230
|
+
|
231
|
+
it "returns an array of Tradier::EventSession objects" do
|
232
|
+
session = @client.markets_session
|
233
|
+
expect(session).to be_a Tradier::EventSession
|
234
|
+
end
|
235
|
+
end
|
219
236
|
end
|
data/tradier.gemspec
CHANGED
@@ -15,8 +15,8 @@ Gem::Specification.new do |gem|
|
|
15
15
|
|
16
16
|
gem.license = 'MIT'
|
17
17
|
|
18
|
-
gem.add_dependency 'faraday',
|
19
|
-
gem.add_dependency 'faraday_middleware'
|
18
|
+
gem.add_dependency 'faraday', '~> 0.8'
|
19
|
+
gem.add_dependency 'faraday_middleware'
|
20
20
|
gem.add_dependency 'celluloid'
|
21
21
|
gem.add_development_dependency 'bundler', '~> 1'
|
22
22
|
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tradier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Steve Agalloco
|
@@ -10,72 +9,53 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-01-17 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: faraday
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - ~>
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0.8'
|
23
|
-
- - <
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
version: '0.10'
|
26
21
|
type: :runtime
|
27
22
|
prerelease: false
|
28
23
|
version_requirements: !ruby/object:Gem::Requirement
|
29
|
-
none: false
|
30
24
|
requirements:
|
31
25
|
- - ~>
|
32
26
|
- !ruby/object:Gem::Version
|
33
27
|
version: '0.8'
|
34
|
-
- - <
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: '0.10'
|
37
28
|
- !ruby/object:Gem::Dependency
|
38
29
|
name: faraday_middleware
|
39
30
|
requirement: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
31
|
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '0.8'
|
45
|
-
- - <
|
32
|
+
- - '>='
|
46
33
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0
|
34
|
+
version: '0'
|
48
35
|
type: :runtime
|
49
36
|
prerelease: false
|
50
37
|
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
38
|
requirements:
|
53
|
-
- -
|
39
|
+
- - '>='
|
54
40
|
- !ruby/object:Gem::Version
|
55
|
-
version: '0
|
56
|
-
- - <
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
version: '0.10'
|
41
|
+
version: '0'
|
59
42
|
- !ruby/object:Gem::Dependency
|
60
43
|
name: celluloid
|
61
44
|
requirement: !ruby/object:Gem::Requirement
|
62
|
-
none: false
|
63
45
|
requirements:
|
64
|
-
- -
|
46
|
+
- - '>='
|
65
47
|
- !ruby/object:Gem::Version
|
66
48
|
version: '0'
|
67
49
|
type: :runtime
|
68
50
|
prerelease: false
|
69
51
|
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
52
|
requirements:
|
72
|
-
- -
|
53
|
+
- - '>='
|
73
54
|
- !ruby/object:Gem::Version
|
74
55
|
version: '0'
|
75
56
|
- !ruby/object:Gem::Dependency
|
76
57
|
name: bundler
|
77
58
|
requirement: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
59
|
requirements:
|
80
60
|
- - ~>
|
81
61
|
- !ruby/object:Gem::Version
|
@@ -83,7 +63,6 @@ dependencies:
|
|
83
63
|
type: :development
|
84
64
|
prerelease: false
|
85
65
|
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
66
|
requirements:
|
88
67
|
- - ~>
|
89
68
|
- !ruby/object:Gem::Version
|
@@ -147,6 +126,7 @@ files:
|
|
147
126
|
- lib/tradier/error/unprocessable_entity.rb
|
148
127
|
- lib/tradier/error.rb
|
149
128
|
- lib/tradier/event.rb
|
129
|
+
- lib/tradier/event_session.rb
|
150
130
|
- lib/tradier/history.rb
|
151
131
|
- lib/tradier/option_quote.rb
|
152
132
|
- lib/tradier/order.rb
|
@@ -217,33 +197,26 @@ files:
|
|
217
197
|
homepage: https://github.com/tradier/tradier.rb
|
218
198
|
licenses:
|
219
199
|
- MIT
|
200
|
+
metadata: {}
|
220
201
|
post_install_message:
|
221
202
|
rdoc_options: []
|
222
203
|
require_paths:
|
223
204
|
- lib
|
224
205
|
required_ruby_version: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
206
|
requirements:
|
227
|
-
- -
|
207
|
+
- - '>='
|
228
208
|
- !ruby/object:Gem::Version
|
229
209
|
version: '0'
|
230
|
-
segments:
|
231
|
-
- 0
|
232
|
-
hash: 1473021614660637289
|
233
210
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
|
-
none: false
|
235
211
|
requirements:
|
236
|
-
- -
|
212
|
+
- - '>='
|
237
213
|
- !ruby/object:Gem::Version
|
238
214
|
version: '0'
|
239
|
-
segments:
|
240
|
-
- 0
|
241
|
-
hash: 1473021614660637289
|
242
215
|
requirements: []
|
243
216
|
rubyforge_project:
|
244
|
-
rubygems_version:
|
217
|
+
rubygems_version: 2.0.14
|
245
218
|
signing_key:
|
246
|
-
specification_version:
|
219
|
+
specification_version: 4
|
247
220
|
summary: Rubygem for interacting with the Tradier API.
|
248
221
|
test_files:
|
249
222
|
- spec/fixtures/account_balances.json
|