ib-ruby 0.7.4 → 0.7.6
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 +3 -0
- data/HISTORY +8 -0
- data/README.md +2 -2
- data/Rakefile +15 -0
- data/TODO +7 -2
- data/VERSION +1 -1
- data/bin/account_info +1 -1
- data/bin/cancel_orders +1 -1
- data/bin/contract_details +1 -1
- data/bin/depth_of_market +1 -1
- data/bin/fa_accounts +1 -1
- data/bin/fundamental_data +42 -0
- data/bin/historic_data +1 -1
- data/bin/historic_data_cli +1 -1
- data/bin/list_orders +1 -2
- data/bin/market_data +1 -1
- data/bin/option_data +1 -1
- data/bin/place_combo_order +1 -1
- data/bin/place_order +1 -1
- data/bin/template +1 -4
- data/bin/tick_data +2 -2
- data/bin/time_and_sales +1 -1
- data/lib/ib-ruby.rb +4 -0
- data/lib/ib-ruby/connection.rb +50 -34
- data/lib/ib-ruby/constants.rb +232 -37
- data/lib/ib-ruby/db.rb +25 -0
- data/lib/ib-ruby/extensions.rb +51 -1
- data/lib/ib-ruby/messages/abstract_message.rb +0 -8
- data/lib/ib-ruby/messages/incoming.rb +18 -493
- data/lib/ib-ruby/messages/incoming/abstract_message.rb +100 -0
- data/lib/ib-ruby/messages/incoming/alert.rb +34 -0
- data/lib/ib-ruby/messages/incoming/contract_data.rb +82 -0
- data/lib/ib-ruby/messages/incoming/delta_neutral_validation.rb +20 -0
- data/lib/ib-ruby/messages/incoming/execution_data.rb +59 -0
- data/lib/ib-ruby/messages/incoming/historical_data.rb +55 -0
- data/lib/ib-ruby/messages/incoming/market_depths.rb +44 -0
- data/lib/ib-ruby/messages/incoming/open_order.rb +32 -16
- data/lib/ib-ruby/messages/incoming/order_status.rb +67 -0
- data/lib/ib-ruby/messages/incoming/portfolio_value.rb +39 -0
- data/lib/ib-ruby/messages/incoming/real_time_bar.rb +32 -0
- data/lib/ib-ruby/messages/incoming/scanner_data.rb +49 -0
- data/lib/ib-ruby/messages/outgoing.rb +25 -223
- data/lib/ib-ruby/messages/outgoing/abstract_message.rb +61 -0
- data/lib/ib-ruby/messages/outgoing/bar_requests.rb +149 -0
- data/lib/ib-ruby/messages/outgoing/place_order.rb +24 -0
- data/lib/ib-ruby/models.rb +4 -0
- data/lib/ib-ruby/models/bar.rb +31 -14
- data/lib/ib-ruby/models/combo_leg.rb +48 -23
- data/lib/ib-ruby/models/contracts.rb +2 -2
- data/lib/ib-ruby/models/contracts/bag.rb +11 -7
- data/lib/ib-ruby/models/contracts/contract.rb +90 -66
- data/lib/ib-ruby/models/contracts/option.rb +16 -7
- data/lib/ib-ruby/models/execution.rb +34 -18
- data/lib/ib-ruby/models/model.rb +15 -7
- data/lib/ib-ruby/models/model_properties.rb +101 -44
- data/lib/ib-ruby/models/order.rb +176 -187
- data/lib/ib-ruby/models/order_state.rb +99 -0
- data/lib/ib-ruby/symbols/forex.rb +10 -10
- data/lib/ib-ruby/symbols/futures.rb +6 -6
- data/lib/ib-ruby/symbols/stocks.rb +3 -3
- data/spec/account_helper.rb +4 -5
- data/spec/combo_helper.rb +4 -4
- data/spec/db.rb +18 -0
- data/spec/ib-ruby/messages/{incoming_spec.rb → incoming/alert_spec.rb} +1 -0
- data/spec/ib-ruby/messages/incoming/open_order_spec.rb +100 -0
- data/spec/ib-ruby/messages/incoming/order_status_spec.rb +74 -0
- data/spec/ib-ruby/messages/{outgoing_spec.rb → outgoing/account_data_spec.rb} +0 -0
- data/spec/ib-ruby/messages/outgoing/market_data_type_spec.rb +44 -0
- data/spec/ib-ruby/models/bag_spec.rb +97 -0
- data/spec/ib-ruby/models/bar_spec.rb +45 -0
- data/spec/ib-ruby/models/combo_leg_spec.rb +56 -40
- data/spec/ib-ruby/models/contract_spec.rb +134 -170
- data/spec/ib-ruby/models/execution_spec.rb +35 -50
- data/spec/ib-ruby/models/option_spec.rb +127 -0
- data/spec/ib-ruby/models/order_spec.rb +89 -68
- data/spec/ib-ruby/models/order_state_spec.rb +55 -0
- data/spec/integration/contract_info_spec.rb +4 -6
- data/spec/integration/fundamental_data_spec.rb +41 -0
- data/spec/integration/historic_data_spec.rb +4 -4
- data/spec/integration/market_data_spec.rb +1 -3
- data/spec/integration/orders/attached_spec.rb +8 -10
- data/spec/integration/orders/combo_spec.rb +2 -2
- data/spec/integration/orders/execution_spec.rb +0 -1
- data/spec/integration/orders/placement_spec.rb +1 -3
- data/spec/integration/orders/valid_ids_spec.rb +1 -2
- data/spec/message_helper.rb +1 -1
- data/spec/model_helper.rb +211 -0
- data/spec/order_helper.rb +44 -37
- data/spec/spec_helper.rb +36 -23
- data/spec/v.rb +7 -0
- data/tasks/doc.rake +1 -1
- metadata +116 -12
- data/spec/integration/orders/open_order +0 -98
data/spec/order_helper.rb
CHANGED
@@ -17,6 +17,14 @@ shared_examples_for 'Placed Order' do
|
|
17
17
|
it 'receives confirmation of Order submission' do
|
18
18
|
order_should_be /Submit/ # ()Pre)Submitted
|
19
19
|
status_should_be /Submit/
|
20
|
+
|
21
|
+
if @attached_order
|
22
|
+
if contract_type == :butterfly && @attached_order.tif == :good_till_cancelled
|
23
|
+
pending 'API Bug: Attached GTC orders not working for butterflies!'
|
24
|
+
else
|
25
|
+
order_should_be /Submit/, @attached_order
|
26
|
+
end
|
27
|
+
end
|
20
28
|
end
|
21
29
|
end # Placing
|
22
30
|
|
@@ -43,8 +51,8 @@ shared_examples_for 'Placed Order' do
|
|
43
51
|
status_should_be /Submitted/
|
44
52
|
|
45
53
|
if @attached_order
|
46
|
-
if contract_type == :butterfly && @attached_order.tif ==
|
47
|
-
pending 'API Bug: Attached
|
54
|
+
if contract_type == :butterfly && @attached_order.tif == :good_till_cancelled
|
55
|
+
pending 'API Bug: Attached GTC orders not working for butterflies!'
|
48
56
|
else
|
49
57
|
order_should_be /Submit/, @attached_order
|
50
58
|
end
|
@@ -54,21 +62,19 @@ shared_examples_for 'Placed Order' do
|
|
54
62
|
|
55
63
|
context "Modifying Order" do
|
56
64
|
before(:all) do
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
@ib.modify_order @attached_order, @contract
|
71
|
-
end
|
65
|
+
# Modification only works for non-attached orders
|
66
|
+
@order.total_quantity *= 2
|
67
|
+
@order.limit_price += 0.05
|
68
|
+
@order.transmit = true
|
69
|
+
@order.tif = 'GTC'
|
70
|
+
@ib.modify_order @order, @contract
|
71
|
+
|
72
|
+
if @attached_order
|
73
|
+
# Modify attached order, if any
|
74
|
+
@attached_order.limit_price += 0.05
|
75
|
+
@attached_order.total_quantity *= 2
|
76
|
+
@attached_order.tif = 'GTC'
|
77
|
+
@ib.modify_order @attached_order, @contract
|
72
78
|
end
|
73
79
|
@ib.send_message :RequestOpenOrders
|
74
80
|
@ib.wait_for :OpenOrderEnd, 6 #sec
|
@@ -92,8 +98,8 @@ shared_examples_for 'Placed Order' do
|
|
92
98
|
status_should_be /Submit/
|
93
99
|
|
94
100
|
if @attached_order
|
95
|
-
if contract_type == :butterfly && @attached_order.tif ==
|
96
|
-
pending 'API Bug: Attached
|
101
|
+
if contract_type == :butterfly && @attached_order.tif == :good_till_cancelled
|
102
|
+
pending 'API Bug: Attached GTC orders not working for butterflies!'
|
97
103
|
else
|
98
104
|
order_should_be /Submit/, @attached_order
|
99
105
|
end
|
@@ -127,8 +133,8 @@ shared_examples_for 'Placed Order' do
|
|
127
133
|
it 'receives cancellation Order Status' do
|
128
134
|
status_should_be /Cancel/ # Cancelled / PendingCancel
|
129
135
|
if @attached_order
|
130
|
-
if contract_type == :butterfly && @attached_order.tif ==
|
131
|
-
pending 'API Bug: Attached
|
136
|
+
if contract_type == :butterfly && @attached_order.tif == :good_till_cancelled
|
137
|
+
pending 'API Bug: Attached GTC orders not working for butterflies!'
|
132
138
|
else
|
133
139
|
status_should_be /Cancel/, @attached_order
|
134
140
|
end
|
@@ -145,7 +151,7 @@ end
|
|
145
151
|
|
146
152
|
### Helpers for placing and verifying orders
|
147
153
|
|
148
|
-
def place_order contract, opts
|
154
|
+
def place_order contract, opts = {}
|
149
155
|
@contract = contract
|
150
156
|
@order = IB::Order.new({:total_quantity => 100,
|
151
157
|
:limit_price => 9.13,
|
@@ -163,24 +169,25 @@ def status_should_be status, order=@order
|
|
163
169
|
end
|
164
170
|
msg.should_not be_nil
|
165
171
|
msg.should be_an IB::Messages::Incoming::OrderStatus
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
172
|
+
order_state = msg.order_state
|
173
|
+
order_state.order_id.should == order.order_id
|
174
|
+
order_state.perm_id.should be_an Integer
|
175
|
+
order_state.client_id.should == OPTS[:connection][:client_id]
|
176
|
+
order_state.parent_id.should == 0 unless @attached_order
|
177
|
+
order_state.why_held.should == ''
|
171
178
|
|
172
179
|
if @contract == IB::Symbols::Forex[:eurusd]
|
173
180
|
# We know that this order filled for sure
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
181
|
+
order_state.filled.should == 20000
|
182
|
+
order_state.remaining.should == 0
|
183
|
+
order_state.average_fill_price.should be > 1
|
184
|
+
order_state.average_fill_price.should be < 2
|
185
|
+
order_state.last_fill_price.should == order_state.average_fill_price
|
179
186
|
else
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
187
|
+
order_state.filled.should == 0
|
188
|
+
order_state.remaining.should == order.total_quantity
|
189
|
+
order_state.average_fill_price.should == 0
|
190
|
+
order_state.last_fill_price.should == 0
|
184
191
|
end
|
185
192
|
end
|
186
193
|
|
@@ -216,5 +223,5 @@ def execution_should_be side, opts={}
|
|
216
223
|
exec.price.should be > 1
|
217
224
|
exec.price.should be < 2
|
218
225
|
exec.price.should == exec.average_price
|
219
|
-
exec.liquidation.should ==
|
226
|
+
exec.liquidation.should == false
|
220
227
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,30 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'ib-ruby'
|
3
3
|
|
4
|
+
# Top level metadata for test suite level hacking
|
5
|
+
OPTS ||= {
|
6
|
+
:verbose => false, #true, # Verbosity of test outputs
|
7
|
+
:brokertron => false, # Use mock (Brokertron) instead of paper account
|
8
|
+
}
|
9
|
+
|
10
|
+
if OPTS[:brokertron]
|
11
|
+
# Connection to mock (Brokertron) account
|
12
|
+
OPTS[:connection] =
|
13
|
+
{:client_id => 1111, # Just an arbitrary id
|
14
|
+
:host => 'free.brokertron.com',
|
15
|
+
:port=> 10501
|
16
|
+
}
|
17
|
+
else
|
18
|
+
# Connection to IB PAPER ACCOUNT
|
19
|
+
OPTS[:connection] =
|
20
|
+
{:account_name => 'DU118180', # Your IB PAPER ACCOUNT, tests will only run against it
|
21
|
+
:client_id => 1111, # Just an arbitrary id
|
22
|
+
:host => '10.211.55.2', # Where your TWS/gateway is located, likely '127.0.0.1'
|
23
|
+
:port => 4001, # 4001 for Gateway, 7496 for TWS GUI
|
24
|
+
:reuters => true # Subscription to Reuters data enabled ?
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
4
28
|
RSpec.configure do |config|
|
5
29
|
config.exclusion_filter = {
|
6
30
|
:if => proc do |condition|
|
@@ -13,34 +37,23 @@ RSpec.configure do |config|
|
|
13
37
|
# 17:15 - 17:00 (ET) Sunday-Friday Forex 22:15 - 22:00 (UTC)
|
14
38
|
!(t.wday > 0 && t.wday < 5 || t.wday == 5 && t.hour < 22)
|
15
39
|
end
|
16
|
-
end
|
40
|
+
end,
|
41
|
+
|
42
|
+
:db => proc { |condition| !IB::DB == condition }, # true/false
|
43
|
+
|
44
|
+
:reuters => proc { |condition| !OPTS[:connection][:reuters] == condition } # true/false
|
17
45
|
}
|
18
46
|
# config.filter = { :focus => true }
|
19
47
|
# config.include(UserExampleHelpers)
|
20
48
|
# config.mock_with :mocha
|
21
49
|
# config.mock_with :flexmock
|
22
50
|
# config.mock_with :rr
|
23
|
-
end
|
24
|
-
|
25
|
-
# Top level metadata for test suite level hacking
|
26
|
-
OPTS = {
|
27
|
-
:silent => true, #false, #true, # Verbosity of test outputs
|
28
|
-
:brokertron => false, # Use mock (Brokertron) instead of paper account
|
29
|
-
}
|
30
51
|
|
31
|
-
if
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
}
|
38
|
-
else
|
39
|
-
# Connection to IB PAPER ACCOUNT
|
40
|
-
OPTS[:connection] =
|
41
|
-
{:account_name => 'DU118180', # Your IB PAPER ACCOUNT, tests will only run against it
|
42
|
-
:client_id => 1111, # Just an arbitrary id
|
43
|
-
:host => '10.211.55.2', # Where your TWS/gateway is located, likely '127.0.0.1'
|
44
|
-
:port => 4001 # 4001 for Gateway, 7496 for TWS GUI
|
45
|
-
}
|
52
|
+
if IB::DB
|
53
|
+
config.before(:suite) do
|
54
|
+
DatabaseCleaner.strategy = :truncation
|
55
|
+
DatabaseCleaner.clean
|
56
|
+
end
|
57
|
+
end
|
46
58
|
end
|
59
|
+
|
data/spec/v.rb
ADDED
data/tasks/doc.rake
CHANGED
@@ -2,7 +2,7 @@ desc 'Alias to doc:rdoc'
|
|
2
2
|
task :doc => 'doc:rdoc'
|
3
3
|
|
4
4
|
namespace :doc do
|
5
|
-
require '
|
5
|
+
require 'rdoc/task'
|
6
6
|
Rake::RDocTask.new do |rdoc|
|
7
7
|
# Rake::RDocTask.new(:rdoc => "rdoc", :clobber_rdoc => "clobber", :rerdoc => "rerdoc") do |rdoc|
|
8
8
|
rdoc.rdoc_dir = DOC_PATH.basename.to_s
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: ib-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.7.
|
5
|
+
version: 0.7.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Paul Legato
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2012-04-
|
14
|
+
date: 2012-04-18 00:00:00 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -25,27 +25,93 @@ dependencies:
|
|
25
25
|
type: :runtime
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: activerecord
|
29
29
|
prerelease: false
|
30
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 0.0.1
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: activerecord-jdbcsqlite3-adapter
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.2.2
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: jdbc-sqlite3
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 3.7.2
|
58
|
+
type: :runtime
|
59
|
+
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: xml-simple
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.1.1
|
69
|
+
type: :runtime
|
70
|
+
version_requirements: *id005
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: standalone_migrations
|
73
|
+
prerelease: false
|
74
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: "0"
|
80
|
+
type: :development
|
81
|
+
version_requirements: *id006
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: database_cleaner
|
84
|
+
prerelease: false
|
85
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
31
86
|
none: false
|
32
87
|
requirements:
|
33
88
|
- - ">="
|
34
89
|
- !ruby/object:Gem::Version
|
35
90
|
version: 2.8.0
|
36
91
|
type: :development
|
37
|
-
version_requirements: *
|
92
|
+
version_requirements: *id007
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: rspec
|
95
|
+
prerelease: false
|
96
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 2.8.0
|
102
|
+
type: :development
|
103
|
+
version_requirements: *id008
|
38
104
|
- !ruby/object:Gem::Dependency
|
39
105
|
name: my_scripts
|
40
106
|
prerelease: false
|
41
|
-
requirement: &
|
107
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
42
108
|
none: false
|
43
109
|
requirements:
|
44
110
|
- - ">="
|
45
111
|
- !ruby/object:Gem::Version
|
46
112
|
version: "0"
|
47
113
|
type: :development
|
48
|
-
version_requirements: *
|
114
|
+
version_requirements: *id009
|
49
115
|
description: Ruby Implementation of the Interactive Brokers TWS API
|
50
116
|
email:
|
51
117
|
- pjlegato@gmail.com
|
@@ -56,6 +122,7 @@ executables:
|
|
56
122
|
- contract_details
|
57
123
|
- depth_of_market
|
58
124
|
- fa_accounts
|
125
|
+
- fundamental_data
|
59
126
|
- historic_data
|
60
127
|
- historic_data_cli
|
61
128
|
- list_orders
|
@@ -76,6 +143,7 @@ files:
|
|
76
143
|
- bin/contract_details
|
77
144
|
- bin/depth_of_market
|
78
145
|
- bin/fa_accounts
|
146
|
+
- bin/fundamental_data
|
79
147
|
- bin/historic_data
|
80
148
|
- bin/historic_data_cli
|
81
149
|
- bin/list_orders
|
@@ -89,6 +157,7 @@ files:
|
|
89
157
|
- lib/ib-ruby.rb
|
90
158
|
- lib/ib-ruby/connection.rb
|
91
159
|
- lib/ib-ruby/constants.rb
|
160
|
+
- lib/ib-ruby/db.rb
|
92
161
|
- lib/ib-ruby/errors.rb
|
93
162
|
- lib/ib-ruby/extensions.rb
|
94
163
|
- lib/ib-ruby/logger.rb
|
@@ -100,8 +169,22 @@ files:
|
|
100
169
|
- lib/ib-ruby/messages/abstract_message.rb
|
101
170
|
- lib/ib-ruby/messages/incoming.rb
|
102
171
|
- lib/ib-ruby/messages/outgoing.rb
|
172
|
+
- lib/ib-ruby/messages/incoming/abstract_message.rb
|
173
|
+
- lib/ib-ruby/messages/incoming/alert.rb
|
174
|
+
- lib/ib-ruby/messages/incoming/contract_data.rb
|
175
|
+
- lib/ib-ruby/messages/incoming/delta_neutral_validation.rb
|
176
|
+
- lib/ib-ruby/messages/incoming/execution_data.rb
|
177
|
+
- lib/ib-ruby/messages/incoming/historical_data.rb
|
178
|
+
- lib/ib-ruby/messages/incoming/market_depths.rb
|
103
179
|
- lib/ib-ruby/messages/incoming/open_order.rb
|
180
|
+
- lib/ib-ruby/messages/incoming/order_status.rb
|
181
|
+
- lib/ib-ruby/messages/incoming/portfolio_value.rb
|
182
|
+
- lib/ib-ruby/messages/incoming/real_time_bar.rb
|
183
|
+
- lib/ib-ruby/messages/incoming/scanner_data.rb
|
104
184
|
- lib/ib-ruby/messages/incoming/ticks.rb
|
185
|
+
- lib/ib-ruby/messages/outgoing/abstract_message.rb
|
186
|
+
- lib/ib-ruby/messages/outgoing/bar_requests.rb
|
187
|
+
- lib/ib-ruby/messages/outgoing/place_order.rb
|
105
188
|
- lib/ib-ruby/models/bar.rb
|
106
189
|
- lib/ib-ruby/models/combo_leg.rb
|
107
190
|
- lib/ib-ruby/models/contracts.rb
|
@@ -109,6 +192,7 @@ files:
|
|
109
192
|
- lib/ib-ruby/models/model.rb
|
110
193
|
- lib/ib-ruby/models/model_properties.rb
|
111
194
|
- lib/ib-ruby/models/order.rb
|
195
|
+
- lib/ib-ruby/models/order_state.rb
|
112
196
|
- lib/ib-ruby/models/contracts/bag.rb
|
113
197
|
- lib/ib-ruby/models/contracts/contract.rb
|
114
198
|
- lib/ib-ruby/models/contracts/option.rb
|
@@ -118,29 +202,39 @@ files:
|
|
118
202
|
- lib/ib-ruby/symbols/stocks.rb
|
119
203
|
- spec/account_helper.rb
|
120
204
|
- spec/combo_helper.rb
|
205
|
+
- spec/db.rb
|
121
206
|
- spec/integration_helper.rb
|
122
207
|
- spec/message_helper.rb
|
208
|
+
- spec/model_helper.rb
|
123
209
|
- spec/order_helper.rb
|
124
210
|
- spec/README.md
|
125
211
|
- spec/spec_helper.rb
|
126
212
|
- spec/TODO
|
213
|
+
- spec/v.rb
|
127
214
|
- spec/ib-ruby/connection_spec.rb
|
128
|
-
- spec/ib-ruby/messages/
|
129
|
-
- spec/ib-ruby/messages/
|
215
|
+
- spec/ib-ruby/messages/incoming/alert_spec.rb
|
216
|
+
- spec/ib-ruby/messages/incoming/open_order_spec.rb
|
217
|
+
- spec/ib-ruby/messages/incoming/order_status_spec.rb
|
218
|
+
- spec/ib-ruby/messages/outgoing/account_data_spec.rb
|
219
|
+
- spec/ib-ruby/messages/outgoing/market_data_type_spec.rb
|
220
|
+
- spec/ib-ruby/models/bag_spec.rb
|
221
|
+
- spec/ib-ruby/models/bar_spec.rb
|
130
222
|
- spec/ib-ruby/models/combo_leg_spec.rb
|
131
223
|
- spec/ib-ruby/models/contract_spec.rb
|
132
224
|
- spec/ib-ruby/models/execution_spec.rb
|
225
|
+
- spec/ib-ruby/models/option_spec.rb
|
133
226
|
- spec/ib-ruby/models/order_spec.rb
|
227
|
+
- spec/ib-ruby/models/order_state_spec.rb
|
134
228
|
- spec/integration/account_info_spec.rb
|
135
229
|
- spec/integration/contract_info_spec.rb
|
136
230
|
- spec/integration/depth_data_spec.rb
|
231
|
+
- spec/integration/fundamental_data_spec.rb
|
137
232
|
- spec/integration/historic_data_spec.rb
|
138
233
|
- spec/integration/market_data_spec.rb
|
139
234
|
- spec/integration/option_data_spec.rb
|
140
235
|
- spec/integration/orders/attached_spec.rb
|
141
236
|
- spec/integration/orders/combo_spec.rb
|
142
237
|
- spec/integration/orders/execution_spec.rb
|
143
|
-
- spec/integration/orders/open_order
|
144
238
|
- spec/integration/orders/placement_spec.rb
|
145
239
|
- spec/integration/orders/valid_ids_spec.rb
|
146
240
|
- tasks/common.rake
|
@@ -186,29 +280,39 @@ summary: Ruby Implementation of the Interactive Brokers TWS API
|
|
186
280
|
test_files:
|
187
281
|
- spec/account_helper.rb
|
188
282
|
- spec/combo_helper.rb
|
283
|
+
- spec/db.rb
|
189
284
|
- spec/integration_helper.rb
|
190
285
|
- spec/message_helper.rb
|
286
|
+
- spec/model_helper.rb
|
191
287
|
- spec/order_helper.rb
|
192
288
|
- spec/README.md
|
193
289
|
- spec/spec_helper.rb
|
194
290
|
- spec/TODO
|
291
|
+
- spec/v.rb
|
195
292
|
- spec/ib-ruby/connection_spec.rb
|
196
|
-
- spec/ib-ruby/messages/
|
197
|
-
- spec/ib-ruby/messages/
|
293
|
+
- spec/ib-ruby/messages/incoming/alert_spec.rb
|
294
|
+
- spec/ib-ruby/messages/incoming/open_order_spec.rb
|
295
|
+
- spec/ib-ruby/messages/incoming/order_status_spec.rb
|
296
|
+
- spec/ib-ruby/messages/outgoing/account_data_spec.rb
|
297
|
+
- spec/ib-ruby/messages/outgoing/market_data_type_spec.rb
|
298
|
+
- spec/ib-ruby/models/bag_spec.rb
|
299
|
+
- spec/ib-ruby/models/bar_spec.rb
|
198
300
|
- spec/ib-ruby/models/combo_leg_spec.rb
|
199
301
|
- spec/ib-ruby/models/contract_spec.rb
|
200
302
|
- spec/ib-ruby/models/execution_spec.rb
|
303
|
+
- spec/ib-ruby/models/option_spec.rb
|
201
304
|
- spec/ib-ruby/models/order_spec.rb
|
305
|
+
- spec/ib-ruby/models/order_state_spec.rb
|
202
306
|
- spec/integration/account_info_spec.rb
|
203
307
|
- spec/integration/contract_info_spec.rb
|
204
308
|
- spec/integration/depth_data_spec.rb
|
309
|
+
- spec/integration/fundamental_data_spec.rb
|
205
310
|
- spec/integration/historic_data_spec.rb
|
206
311
|
- spec/integration/market_data_spec.rb
|
207
312
|
- spec/integration/option_data_spec.rb
|
208
313
|
- spec/integration/orders/attached_spec.rb
|
209
314
|
- spec/integration/orders/combo_spec.rb
|
210
315
|
- spec/integration/orders/execution_spec.rb
|
211
|
-
- spec/integration/orders/open_order
|
212
316
|
- spec/integration/orders/placement_spec.rb
|
213
317
|
- spec/integration/orders/valid_ids_spec.rb
|
214
318
|
has_rdoc:
|