Class: Ishapi::OptionPriceItemsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/ishapi/option_price_items_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#exception, #home, #long_term_token, #vote

Instance Method Details

#indexObject

kind-1, always



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/controllers/ishapi/option_price_items_controller.rb', line 25

def index
  authorize! :view_chain, ::Iro::OptionPriceItem
  @opis = Iro::OptionPriceItem.where({
    expirationDate: '1676062800000',
    timestamp: '2023-02-06 14:46:48',
  })
  @outs = {}
  @opis.map do |opi|
    r = @outs[opi.strikePrice] || {}
    r[opi.putCall] = ((opi.bid + opi.ask)/2).round(3)
    @outs[opi.strikePrice] = r
  end
  render json: @outs
  return
end

#viewObject

params: symbol, begin_at, end_at



10
11
12
13
14
15
# File 'app/controllers/ishapi/option_price_items_controller.rb', line 10

def view
  authorize! :view_chain, ::Iro::OptionPriceItem
  @opis = ::Iro::OptionPriceItem.where({ ticker: params[:symbol]
  }).where( "timestamp BETWEEN ? and ? ", params[:begin_at], params[:end_at]
  ).limit(100)
end

#view_by_symbolObject



17
18
19
20
21
22
# File 'app/controllers/ishapi/option_price_items_controller.rb', line 17

def view_by_symbol
  authorize! :view_chain, ::Iro::OptionPriceItem
  @opis = ::Iro::OptionPriceItem.where({ symbol: params[:symbol]
  }).limit(100)
  render 'view'
end