ib-ruby 0.4.3 → 0.4.20
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.
- data/.gitignore +32 -0
- data/HISTORY +68 -0
- data/README.rdoc +9 -6
- data/VERSION +1 -1
- data/bin/account_info +29 -0
- data/bin/contract_details +37 -0
- data/bin/depth_of_market +43 -0
- data/bin/historic_data +62 -0
- data/bin/{RequestHistoricData → historic_data_cli} +46 -91
- data/bin/market_data +49 -0
- data/bin/option_data +45 -0
- data/bin/template +21 -0
- data/bin/time_and_sales +63 -0
- data/lib/ib-ruby/connection.rb +166 -0
- data/lib/ib-ruby/constants.rb +91 -0
- data/lib/ib-ruby/messages/incoming.rb +807 -0
- data/lib/ib-ruby/messages/outgoing.rb +573 -0
- data/lib/ib-ruby/messages.rb +8 -1445
- data/lib/ib-ruby/models/bar.rb +26 -0
- data/lib/ib-ruby/models/contract.rb +335 -0
- data/lib/ib-ruby/models/execution.rb +55 -0
- data/lib/ib-ruby/models/model.rb +20 -0
- data/lib/ib-ruby/models/order.rb +262 -0
- data/lib/ib-ruby/models.rb +11 -0
- data/lib/ib-ruby/socket.rb +50 -0
- data/lib/ib-ruby/symbols/forex.rb +32 -72
- data/lib/ib-ruby/symbols/futures.rb +47 -68
- data/lib/ib-ruby/symbols/options.rb +30 -0
- data/lib/ib-ruby/symbols/stocks.rb +23 -0
- data/lib/ib-ruby/symbols.rb +9 -0
- data/lib/ib-ruby.rb +7 -8
- data/lib/legacy/bin/account_info_old +36 -0
- data/lib/legacy/bin/historic_data_old +81 -0
- data/lib/legacy/bin/market_data_old +68 -0
- data/lib/legacy/datatypes.rb +485 -0
- data/lib/legacy/ib-ruby.rb +10 -0
- data/lib/legacy/ib.rb +226 -0
- data/lib/legacy/messages.rb +1458 -0
- data/lib/version.rb +2 -3
- data/spec/ib-ruby/models/contract_spec.rb +261 -0
- data/spec/ib-ruby/models/order_spec.rb +64 -0
- data/spec/ib-ruby_spec.rb +0 -131
- metadata +106 -76
- data/bin/AccountInfo +0 -67
- data/bin/HistoricToCSV +0 -111
- data/bin/RequestMarketData +0 -78
- data/bin/SimpleTimeAndSales +0 -98
- data/bin/ib-ruby +0 -8
- data/lib/ib-ruby/datatypes.rb +0 -400
- data/lib/ib-ruby/ib.rb +0 -242
data/lib/version.rb
CHANGED
@@ -0,0 +1,261 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
|
2
|
+
|
3
|
+
describe IB::Models::Contract do
|
4
|
+
|
5
|
+
let(:properties) do
|
6
|
+
{:symbol => "TEST",
|
7
|
+
:sec_type => IB::Models::Contract::SECURITY_TYPES[:stock],
|
8
|
+
:expiry => '200609',
|
9
|
+
:strike => 1234,
|
10
|
+
:right => "put",
|
11
|
+
:multiplier => 123,
|
12
|
+
:exchange => "SMART",
|
13
|
+
:currency => "USD",
|
14
|
+
:local_symbol => "baz"}
|
15
|
+
end
|
16
|
+
|
17
|
+
context "instantiation" do
|
18
|
+
context 'empty without properties' do
|
19
|
+
subject { IB::Models::Contract.new }
|
20
|
+
|
21
|
+
it { should_not be_nil }
|
22
|
+
its (:con_id) {should == 0}
|
23
|
+
its (:strike) {should == 0}
|
24
|
+
its (:sec_type) {should == ''}
|
25
|
+
its (:created_at) {should be_a Time}
|
26
|
+
its (:include_expired) {should == false}
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'with properties' do
|
30
|
+
subject { IB::Models::Contract.new properties }
|
31
|
+
|
32
|
+
it 'sets properties right' do
|
33
|
+
properties.each do |name, value|
|
34
|
+
subject.send(name).should == value
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'essential properties are still set, even if not given explicitely' do
|
39
|
+
its (:con_id) {should == 0}
|
40
|
+
its (:created_at) {should be_a Time}
|
41
|
+
its (:include_expired) {should == false}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "ContractDetails properties" do
|
46
|
+
let(:detailed_properties) do
|
47
|
+
{:under_con_id => 123,
|
48
|
+
:min_tick=> 1234,
|
49
|
+
:callable => true,
|
50
|
+
:puttable => true,
|
51
|
+
:coupon => 12345,
|
52
|
+
:convertible => true,
|
53
|
+
:next_option_partial => true}
|
54
|
+
end
|
55
|
+
|
56
|
+
context 'empty without properties' do
|
57
|
+
subject { IB::Models::Contract.new }
|
58
|
+
|
59
|
+
its (:summary) {should == subject}
|
60
|
+
its (:under_con_id) {should == 0}
|
61
|
+
its (:min_tick) {should == 0}
|
62
|
+
its (:callable) {should == false}
|
63
|
+
its (:puttable) {should == false}
|
64
|
+
its (:coupon) {should == 0}
|
65
|
+
its (:convertible) {should == false}
|
66
|
+
its (:next_option_partial) {should == false}
|
67
|
+
its (:created_at) {should be_a Time}
|
68
|
+
end
|
69
|
+
|
70
|
+
context 'with properties' do
|
71
|
+
subject { IB::Models::Contract.new detailed_properties }
|
72
|
+
|
73
|
+
its (:summary) {should == subject}
|
74
|
+
its (:created_at) {should be_a Time}
|
75
|
+
|
76
|
+
it 'sets properties right' do
|
77
|
+
detailed_properties.each do |name, value|
|
78
|
+
subject.send(name).should == value
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end #instantiation
|
83
|
+
|
84
|
+
|
85
|
+
it 'allows setting attributes' do
|
86
|
+
expect {
|
87
|
+
x = IB::Models::Contract.new
|
88
|
+
x.symbol = "TEST"
|
89
|
+
x.sec_type = IB::Models::Contract::SECURITY_TYPES[:stock]
|
90
|
+
x.expiry = 200609
|
91
|
+
x.strike = 1234
|
92
|
+
x.right = "put"
|
93
|
+
x.multiplier = 123
|
94
|
+
x.exchange = "SMART"
|
95
|
+
x.currency = "USD"
|
96
|
+
x.local_symbol = "baz"
|
97
|
+
}.to_not raise_error
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'allows setting ContractDetails attributes' do
|
101
|
+
expect {
|
102
|
+
x = IB::Models::Contract.new
|
103
|
+
x.callable = true
|
104
|
+
x.puttable = true
|
105
|
+
x.convertible = true
|
106
|
+
x.under_con_id = 321
|
107
|
+
x.min_tick = 123
|
108
|
+
x.next_option_partial = true
|
109
|
+
}.to_not raise_error
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'raises on wrong security type' do
|
113
|
+
expect {
|
114
|
+
x = IB::Models::Contract.new({:sec_type => "asdf"})
|
115
|
+
}.to raise_error ArgumentError
|
116
|
+
|
117
|
+
expect {
|
118
|
+
x = IB::Models::Contract.new
|
119
|
+
x.sec_type = "asdf"
|
120
|
+
}.to raise_error ArgumentError
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'accepts pre-determined security types' do
|
124
|
+
IB::Models::Contract::SECURITY_TYPES.values.each do |type|
|
125
|
+
expect {
|
126
|
+
x = IB::Models::Contract.new({:sec_type => type})
|
127
|
+
}.to_not raise_error
|
128
|
+
|
129
|
+
expect {
|
130
|
+
x = IB::Models::Contract.new
|
131
|
+
x.sec_type = type
|
132
|
+
}.to_not raise_error
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'raises on wrong expiry' do
|
137
|
+
expect {
|
138
|
+
x = IB::Models::Contract.new({:expiry => "foo"})
|
139
|
+
}.to raise_error ArgumentError
|
140
|
+
|
141
|
+
expect {
|
142
|
+
x = IB::Models::Contract.new
|
143
|
+
x.expiry = "foo"
|
144
|
+
}.to raise_error ArgumentError
|
145
|
+
end
|
146
|
+
|
147
|
+
it 'accepts correct expiry' do
|
148
|
+
expect {
|
149
|
+
x = IB::Models::Contract.new({:expiry => "200607"})
|
150
|
+
}.to_not raise_error
|
151
|
+
|
152
|
+
expect {
|
153
|
+
x = IB::Models::Contract.new
|
154
|
+
x.expiry = "200607"
|
155
|
+
}.to_not raise_error
|
156
|
+
|
157
|
+
expect {
|
158
|
+
x = IB::Models::Contract.new({:expiry => 200607})
|
159
|
+
}.to_not raise_error
|
160
|
+
|
161
|
+
expect {
|
162
|
+
x = IB::Models::Contract.new
|
163
|
+
x.expiry = 200607
|
164
|
+
x.expiry.should == "200607" # converted to a string
|
165
|
+
}.to_not raise_error
|
166
|
+
|
167
|
+
end
|
168
|
+
|
169
|
+
it 'raises on incorrect right (option type)' do
|
170
|
+
expect {
|
171
|
+
x = IB::Models::Contract.new({:right => "foo"})
|
172
|
+
}.to raise_error ArgumentError
|
173
|
+
expect {
|
174
|
+
x = IB::Models::Contract.new
|
175
|
+
x.right = "foo"
|
176
|
+
}.to raise_error ArgumentError
|
177
|
+
end
|
178
|
+
|
179
|
+
it 'accepts all correct values for right (option type)' do
|
180
|
+
["PUT", "put", "P", "p", "CALL", "call", "C", "c"].each do |right|
|
181
|
+
expect {
|
182
|
+
x = IB::Models::Contract.new({:right => right})
|
183
|
+
}.to_not raise_error
|
184
|
+
|
185
|
+
expect {
|
186
|
+
x = IB::Models::Contract.new
|
187
|
+
x.right = right
|
188
|
+
}.to_not raise_error
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end #instantiation
|
192
|
+
|
193
|
+
context "serialization" do
|
194
|
+
subject { stock = IB::Models::Contract.new properties }
|
195
|
+
|
196
|
+
it "serializes long" do
|
197
|
+
subject.serialize(:long).should ==
|
198
|
+
["TEST", IB::Models::Contract::SECURITY_TYPES[:stock], "200609", 1234, "PUT", 123, "SMART", nil, "USD", "baz"]
|
199
|
+
end
|
200
|
+
|
201
|
+
it "serializes short" do
|
202
|
+
subject.serialize(:short).should ==
|
203
|
+
["TEST", IB::Models::Contract::SECURITY_TYPES[:stock], "200609", 1234, "PUT", 123, "SMART", "USD", "baz"]
|
204
|
+
end
|
205
|
+
end #serialization
|
206
|
+
|
207
|
+
end # describe IB::Models::Contract
|
208
|
+
|
209
|
+
describe IB::Models::Contract::ComboLeg do
|
210
|
+
|
211
|
+
let(:properties) do
|
212
|
+
{:con_id => 123,
|
213
|
+
:ratio=> 1234,
|
214
|
+
:action => 'BUY',
|
215
|
+
:exchange => 'BLAH',
|
216
|
+
:open_close => IB::Models::Contract::ComboLeg::OPEN,
|
217
|
+
:short_sale_slot => 1,
|
218
|
+
:designated_location => 'BLEH',
|
219
|
+
:exempt_code => 12}
|
220
|
+
end
|
221
|
+
|
222
|
+
context "instantiation" do
|
223
|
+
context 'empty without properties' do
|
224
|
+
subject { IB::Models::Contract::ComboLeg.new }
|
225
|
+
|
226
|
+
it { should_not be_nil }
|
227
|
+
its (:con_id) {should == 0}
|
228
|
+
its (:ratio) {should == 0}
|
229
|
+
its (:open_close) {should == 0}
|
230
|
+
its (:short_sale_slot) {should == 0}
|
231
|
+
its (:exempt_code) {should == -1}
|
232
|
+
|
233
|
+
its (:created_at) {should be_a Time}
|
234
|
+
end
|
235
|
+
|
236
|
+
context 'with properties' do
|
237
|
+
subject { IB::Models::Contract::ComboLeg.new properties }
|
238
|
+
|
239
|
+
it 'sets properties right' do
|
240
|
+
properties.each do |name, value|
|
241
|
+
subject.send(name).should == value
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
245
|
+
context 'essential properties are still set, even if not given explicitely' do
|
246
|
+
its (:created_at) {should be_a Time}
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
it 'allows setting attributes' do
|
251
|
+
expect {
|
252
|
+
x = IB::Models::Contract::ComboLeg.new
|
253
|
+
properties.each do |name, value|
|
254
|
+
subject.send("#{name}=", value)
|
255
|
+
subject.send(name).should == value
|
256
|
+
end
|
257
|
+
}.to_not raise_error
|
258
|
+
end
|
259
|
+
end #instantiation
|
260
|
+
|
261
|
+
end # describe IB::Models::Contract::ComboLeg
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
|
2
|
+
|
3
|
+
describe IB::Models::Order do
|
4
|
+
|
5
|
+
let(:properties) do
|
6
|
+
{:outside_rth => true,
|
7
|
+
:open_close => 'C',
|
8
|
+
:origin => IB::Models::Order::Origin_Firm,
|
9
|
+
:transmit => false,
|
10
|
+
:designated_location => "WHATEVER",
|
11
|
+
:exempt_code => 123,
|
12
|
+
:delta_neutral_order_type => "HACK",
|
13
|
+
:what_if => true,
|
14
|
+
:not_held => true}
|
15
|
+
end
|
16
|
+
|
17
|
+
context "instantiation" do
|
18
|
+
context 'empty without properties' do
|
19
|
+
subject { IB::Models::Order.new }
|
20
|
+
|
21
|
+
it { should_not be_nil }
|
22
|
+
its (:outside_rth) {should == false}
|
23
|
+
its (:open_close) {should == "O"}
|
24
|
+
its (:origin) {should == IB::Models::Order::Origin_Customer}
|
25
|
+
its (:transmit) {should == true}
|
26
|
+
its (:designated_location) {should == ''}
|
27
|
+
its (:exempt_code) {should == -1}
|
28
|
+
its (:delta_neutral_order_type) {should == ''}
|
29
|
+
its (:what_if) {should == false}
|
30
|
+
its (:not_held) {should == false}
|
31
|
+
its (:created_at) {should be_a Time}
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'with properties' do
|
35
|
+
subject { IB::Models::Order.new properties }
|
36
|
+
|
37
|
+
it 'sets properties right' do
|
38
|
+
properties.each do |name, value|
|
39
|
+
subject.send(name).should == value
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'essential properties are still set, even if not given explicitely' do
|
44
|
+
its (:created_at) {should be_a Time}
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'allows setting attributes' do
|
49
|
+
expect {
|
50
|
+
x = IB::Models::Order.new
|
51
|
+
x.outside_rth = true
|
52
|
+
x.open_close = 'C'
|
53
|
+
x.origin = IB::Models::Order::Origin_Firm
|
54
|
+
x.transmit = false
|
55
|
+
x.designated_location = "WHATEVER"
|
56
|
+
x.exempt_code = 123
|
57
|
+
x.delta_neutral_order_type = "HACK"
|
58
|
+
x.what_if = true
|
59
|
+
x.not_held = true
|
60
|
+
}.to_not raise_error
|
61
|
+
end
|
62
|
+
end #instantiation
|
63
|
+
|
64
|
+
end # describe IB::Models::Order
|
data/spec/ib-ruby_spec.rb
CHANGED
@@ -1,131 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), %w[spec_helper])
|
2
|
-
|
3
|
-
describe IB::Datatypes::Contract do
|
4
|
-
|
5
|
-
it 'instantiates without options' do
|
6
|
-
x = IB::Datatypes::Contract.new
|
7
|
-
x.should_not be_nil
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'allows setting attributes' do
|
11
|
-
expect {
|
12
|
-
x = IB::Datatypes::Contract.new
|
13
|
-
x.symbol = "TEST"
|
14
|
-
x.sec_type = IB::Datatypes::Contract::SECURITY_TYPES[:stock]
|
15
|
-
x.expiry = 200609
|
16
|
-
x.strike = 1234
|
17
|
-
x.right = "put"
|
18
|
-
x.multiplier = 123
|
19
|
-
x.exchange = "SMART"
|
20
|
-
x.currency = "USD"
|
21
|
-
x.local_symbol = "baz"
|
22
|
-
}.to_not raise_error
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'raises on wrong security type' do
|
26
|
-
expect {
|
27
|
-
x = IB::Datatypes::Contract.new({:sec_type => "asdf"})
|
28
|
-
}.to raise_error ArgumentError
|
29
|
-
|
30
|
-
expect {
|
31
|
-
x = IB::Datatypes::Contract.new
|
32
|
-
x.sec_type = "asdf"
|
33
|
-
}.to raise_error ArgumentError
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'accepts pre-determined security types' do
|
38
|
-
IB::Datatypes::Contract::SECURITY_TYPES.values.each do |type|
|
39
|
-
expect {
|
40
|
-
x = IB::Datatypes::Contract.new({:sec_type => type})
|
41
|
-
}.to_not raise_error
|
42
|
-
|
43
|
-
expect {
|
44
|
-
x = IB::Datatypes::Contract.new
|
45
|
-
x.sec_type = type
|
46
|
-
}.to_not raise_error
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'raises on wrong expiry' do
|
51
|
-
expect {
|
52
|
-
x = IB::Datatypes::Contract.new({:expiry => "foo"})
|
53
|
-
}.to raise_error ArgumentError
|
54
|
-
|
55
|
-
expect {
|
56
|
-
x = IB::Datatypes::Contract.new
|
57
|
-
x.expiry = "foo"
|
58
|
-
}.to raise_error ArgumentError
|
59
|
-
end
|
60
|
-
|
61
|
-
it 'accepts correct expiry' do
|
62
|
-
expect {
|
63
|
-
x = IB::Datatypes::Contract.new({:expiry => "200607"})
|
64
|
-
}.to_not raise_error
|
65
|
-
|
66
|
-
expect {
|
67
|
-
x = IB::Datatypes::Contract.new
|
68
|
-
x.expiry = "200607"
|
69
|
-
}.to_not raise_error
|
70
|
-
|
71
|
-
expect {
|
72
|
-
x = IB::Datatypes::Contract.new({:expiry => 200607})
|
73
|
-
}.to_not raise_error
|
74
|
-
|
75
|
-
expect {
|
76
|
-
x = IB::Datatypes::Contract.new
|
77
|
-
x.expiry = 200607
|
78
|
-
x.expiry.should == "200607" # converted to a string
|
79
|
-
}.to_not raise_error
|
80
|
-
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'raises on incorrect right (option type)' do
|
84
|
-
expect {
|
85
|
-
x = IB::Datatypes::Contract.new({:right => "foo"})
|
86
|
-
}.to raise_error ArgumentError
|
87
|
-
expect {
|
88
|
-
x = IB::Datatypes::Contract.new
|
89
|
-
x.right = "foo"
|
90
|
-
}.to raise_error ArgumentError
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'accepts all correct values for right (option type)' do
|
94
|
-
["PUT", "put", "P", "p", "CALL", "call", "C", "c"].each do |right|
|
95
|
-
expect {
|
96
|
-
x = IB::Datatypes::Contract.new({:right => right})
|
97
|
-
}.to_not raise_error
|
98
|
-
|
99
|
-
expect {
|
100
|
-
x = IB::Datatypes::Contract.new
|
101
|
-
x.right = right
|
102
|
-
}.to_not raise_error
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
context "serialization" do
|
107
|
-
let(:stock) do
|
108
|
-
stock = IB::Datatypes::Contract.new
|
109
|
-
stock.symbol = "TEST"
|
110
|
-
stock.sec_type = IB::Datatypes::Contract::SECURITY_TYPES[:stock]
|
111
|
-
stock.expiry = 200609
|
112
|
-
stock.strike = 1234
|
113
|
-
stock.right = "put"
|
114
|
-
stock.multiplier = 123
|
115
|
-
stock.exchange = "SMART"
|
116
|
-
stock.currency = "USD"
|
117
|
-
stock.local_symbol = "baz"
|
118
|
-
stock
|
119
|
-
end
|
120
|
-
|
121
|
-
it "serializes long" do
|
122
|
-
stock.serialize_long(20).should ==
|
123
|
-
["TEST", IB::Datatypes::Contract::SECURITY_TYPES[:stock], "200609", 1234, "PUT", 123, "SMART", nil, "USD", "baz"]
|
124
|
-
end
|
125
|
-
|
126
|
-
it "serializes short" do
|
127
|
-
stock.serialize_short(20).should ==
|
128
|
-
["TEST", IB::Datatypes::Contract::SECURITY_TYPES[:stock], "200609", 1234, "PUT", 123, "SMART", "USD", "baz"]
|
129
|
-
end
|
130
|
-
end #serialization
|
131
|
-
end # describe IB::Datatypes::Contract
|
metadata
CHANGED
@@ -2,114 +2,144 @@
|
|
2
2
|
name: ib-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.4.
|
5
|
+
version: 0.4.20
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
|
8
|
+
- arvicco
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-09-
|
13
|
+
date: 2011-09-19 00:00:00 +04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: bundler
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 1.0.13
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 2.5.0
|
36
|
+
type: :development
|
37
|
+
version_requirements: *id002
|
38
38
|
description: Ruby Implementation of the Interactive Broker' TWS API
|
39
39
|
email: arvitallian@gmail.com
|
40
40
|
executables:
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
- account_info
|
42
|
+
- contract_details
|
43
|
+
- depth_of_market
|
44
|
+
- historic_data
|
45
|
+
- historic_data_cli
|
46
|
+
- market_data
|
47
|
+
- option_data
|
48
|
+
- template
|
49
|
+
- time_and_sales
|
47
50
|
extensions: []
|
48
51
|
|
49
52
|
extra_rdoc_files:
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
+
- LICENSE
|
54
|
+
- HISTORY
|
55
|
+
- README.rdoc
|
53
56
|
files:
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
57
|
+
- bin/account_info
|
58
|
+
- bin/contract_details
|
59
|
+
- bin/depth_of_market
|
60
|
+
- bin/historic_data
|
61
|
+
- bin/historic_data_cli
|
62
|
+
- bin/market_data
|
63
|
+
- bin/option_data
|
64
|
+
- bin/template
|
65
|
+
- bin/time_and_sales
|
66
|
+
- lib/ib-ruby/connection.rb
|
67
|
+
- lib/ib-ruby/constants.rb
|
68
|
+
- lib/ib-ruby/messages/incoming.rb
|
69
|
+
- lib/ib-ruby/messages/outgoing.rb
|
70
|
+
- lib/ib-ruby/messages.rb
|
71
|
+
- lib/ib-ruby/models/bar.rb
|
72
|
+
- lib/ib-ruby/models/contract.rb
|
73
|
+
- lib/ib-ruby/models/execution.rb
|
74
|
+
- lib/ib-ruby/models/model.rb
|
75
|
+
- lib/ib-ruby/models/order.rb
|
76
|
+
- lib/ib-ruby/models.rb
|
77
|
+
- lib/ib-ruby/socket.rb
|
78
|
+
- lib/ib-ruby/symbols/forex.rb
|
79
|
+
- lib/ib-ruby/symbols/futures.rb
|
80
|
+
- lib/ib-ruby/symbols/options.rb
|
81
|
+
- lib/ib-ruby/symbols/stocks.rb
|
82
|
+
- lib/ib-ruby/symbols.rb
|
83
|
+
- lib/ib-ruby.rb
|
84
|
+
- lib/legacy/bin/account_info_old
|
85
|
+
- lib/legacy/bin/historic_data_old
|
86
|
+
- lib/legacy/bin/market_data_old
|
87
|
+
- lib/legacy/datatypes.rb
|
88
|
+
- lib/legacy/ib-ruby.rb
|
89
|
+
- lib/legacy/ib.rb
|
90
|
+
- lib/legacy/messages.rb
|
91
|
+
- lib/version.rb
|
92
|
+
- spec/ib-ruby/models/contract_spec.rb
|
93
|
+
- spec/ib-ruby/models/order_spec.rb
|
94
|
+
- spec/ib-ruby_spec.rb
|
95
|
+
- spec/spec_helper.rb
|
96
|
+
- tasks/common.rake
|
97
|
+
- tasks/doc.rake
|
98
|
+
- tasks/gem.rake
|
99
|
+
- tasks/git.rake
|
100
|
+
- tasks/spec.rake
|
101
|
+
- tasks/version.rake
|
102
|
+
- Rakefile
|
103
|
+
- README.rdoc
|
104
|
+
- LICENSE
|
105
|
+
- VERSION
|
106
|
+
- HISTORY
|
107
|
+
- .gitignore
|
80
108
|
has_rdoc: true
|
81
109
|
homepage: http://github.com/arvicco/ib-ruby
|
82
110
|
licenses: []
|
83
111
|
|
84
112
|
post_install_message:
|
85
113
|
rdoc_options:
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
114
|
+
- --charset
|
115
|
+
- UTF-8
|
116
|
+
- --main
|
117
|
+
- README.rdoc
|
118
|
+
- --title
|
119
|
+
- mix
|
92
120
|
require_paths:
|
93
|
-
|
121
|
+
- lib
|
94
122
|
required_ruby_version: !ruby/object:Gem::Requirement
|
95
123
|
none: false
|
96
124
|
requirements:
|
97
|
-
|
98
|
-
|
99
|
-
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: "0"
|
100
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
129
|
none: false
|
102
130
|
requirements:
|
103
|
-
|
104
|
-
|
105
|
-
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: "0"
|
106
134
|
requirements: []
|
107
135
|
|
108
136
|
rubyforge_project:
|
109
|
-
rubygems_version: 1.
|
137
|
+
rubygems_version: 1.6.2
|
110
138
|
signing_key:
|
111
139
|
specification_version: 3
|
112
140
|
summary: Ruby Implementation of the Interactive Broker' TWS API
|
113
141
|
test_files:
|
114
|
-
|
115
|
-
|
142
|
+
- spec/ib-ruby/models/contract_spec.rb
|
143
|
+
- spec/ib-ruby/models/order_spec.rb
|
144
|
+
- spec/ib-ruby_spec.rb
|
145
|
+
- spec/spec_helper.rb
|