ib-ruby 0.8.4 → 0.8.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. data/.gitignore +3 -0
  2. data/HISTORY +3 -0
  3. data/README.md +29 -9
  4. data/VERSION +1 -1
  5. data/app/assets/javascripts/ib/bars.js +2 -0
  6. data/app/assets/javascripts/ib/executions.js +2 -0
  7. data/app/assets/javascripts/ib/order_states.js +2 -0
  8. data/app/assets/stylesheets/ib/bars.css +4 -0
  9. data/app/assets/stylesheets/ib/executions.css +4 -0
  10. data/app/assets/stylesheets/ib/order_states.css +4 -0
  11. data/app/controllers/ib/bars_controller.rb +87 -0
  12. data/app/controllers/ib/combo_legs_controller.rb +87 -0
  13. data/app/controllers/ib/contract_details_controller.rb +87 -0
  14. data/app/controllers/ib/contracts_controller.rb +87 -0
  15. data/app/controllers/ib/executions_controller.rb +87 -0
  16. data/app/controllers/ib/order_states_controller.rb +87 -0
  17. data/app/controllers/ib/orders_controller.rb +87 -0
  18. data/app/helpers/ib/bars_helper.rb +4 -0
  19. data/app/helpers/ib/combo_legs_helper.rb +4 -0
  20. data/app/helpers/ib/contract_details_helper.rb +4 -0
  21. data/app/helpers/ib/contracts_helper.rb +4 -0
  22. data/app/helpers/ib/executions_helper.rb +4 -0
  23. data/app/helpers/ib/order_states_helper.rb +4 -0
  24. data/app/helpers/ib/orders_helper.rb +4 -0
  25. data/app/views/ib/bars/_form.html.erb +57 -0
  26. data/app/views/ib/bars/edit.html.erb +6 -0
  27. data/app/views/ib/bars/index.html.erb +41 -0
  28. data/app/views/ib/bars/new.html.erb +5 -0
  29. data/app/views/ib/bars/show.html.erb +55 -0
  30. data/app/views/ib/combo_legs/_form.html.erb +53 -0
  31. data/app/views/ib/combo_legs/edit.html.erb +6 -0
  32. data/app/views/ib/combo_legs/index.html.erb +39 -0
  33. data/app/views/ib/combo_legs/new.html.erb +5 -0
  34. data/app/views/ib/combo_legs/show.html.erb +55 -0
  35. data/app/views/ib/contract_details/_form.html.erb +141 -0
  36. data/app/views/ib/contract_details/edit.html.erb +6 -0
  37. data/app/views/ib/contract_details/index.html.erb +83 -0
  38. data/app/views/ib/contract_details/new.html.erb +5 -0
  39. data/app/views/ib/contract_details/show.html.erb +160 -0
  40. data/app/views/ib/contracts/_form.html.erb +77 -0
  41. data/app/views/ib/contracts/edit.html.erb +6 -0
  42. data/app/views/ib/contracts/index.html.erb +53 -0
  43. data/app/views/ib/contracts/new.html.erb +5 -0
  44. data/app/views/ib/contracts/show.html.erb +85 -0
  45. data/app/views/ib/executions/_form.html.erb +77 -0
  46. data/app/views/ib/executions/edit.html.erb +6 -0
  47. data/app/views/ib/executions/index.html.erb +51 -0
  48. data/app/views/ib/executions/new.html.erb +5 -0
  49. data/app/views/ib/executions/show.html.erb +80 -0
  50. data/app/views/ib/order_states/_form.html.erb +93 -0
  51. data/app/views/ib/order_states/edit.html.erb +6 -0
  52. data/app/views/ib/order_states/index.html.erb +59 -0
  53. data/app/views/ib/order_states/new.html.erb +5 -0
  54. data/app/views/ib/order_states/show.html.erb +100 -0
  55. data/app/views/ib/orders/_form.html.erb +353 -0
  56. data/app/views/ib/orders/edit.html.erb +6 -0
  57. data/app/views/ib/orders/index.html.erb +193 -0
  58. data/app/views/ib/orders/new.html.erb +5 -0
  59. data/app/views/ib/orders/show.html.erb +435 -0
  60. data/bin/scaffold.rb +29 -0
  61. data/config/routes.rb +8 -1
  62. data/db/config.yml +5 -0
  63. data/db/migrate/101_add_ib_executions.rb +3 -0
  64. data/db/migrate/111_add_ib_bars.rb +6 -0
  65. data/db/migrate/121_add_ib_order_states.rb +8 -0
  66. data/db/migrate/131_add_ib_orders.rb +24 -0
  67. data/db/migrate/141_add_ib_combo_legs.rb +6 -0
  68. data/db/migrate/151_add_ib_underlyings.rb +3 -0
  69. data/db/migrate/161_add_ib_contract_details.rb +11 -0
  70. data/db/migrate/171_add_ib_contracts.rb +8 -1
  71. data/db/schema.rb +6 -5
  72. data/lib/ib/base.rb +3 -1
  73. data/lib/ib/base_properties.rb +26 -15
  74. data/lib/ib/connection.rb +3 -2
  75. data/lib/ib/errors.rb +16 -9
  76. data/lib/ib/extensions.rb +6 -4
  77. data/lib/ib/symbols.rb +10 -3
  78. data/lib/ib/symbols/forex.rb +49 -64
  79. data/lib/ib/symbols/futures.rb +2 -3
  80. data/lib/ib/symbols/options.rb +2 -1
  81. data/lib/ib/symbols/stocks.rb +2 -1
  82. data/lib/models/ib/bar.rb +6 -2
  83. data/lib/models/ib/combo_leg.rb +4 -3
  84. data/lib/models/ib/contract.rb +9 -5
  85. data/lib/models/ib/contract_detail.rb +1 -1
  86. data/lib/models/ib/execution.rb +3 -1
  87. data/lib/models/ib/order.rb +22 -20
  88. data/lib/models/ib/order_state.rb +4 -2
  89. data/lib/models/ib/underlying.rb +3 -4
  90. data/spec/README.md +12 -10
  91. data/spec/ib/symbols/symbols_spec.rb +10 -0
  92. data/spec/integration_helper.rb +1 -1
  93. data/spec/model_helper.rb +9 -8
  94. data/spec/models/ib/combo_leg_spec.rb +29 -28
  95. data/spec/models/ib/contract_detail_spec.rb +4 -1
  96. data/spec/models/ib/contract_spec.rb +66 -58
  97. data/spec/models/ib/execution_spec.rb +50 -44
  98. data/spec/models/ib/order_spec.rb +2 -2
  99. data/spec/order_helper.rb +5 -4
  100. data/spec/spec_helper.rb +3 -3
  101. metadata +59 -35
  102. data/app/models/ib/underlying.rb +0 -5
  103. data/bin/account_info +0 -29
  104. data/bin/cancel_orders +0 -27
  105. data/bin/contract_details +0 -35
  106. data/bin/depth_of_market +0 -43
  107. data/bin/fa_accounts +0 -22
  108. data/bin/fundamental_data +0 -39
  109. data/bin/historic_data +0 -51
  110. data/bin/historic_data_cli +0 -182
  111. data/bin/list_orders +0 -28
  112. data/bin/market_data +0 -41
  113. data/bin/option_data +0 -44
  114. data/bin/place_combo_order +0 -58
  115. data/bin/place_order +0 -27
  116. data/bin/template +0 -18
  117. data/bin/tick_data +0 -26
  118. data/bin/time_and_sales +0 -53
@@ -0,0 +1,53 @@
1
+ <%= form_for(@combo_leg) do |f| %>
2
+ <% if @combo_leg.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@combo_leg.errors.count, "error") %> prohibited this combo_leg from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @combo_leg.errors.full_messages.each do |msg| %>
8
+ <li><%= msg %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= f.label :combo_id %><br />
16
+ <%= f.number_field :combo_id %>
17
+ </div>
18
+ <div class="field">
19
+ <%= f.label :leg_contract_id %><br />
20
+ <%= f.number_field :leg_contract_id %>
21
+ </div>
22
+ <div class="field">
23
+ <%= f.label :con_id %><br />
24
+ <%= f.number_field :con_id %>
25
+ </div>
26
+ <div class="field">
27
+ <%= f.label :side %><br />
28
+ <%= f.text_field :side %>
29
+ </div>
30
+ <div class="field">
31
+ <%= f.label :ratio %><br />
32
+ <%= f.number_field :ratio %>
33
+ </div>
34
+ <div class="field">
35
+ <%= f.label :exchange %><br />
36
+ <%= f.text_field :exchange %>
37
+ </div>
38
+ <div class="field">
39
+ <%= f.label :exempt_code %><br />
40
+ <%= f.number_field :exempt_code %>
41
+ </div>
42
+ <div class="field">
43
+ <%= f.label :short_sale_slot %><br />
44
+ <%= f.number_field :short_sale_slot %>
45
+ </div>
46
+ <div class="field">
47
+ <%= f.label :open_close %><br />
48
+ <%= f.number_field :open_close %>
49
+ </div>
50
+ <div class="actions">
51
+ <%= f.submit %>
52
+ </div>
53
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Combo Leg</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @combo_leg %> |
6
+ <%= link_to 'Back', combo_legs_path %>
@@ -0,0 +1,39 @@
1
+ <h1>Listing Combo Legs</h1>
2
+
3
+ <table>
4
+ <tr>
5
+ <th>Combo</th>
6
+ <th>Leg contract</th>
7
+ <th>Con</th>
8
+ <th>Side</th>
9
+ <th>Ratio</th>
10
+ <th>Exchange</th>
11
+ <th>Exempt code</th>
12
+ <th>Short sale slot</th>
13
+ <th>Open close</th>
14
+ <th></th>
15
+ <th></th>
16
+ <th></th>
17
+ </tr>
18
+
19
+ <% @combo_legs.each do |combo_leg| %>
20
+ <tr>
21
+ <td><%= combo_leg.combo_id %></td>
22
+ <td><%= combo_leg.leg_contract_id %></td>
23
+ <td><%= combo_leg.con_id %></td>
24
+ <td><%= combo_leg.side %></td>
25
+ <td><%= combo_leg.ratio %></td>
26
+ <td><%= combo_leg.exchange %></td>
27
+ <td><%= combo_leg.exempt_code %></td>
28
+ <td><%= combo_leg.short_sale_slot %></td>
29
+ <td><%= combo_leg.open_close %></td>
30
+ <td><%= link_to 'Show', combo_leg %></td>
31
+ <td><%= link_to 'Edit', edit_combo_leg_path(combo_leg) %></td>
32
+ <td><%= link_to 'Destroy', combo_leg, :method => :delete, :data => { :confirm => 'Are you sure?' } %></td>
33
+ </tr>
34
+ <% end %>
35
+ </table>
36
+
37
+ <br />
38
+
39
+ <%= link_to 'New Combo Leg', new_combo_leg_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Combo Leg</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', combo_legs_path %>
@@ -0,0 +1,55 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <b>Combo:</b>
5
+ <%= @combo_leg.combo_id %>
6
+ </p>
7
+
8
+ <p>
9
+ <b>Leg contract:</b>
10
+ <%= @combo_leg.leg_contract_id %>
11
+ </p>
12
+
13
+ <p>
14
+ <b>Con:</b>
15
+ <%= @combo_leg.con_id %>
16
+ </p>
17
+
18
+ <p>
19
+ <b>Side:</b>
20
+ <%= @combo_leg.side %>
21
+ </p>
22
+
23
+ <p>
24
+ <b>Ratio:</b>
25
+ <%= @combo_leg.ratio %>
26
+ </p>
27
+
28
+ <p>
29
+ <b>Exchange:</b>
30
+ <%= @combo_leg.exchange %>
31
+ </p>
32
+
33
+ <p>
34
+ <b>Exempt code:</b>
35
+ <%= @combo_leg.exempt_code %>
36
+ </p>
37
+
38
+ <p>
39
+ <b>Short sale slot:</b>
40
+ <%= @combo_leg.short_sale_slot %>
41
+ </p>
42
+
43
+ <p>
44
+ <b>Open close:</b>
45
+ <%= @combo_leg.open_close %>
46
+ </p>
47
+
48
+ <p>
49
+ <b>Designated location:</b>
50
+ <%= @combo_leg.designated_location %>
51
+ </p>
52
+
53
+
54
+ <%= link_to 'Edit', edit_combo_leg_path(@combo_leg) %> |
55
+ <%= link_to 'Back', combo_legs_path %>
@@ -0,0 +1,141 @@
1
+ <%= form_for(@contract_detail) do |f| %>
2
+ <% if @contract_detail.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@contract_detail.errors.count, "error") %> prohibited this contract_detail from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @contract_detail.errors.full_messages.each do |msg| %>
8
+ <li><%= msg %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= f.label :contract_id %><br />
16
+ <%= f.number_field :contract_id %>
17
+ </div>
18
+ <div class="field">
19
+ <%= f.label :market_name %><br />
20
+ <%= f.text_field :market_name %>
21
+ </div>
22
+ <div class="field">
23
+ <%= f.label :trading_class %><br />
24
+ <%= f.text_field :trading_class %>
25
+ </div>
26
+ <div class="field">
27
+ <%= f.label :min_tick %><br />
28
+ <%= f.text_field :min_tick %>
29
+ </div>
30
+ <div class="field">
31
+ <%= f.label :price_magnifier %><br />
32
+ <%= f.number_field :price_magnifier %>
33
+ </div>
34
+ <div class="field">
35
+ <%= f.label :order_types %><br />
36
+ <%= f.text_field :order_types %>
37
+ </div>
38
+ <div class="field">
39
+ <%= f.label :valid_exchanges %><br />
40
+ <%= f.text_field :valid_exchanges %>
41
+ </div>
42
+ <div class="field">
43
+ <%= f.label :under_con_id %><br />
44
+ <%= f.number_field :under_con_id %>
45
+ </div>
46
+ <div class="field">
47
+ <%= f.label :long_name %><br />
48
+ <%= f.text_field :long_name %>
49
+ </div>
50
+ <div class="field">
51
+ <%= f.label :contract_month %><br />
52
+ <%= f.text_field :contract_month %>
53
+ </div>
54
+ <div class="field">
55
+ <%= f.label :industry %><br />
56
+ <%= f.text_field :industry %>
57
+ </div>
58
+ <div class="field">
59
+ <%= f.label :category %><br />
60
+ <%= f.text_field :category %>
61
+ </div>
62
+ <div class="field">
63
+ <%= f.label :subcategory %><br />
64
+ <%= f.text_field :subcategory %>
65
+ </div>
66
+ <div class="field">
67
+ <%= f.label :time_zone %><br />
68
+ <%= f.text_field :time_zone %>
69
+ </div>
70
+ <div class="field">
71
+ <%= f.label :trading_hours %><br />
72
+ <%= f.text_field :trading_hours %>
73
+ </div>
74
+ <div class="field">
75
+ <%= f.label :liquid_hours %><br />
76
+ <%= f.text_field :liquid_hours %>
77
+ </div>
78
+ <div class="field">
79
+ <%= f.label :cusip %><br />
80
+ <%= f.text_field :cusip %>
81
+ </div>
82
+ <div class="field">
83
+ <%= f.label :ratings %><br />
84
+ <%= f.text_field :ratings %>
85
+ </div>
86
+ <div class="field">
87
+ <%= f.label :desc_append %><br />
88
+ <%= f.text_field :desc_append %>
89
+ </div>
90
+ <div class="field">
91
+ <%= f.label :bond_type %><br />
92
+ <%= f.text_field :bond_type %>
93
+ </div>
94
+ <div class="field">
95
+ <%= f.label :coupon_type %><br />
96
+ <%= f.text_field :coupon_type %>
97
+ </div>
98
+ <div class="field">
99
+ <%= f.label :coupon %><br />
100
+ <%= f.text_field :coupon %>
101
+ </div>
102
+ <div class="field">
103
+ <%= f.label :maturity %><br />
104
+ <%= f.text_field :maturity %>
105
+ </div>
106
+ <div class="field">
107
+ <%= f.label :issue_date %><br />
108
+ <%= f.text_field :issue_date %>
109
+ </div>
110
+ <div class="field">
111
+ <%= f.label :next_option_date %><br />
112
+ <%= f.text_field :next_option_date %>
113
+ </div>
114
+ <div class="field">
115
+ <%= f.label :next_option_type %><br />
116
+ <%= f.text_field :next_option_type %>
117
+ </div>
118
+ <div class="field">
119
+ <%= f.label :notes %><br />
120
+ <%= f.text_field :notes %>
121
+ </div>
122
+ <div class="field">
123
+ <%= f.label :callable %><br />
124
+ <%= f.check_box :callable %>
125
+ </div>
126
+ <div class="field">
127
+ <%= f.label :puttable %><br />
128
+ <%= f.check_box :puttable %>
129
+ </div>
130
+ <div class="field">
131
+ <%= f.label :convertible %><br />
132
+ <%= f.check_box :convertible %>
133
+ </div>
134
+ <div class="field">
135
+ <%= f.label :next_option_partial %><br />
136
+ <%= f.check_box :next_option_partial %>
137
+ </div>
138
+ <div class="actions">
139
+ <%= f.submit %>
140
+ </div>
141
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing contract_detail</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @contract_detail %> |
6
+ <%= link_to 'Back', contract_details_path %>
@@ -0,0 +1,83 @@
1
+ <h1>Listing contract_details</h1>
2
+
3
+ <table>
4
+ <tr>
5
+ <th>Contract</th>
6
+ <th>Market name</th>
7
+ <th>Trading class</th>
8
+ <th>Min tick</th>
9
+ <th>Price magnifier</th>
10
+ <th>Order types</th>
11
+ <th>Valid exchanges</th>
12
+ <th>Under con</th>
13
+ <th>Long name</th>
14
+ <th>Contract month</th>
15
+ <th>Industry</th>
16
+ <th>Category</th>
17
+ <th>Subcategory</th>
18
+ <th>Time zone</th>
19
+ <th>Trading hours</th>
20
+ <th>Liquid hours</th>
21
+ <th>Cusip</th>
22
+ <th>Ratings</th>
23
+ <th>Desc append</th>
24
+ <th>Bond type</th>
25
+ <th>Oupon type</th>
26
+ <th>Coupon</th>
27
+ <th>Maturity</th>
28
+ <th>Issue date</th>
29
+ <th>Next option date</th>
30
+ <th>Next option type</th>
31
+ <th>Notes</th>
32
+ <th>Callable</th>
33
+ <th>Puttable</th>
34
+ <th>Convertible</th>
35
+ <th>Next option partial</th>
36
+ <th></th>
37
+ <th></th>
38
+ <th></th>
39
+ </tr>
40
+
41
+ <% @contract_details.each do |contract_detail| %>
42
+ <tr>
43
+ <td><%= contract_detail.contract_id %></td>
44
+ <td><%= contract_detail.market_name %></td>
45
+ <td><%= contract_detail.trading_class %></td>
46
+ <td><%= contract_detail.min_tick %></td>
47
+ <td><%= contract_detail.price_magnifier %></td>
48
+ <td><%= contract_detail.order_types %></td>
49
+ <td><%= contract_detail.valid_exchanges %></td>
50
+ <td><%= contract_detail.under_con_id %></td>
51
+ <td><%= contract_detail.long_name %></td>
52
+ <td><%= contract_detail.contract_month %></td>
53
+ <td><%= contract_detail.industry %></td>
54
+ <td><%= contract_detail.category %></td>
55
+ <td><%= contract_detail.subcategory %></td>
56
+ <td><%= contract_detail.time_zone %></td>
57
+ <td><%= contract_detail.trading_hours %></td>
58
+ <td><%= contract_detail.liquid_hours %></td>
59
+ <td><%= contract_detail.cusip %></td>
60
+ <td><%= contract_detail.ratings %></td>
61
+ <td><%= contract_detail.desc_append %></td>
62
+ <td><%= contract_detail.bond_type %></td>
63
+ <td><%= contract_detail.coupon_type %></td>
64
+ <td><%= contract_detail.coupon %></td>
65
+ <td><%= contract_detail.maturity %></td>
66
+ <td><%= contract_detail.issue_date %></td>
67
+ <td><%= contract_detail.next_option_date %></td>
68
+ <td><%= contract_detail.next_option_type %></td>
69
+ <td><%= contract_detail.notes %></td>
70
+ <td><%= contract_detail.callable %></td>
71
+ <td><%= contract_detail.puttable %></td>
72
+ <td><%= contract_detail.convertible %></td>
73
+ <td><%= contract_detail.next_option_partial %></td>
74
+ <td><%= link_to 'Show', contract_detail %></td>
75
+ <td><%= link_to 'Edit', edit_contract_detail_path(contract_detail) %></td>
76
+ <td><%= link_to 'Destroy', contract_detail, :method => :delete, :data => { :confirm => 'Are you sure?' } %></td>
77
+ </tr>
78
+ <% end %>
79
+ </table>
80
+
81
+ <br />
82
+
83
+ <%= link_to 'New Contract Detail', new_contract_detail_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Contract Detail</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', contract_details_path %>
@@ -0,0 +1,160 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <b>Contract:</b>
5
+ <%= @contract_detail.contract_id %>
6
+ </p>
7
+
8
+ <p>
9
+ <b>Market name:</b>
10
+ <%= @contract_detail.market_name %>
11
+ </p>
12
+
13
+ <p>
14
+ <b>Trading class:</b>
15
+ <%= @contract_detail.trading_class %>
16
+ </p>
17
+
18
+ <p>
19
+ <b>Min tick:</b>
20
+ <%= @contract_detail.min_tick %>
21
+ </p>
22
+
23
+ <p>
24
+ <b>Price magnifier:</b>
25
+ <%= @contract_detail.price_magnifier %>
26
+ </p>
27
+
28
+ <p>
29
+ <b>Order types:</b>
30
+ <%= @contract_detail.order_types %>
31
+ </p>
32
+
33
+ <p>
34
+ <b>Valid exchanges:</b>
35
+ <%= @contract_detail.valid_exchanges %>
36
+ </p>
37
+
38
+ <p>
39
+ <b>Under con:</b>
40
+ <%= @contract_detail.under_con_id %>
41
+ </p>
42
+
43
+ <p>
44
+ <b>Long name:</b>
45
+ <%= @contract_detail.long_name %>
46
+ </p>
47
+
48
+ <p>
49
+ <b>Contract month:</b>
50
+ <%= @contract_detail.contract_month %>
51
+ </p>
52
+
53
+ <p>
54
+ <b>Industry:</b>
55
+ <%= @contract_detail.industry %>
56
+ </p>
57
+
58
+ <p>
59
+ <b>Category:</b>
60
+ <%= @contract_detail.category %>
61
+ </p>
62
+
63
+ <p>
64
+ <b>Subcategory:</b>
65
+ <%= @contract_detail.subcategory %>
66
+ </p>
67
+
68
+ <p>
69
+ <b>Time zone:</b>
70
+ <%= @contract_detail.time_zone %>
71
+ </p>
72
+
73
+ <p>
74
+ <b>Trading hours:</b>
75
+ <%= @contract_detail.trading_hours %>
76
+ </p>
77
+
78
+ <p>
79
+ <b>Liquid hours:</b>
80
+ <%= @contract_detail.liquid_hours %>
81
+ </p>
82
+
83
+ <p>
84
+ <b>Cusip:</b>
85
+ <%= @contract_detail.cusip %>
86
+ </p>
87
+
88
+ <p>
89
+ <b>Ratings:</b>
90
+ <%= @contract_detail.ratings %>
91
+ </p>
92
+
93
+ <p>
94
+ <b>Desc append:</b>
95
+ <%= @contract_detail.desc_append %>
96
+ </p>
97
+
98
+ <p>
99
+ <b>Bond type:</b>
100
+ <%= @contract_detail.bond_type %>
101
+ </p>
102
+
103
+ <p>
104
+ <b>Coupon type:</b>
105
+ <%= @contract_detail.coupon_type %>
106
+ </p>
107
+
108
+ <p>
109
+ <b>Coupon:</b>
110
+ <%= @contract_detail.coupon %>
111
+ </p>
112
+
113
+ <p>
114
+ <b>Maturity:</b>
115
+ <%= @contract_detail.maturity %>
116
+ </p>
117
+
118
+ <p>
119
+ <b>Issue date:</b>
120
+ <%= @contract_detail.issue_date %>
121
+ </p>
122
+
123
+ <p>
124
+ <b>Next option date:</b>
125
+ <%= @contract_detail.next_option_date %>
126
+ </p>
127
+
128
+ <p>
129
+ <b>Next option type:</b>
130
+ <%= @contract_detail.next_option_type %>
131
+ </p>
132
+
133
+ <p>
134
+ <b>Notes:</b>
135
+ <%= @contract_detail.notes %>
136
+ </p>
137
+
138
+ <p>
139
+ <b>Callable:</b>
140
+ <%= @contract_detail.callable %>
141
+ </p>
142
+
143
+ <p>
144
+ <b>Puttable:</b>
145
+ <%= @contract_detail.puttable %>
146
+ </p>
147
+
148
+ <p>
149
+ <b>Convertible:</b>
150
+ <%= @contract_detail.convertible %>
151
+ </p>
152
+
153
+ <p>
154
+ <b>Next option partial:</b>
155
+ <%= @contract_detail.next_option_partial %>
156
+ </p>
157
+
158
+
159
+ <%= link_to 'Edit', edit_contract_detail_path(@contract_detail) %> |
160
+ <%= link_to 'Back', contract_details_path %>