Method: CoveredCallExit#initialize

Defined in:
lib/covered_call_exit.rb

#initialize(args = {}) ⇒ CoveredCallExit

Returns a new instance of CoveredCallExit.

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/covered_call_exit.rb', line 6

def initialize(args = {})
  @opening_position = args[:opening_position]

  @option = opening_position.option.dup
  @option.stock = opening_position.stock.dup

  stock.price = args[:stock_price] if args[:stock_price]
  option.price = args[:option_price] if args[:option_price]
  option.current_date = args[:exit_date] if args[:exit_date]

  raise ArgumentError, "Stock does not match" unless stock == opening_position.stock
  raise ArgumentError, "Option does not match" unless option == opening_position.option

  extend exit_type
end