ib-ruby 0.7.4 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/.gitignore +3 -0
  2. data/HISTORY +8 -0
  3. data/README.md +2 -2
  4. data/Rakefile +15 -0
  5. data/TODO +7 -2
  6. data/VERSION +1 -1
  7. data/bin/account_info +1 -1
  8. data/bin/cancel_orders +1 -1
  9. data/bin/contract_details +1 -1
  10. data/bin/depth_of_market +1 -1
  11. data/bin/fa_accounts +1 -1
  12. data/bin/fundamental_data +42 -0
  13. data/bin/historic_data +1 -1
  14. data/bin/historic_data_cli +1 -1
  15. data/bin/list_orders +1 -2
  16. data/bin/market_data +1 -1
  17. data/bin/option_data +1 -1
  18. data/bin/place_combo_order +1 -1
  19. data/bin/place_order +1 -1
  20. data/bin/template +1 -4
  21. data/bin/tick_data +2 -2
  22. data/bin/time_and_sales +1 -1
  23. data/lib/ib-ruby.rb +4 -0
  24. data/lib/ib-ruby/connection.rb +50 -34
  25. data/lib/ib-ruby/constants.rb +232 -37
  26. data/lib/ib-ruby/db.rb +25 -0
  27. data/lib/ib-ruby/extensions.rb +51 -1
  28. data/lib/ib-ruby/messages/abstract_message.rb +0 -8
  29. data/lib/ib-ruby/messages/incoming.rb +18 -493
  30. data/lib/ib-ruby/messages/incoming/abstract_message.rb +100 -0
  31. data/lib/ib-ruby/messages/incoming/alert.rb +34 -0
  32. data/lib/ib-ruby/messages/incoming/contract_data.rb +82 -0
  33. data/lib/ib-ruby/messages/incoming/delta_neutral_validation.rb +20 -0
  34. data/lib/ib-ruby/messages/incoming/execution_data.rb +59 -0
  35. data/lib/ib-ruby/messages/incoming/historical_data.rb +55 -0
  36. data/lib/ib-ruby/messages/incoming/market_depths.rb +44 -0
  37. data/lib/ib-ruby/messages/incoming/open_order.rb +32 -16
  38. data/lib/ib-ruby/messages/incoming/order_status.rb +67 -0
  39. data/lib/ib-ruby/messages/incoming/portfolio_value.rb +39 -0
  40. data/lib/ib-ruby/messages/incoming/real_time_bar.rb +32 -0
  41. data/lib/ib-ruby/messages/incoming/scanner_data.rb +49 -0
  42. data/lib/ib-ruby/messages/outgoing.rb +25 -223
  43. data/lib/ib-ruby/messages/outgoing/abstract_message.rb +61 -0
  44. data/lib/ib-ruby/messages/outgoing/bar_requests.rb +149 -0
  45. data/lib/ib-ruby/messages/outgoing/place_order.rb +24 -0
  46. data/lib/ib-ruby/models.rb +4 -0
  47. data/lib/ib-ruby/models/bar.rb +31 -14
  48. data/lib/ib-ruby/models/combo_leg.rb +48 -23
  49. data/lib/ib-ruby/models/contracts.rb +2 -2
  50. data/lib/ib-ruby/models/contracts/bag.rb +11 -7
  51. data/lib/ib-ruby/models/contracts/contract.rb +90 -66
  52. data/lib/ib-ruby/models/contracts/option.rb +16 -7
  53. data/lib/ib-ruby/models/execution.rb +34 -18
  54. data/lib/ib-ruby/models/model.rb +15 -7
  55. data/lib/ib-ruby/models/model_properties.rb +101 -44
  56. data/lib/ib-ruby/models/order.rb +176 -187
  57. data/lib/ib-ruby/models/order_state.rb +99 -0
  58. data/lib/ib-ruby/symbols/forex.rb +10 -10
  59. data/lib/ib-ruby/symbols/futures.rb +6 -6
  60. data/lib/ib-ruby/symbols/stocks.rb +3 -3
  61. data/spec/account_helper.rb +4 -5
  62. data/spec/combo_helper.rb +4 -4
  63. data/spec/db.rb +18 -0
  64. data/spec/ib-ruby/messages/{incoming_spec.rb → incoming/alert_spec.rb} +1 -0
  65. data/spec/ib-ruby/messages/incoming/open_order_spec.rb +100 -0
  66. data/spec/ib-ruby/messages/incoming/order_status_spec.rb +74 -0
  67. data/spec/ib-ruby/messages/{outgoing_spec.rb → outgoing/account_data_spec.rb} +0 -0
  68. data/spec/ib-ruby/messages/outgoing/market_data_type_spec.rb +44 -0
  69. data/spec/ib-ruby/models/bag_spec.rb +97 -0
  70. data/spec/ib-ruby/models/bar_spec.rb +45 -0
  71. data/spec/ib-ruby/models/combo_leg_spec.rb +56 -40
  72. data/spec/ib-ruby/models/contract_spec.rb +134 -170
  73. data/spec/ib-ruby/models/execution_spec.rb +35 -50
  74. data/spec/ib-ruby/models/option_spec.rb +127 -0
  75. data/spec/ib-ruby/models/order_spec.rb +89 -68
  76. data/spec/ib-ruby/models/order_state_spec.rb +55 -0
  77. data/spec/integration/contract_info_spec.rb +4 -6
  78. data/spec/integration/fundamental_data_spec.rb +41 -0
  79. data/spec/integration/historic_data_spec.rb +4 -4
  80. data/spec/integration/market_data_spec.rb +1 -3
  81. data/spec/integration/orders/attached_spec.rb +8 -10
  82. data/spec/integration/orders/combo_spec.rb +2 -2
  83. data/spec/integration/orders/execution_spec.rb +0 -1
  84. data/spec/integration/orders/placement_spec.rb +1 -3
  85. data/spec/integration/orders/valid_ids_spec.rb +1 -2
  86. data/spec/message_helper.rb +1 -1
  87. data/spec/model_helper.rb +211 -0
  88. data/spec/order_helper.rb +44 -37
  89. data/spec/spec_helper.rb +36 -23
  90. data/spec/v.rb +7 -0
  91. data/tasks/doc.rake +1 -1
  92. metadata +116 -12
  93. 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 == 'GTC'
47
- pending 'API Bug: Attached DAY orders not working for butterflies!'
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
- if defined?(contract_type) && contract_type == :butterfly
58
- pending 'API Bug: Order modification not working for butterflies!'
59
- else
60
- # Modification only works for non-attached, non-combo orders
61
- @order.total_quantity = 200
62
- @order.limit_price += 0.05
63
- @order.transmit = true
64
- @ib.modify_order @order, @contract
65
-
66
- if @attached_order
67
- # Modify attached order, if any
68
- @attached_order.limit_price *= 1.5
69
- @attached_order.tif = 'GTC'
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 == 'GTC'
96
- pending 'API Bug: Attached DAY orders not working for butterflies!'
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 == 'GTC'
131
- pending 'API Bug: Attached DAY orders not working for butterflies!'
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
- msg.order_id.should == order.order_id
167
- msg.perm_id.should be_an Integer
168
- msg.client_id.should == OPTS[:connection][:client_id]
169
- msg.parent_id.should == 0 unless @attached_order
170
- msg.why_held.should == ''
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
- msg.filled.should == 20000
175
- msg.remaining.should == 0
176
- msg.average_fill_price.should be > 1
177
- msg.average_fill_price.should be < 2
178
- msg.last_fill_price.should == msg.average_fill_price
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
- msg.filled.should == 0
181
- msg.remaining.should == @order.total_quantity
182
- msg.average_fill_price.should == 0
183
- msg.last_fill_price.should == 0
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 == 0
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 OPTS[:brokertron]
32
- # Connection to mock (Brokertron) account
33
- OPTS[:connection] =
34
- {:client_id => 1111, # Just an arbitrary id
35
- :host => 'free.brokertron.com',
36
- :port=> 10501
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
@@ -0,0 +1,7 @@
1
+ puts 'To run specs with (extremely) verbose output, use:'
2
+ puts '$ rspec -rv spec'
3
+
4
+ OPTS ||= {
5
+ :verbose => true, #false, #true, # Verbosity of test outputs
6
+ :brokertron => false, # Do not use mock service (Brokertron)
7
+ }
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 'rake/rdoctask'
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.4
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-04 00:00:00 Z
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: rspec
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: *id002
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: &id003 !ruby/object:Gem::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: *id003
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/incoming_spec.rb
129
- - spec/ib-ruby/messages/outgoing_spec.rb
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/incoming_spec.rb
197
- - spec/ib-ruby/messages/outgoing_spec.rb
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: