Class: Iro::PositionsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/iro/positions_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#home

Instance Method Details

#createObject



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!
  authorize! :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

#destroyObject



23
24
25
26
27
28
29
# File 'app/controllers/iro/positions_controller.rb', line 23

def destroy
  @position = Iro::Position.find params[:id]
  authorize! :destroy, @position
  @position.delete
  flash_notice "Probably ok"
  redirect_to request.referrer
end

#editObject



31
32
33
34
# File 'app/controllers/iro/positions_controller.rb', line 31

def edit
  @position = Iro::Position.find params[:id]
  authorize! :edit, @position
end

#newObject



5
6
7
8
# File 'app/controllers/iro/positions_controller.rb', line 5

def new
  @position = Iro::Position.new purse_id: params[:purse_id]
  authorize! :new, @posision
end

#rollObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'app/controllers/iro/positions_controller.rb', line 36

def roll
  @position = Iro::Position.find params[:id]
  authorize! :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

#updateObject



51
52
53
54
55
56
57
58
59
60
61
62
# File 'app/controllers/iro/positions_controller.rb', line 51

def update
  @position = Iro::Position.find params[:id]
  authorize! :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