Class: Iro::PositionsController
- Inherits:
-
ApplicationController
- Object
- Wco::ApplicationController
- ApplicationController
- Iro::PositionsController
- Defined in:
- app/controllers/iro/positions_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #new ⇒ Object
- #refresh ⇒ Object
- #roll ⇒ Object
- #update ⇒ Object
Methods inherited from ApplicationController
Instance Method Details
#create ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/iro/positions_controller.rb', line 10 def create @position = Iro::Position.new params[:position].permit! :create, @position if @position.save flash_notice @position redirect_to controller: :purses, action: :show, id: @position.purse_id.to_s else flash_alert @position redirect_to request.referrer end end |
#destroy ⇒ Object
23 24 25 26 27 28 29 |
# File 'app/controllers/iro/positions_controller.rb', line 23 def destroy @position = Iro::Position.find params[:id] :destroy, @position @position.delete flash_notice "Probably ok" redirect_to request.referrer end |
#edit ⇒ Object
31 32 33 34 |
# File 'app/controllers/iro/positions_controller.rb', line 31 def edit @position = Iro::Position.find params[:id] :edit, @position end |
#new ⇒ Object
5 6 7 8 |
# File 'app/controllers/iro/positions_controller.rb', line 5 def new @position = Iro::Position.new purse_id: params[:purse_id] :new, @posision end |
#refresh ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/controllers/iro/positions_controller.rb', line 36 def refresh @position = pos = Iro::Position.find params[:id] :refresh, @position ## covered call out = Tda::Option.get_quote({ contractType: 'CALL', strike: pos.inner_strike, expirationDate: pos.expires_on, ticker: pos.stock.ticker, }) puts! out, 'out' @position.update({ end_inner_price: ( out.bid + out.ask ) / 2, end_inner_delta: out.delta, }) redirect_to request.referrer || purse_path( @position.purse ) end |
#roll ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/controllers/iro/positions_controller.rb', line 55 def roll @position = Iro::Position.find params[:id] :roll, @position stock = @position.stock @positions = [ Iro::Position.new({ stock: stock, begin_inner_price: 5.21, inner_strike: 91, expires_on: '2024-04-05', gain_loss_amount: -1.25 }), Iro::Position.new({ stock: stock, begin_inner_price: 5.77, inner_strike: 90, expires_on: '2024-04-05', gain_loss_amount: -0.7 }), Iro::Position.new({ stock: stock, begin_inner_price: 6.4, inner_strike: 89, expires_on: '2024-04-05', gain_loss_amount: -0.03 }), Iro::Position.new({ stock: stock, begin_inner_price: 6.85, inner_strike: 88, expires_on: '2024-04-05', gain_loss_amount: 0.6 }), Iro::Position.new({ stock: stock, begin_inner_price: 7.07, inner_strike: 87, expires_on: '2024-04-05', gain_loss_amount: 1.22 }), ] end |
#update ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'app/controllers/iro/positions_controller.rb', line 70 def update @position = Iro::Position.find params[:id] :update, @position if @position.update params[:position].permit! flash_notice @position redirect_to controller: :purses, action: :show, id: @position.purse_id.to_s else flash_alert @position redirect_to request.referrer end end |