ishapi 0.1.8.265 → 0.1.8.266
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/ishapi/option_price_items_controller.rb +19 -23
- data/app/jobs/ishapi/email_message_intake_job.rb +23 -1
- data/app/views/ishapi/option_price_items/index.jbuilder +17 -0
- data/app/views/ishapi/option_price_items/view.jbuilder +2 -1
- data/config/routes.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 833283278eccda017d3d8af0fcaff21a3b89d5f408f3640d85a061a4cc79753b
|
4
|
+
data.tar.gz: 39ba1400e727a379f9811ef1baaedc3baf6976cebe79f248fb7f4b9c52b62b6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85f0662bf4c7f5adf0518dae52a41c11585d2cbecc1fd27553c823fa23b0f6d30b246d52e512cb54eb5c0b1f598c836bf8f40d267986080ffde1d9d857f37ae9
|
7
|
+
data.tar.gz: 853e067daaed10e499a8a1aaaa582216c7ed1a24eb478b7014467cf6db2bc6a5dd91e823a471d4aa915582c9747d88f81ffc5e4016ccef7f4a66e9cb877db8bc
|
@@ -8,41 +8,37 @@ module Ishapi
|
|
8
8
|
|
9
9
|
## params: symbol, begin_at, end_at
|
10
10
|
def view
|
11
|
-
authorize! :view_chain, ::Iro::OptionPriceItem
|
11
|
+
authorize! :view_chain, ::Iro::OptionPriceItem
|
12
12
|
@opis = ::Iro::OptionPriceItem.where({ ticker: params[:symbol]
|
13
13
|
}).where( "timestamp BETWEEN ? and ? ", params[:begin_at], params[:end_at]
|
14
14
|
).limit(100)
|
15
15
|
end
|
16
16
|
|
17
17
|
def view_by_symbol
|
18
|
-
authorize! :view_chain, ::Iro::OptionPriceItem
|
18
|
+
authorize! :view_chain, ::Iro::OptionPriceItem
|
19
19
|
@opis = ::Iro::OptionPriceItem.where({ symbol: params[:symbol]
|
20
20
|
}).limit(100)
|
21
21
|
render 'view'
|
22
22
|
end
|
23
23
|
|
24
|
+
# kind-1, always
|
25
|
+
def index
|
26
|
+
authorize! :view_chain, ::Iro::OptionPriceItem
|
27
|
+
@opis = Iro::OptionPriceItem.where({
|
28
|
+
expirationDate: '1676062800000',
|
29
|
+
timestamp: '2023-02-06 14:46:48',
|
30
|
+
})
|
31
|
+
@outs = {}
|
32
|
+
@opis.map do |opi|
|
33
|
+
r = @outs[opi.strikePrice] || {}
|
34
|
+
r[opi.putCall] = ((opi.bid + opi.ask)/2).round(3)
|
35
|
+
@outs[opi.strikePrice] = r
|
36
|
+
end
|
37
|
+
render json: @outs
|
38
|
+
return
|
39
|
+
end
|
40
|
+
|
24
41
|
end
|
25
42
|
end
|
26
43
|
|
27
|
-
## this is in scratchpadjs / done
|
28
|
-
=begin
|
29
|
-
|
30
|
-
SELECT symbol, bid, ask, MAX(`timestamp`) as a
|
31
|
-
FROM iwa_option_price_items
|
32
|
-
where symbol = "GME_021023P20"
|
33
|
-
GROUP BY symbol, bid, ask, DATE(`timestamp`), HOUR(`timestamp`), Minute(`timestamp`)
|
34
|
-
order by a desc;
|
35
|
-
|
36
|
-
SELECT symbol, MAX(`timestamp`) as a
|
37
|
-
FROM iwa_option_price_items
|
38
|
-
where symbol = "GME_021023P20"
|
39
|
-
GROUP BY symbol, DATE(`timestamp`), HOUR(`timestamp`), Minute(`timestamp`)
|
40
|
-
order by a desc;
|
41
|
-
|
42
|
-
select timestamp as a FROM iwa_option_price_items
|
43
|
-
where symbol = "GME_021023P20"
|
44
|
-
order by a desc;
|
45
|
-
|
46
|
-
=end
|
47
|
-
|
48
44
|
|
@@ -13,10 +13,15 @@ class Ishapi::EmailMessageIntakeJob < Ishapi::ApplicationJob
|
|
13
13
|
queue_as :default
|
14
14
|
|
15
15
|
## For recursive parts of type `related`.
|
16
|
+
## Content dispositions:
|
17
|
+
# "inline; creation-date=\"Tue, 11 Apr 2023 19:39:42 GMT\"; filename=image005.png; modification-date=\"Tue, 11 Apr 2023 19:47:53 GMT\"; size=14916",
|
18
|
+
#
|
16
19
|
## Content Types:
|
17
|
-
# "text/html; charset=utf-8"
|
18
20
|
# "application/pdf; name=\"Securities Forward Agreement -- HaulHub Inc -- Victor Pudeyev -- 2021-10-26.docx.pdf\""
|
19
21
|
# "image/jpeg; name=TX_DL_2.jpg"
|
22
|
+
# "image/png; name=image005.png"
|
23
|
+
# "multipart/alternative; boundary=_000_BL0PR10MB2913C560ADE059F0AB3A6D11829A9BL0PR10MB2913namp_",
|
24
|
+
# "text/html; charset=utf-8"
|
20
25
|
# "text/plain; charset=UTF-8"
|
21
26
|
def churn_subpart message, part
|
22
27
|
if part.content_disposition&.include?('attachment')
|
@@ -89,11 +94,28 @@ class Ishapi::EmailMessageIntakeJob < Ishapi::ApplicationJob
|
|
89
94
|
ccs: the_mail.cc,
|
90
95
|
bccs: the_mail.bcc,
|
91
96
|
})
|
97
|
+
if the_mail.body.preamble.present?
|
98
|
+
@message.preamble = the_mail.body.preamble
|
99
|
+
end
|
100
|
+
if the_mail.body.epilogue.present?
|
101
|
+
@message.epilogue = the_mail.body.epilogue
|
102
|
+
end
|
92
103
|
|
93
104
|
the_mail.parts.each do |part|
|
94
105
|
churn_subpart( @message, part )
|
95
106
|
end
|
96
107
|
|
108
|
+
the_mail.attachments.each do |att|
|
109
|
+
photo = Photo.new({
|
110
|
+
content_type: att.content_type.split(';')[0],
|
111
|
+
original_filename: att.content_type_parameters[:name],
|
112
|
+
image_data: att.body.encoded,
|
113
|
+
email_message_id: @message.id,
|
114
|
+
})
|
115
|
+
photo.decode_base64_image
|
116
|
+
photo.save
|
117
|
+
end
|
118
|
+
|
97
119
|
if the_mail.parts.length == 0
|
98
120
|
body = the_mail.body.decoded.encode('UTF-8', invalid: :replace, undef: :replace, replace: '?')
|
99
121
|
if the_mail.content_type.include?('text/html')
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#
|
2
|
+
# ishapi / option_price_items / index
|
3
|
+
#
|
4
|
+
|
5
|
+
json.array! @outs do |out|
|
6
|
+
json.strikePrice opi.strikePrice
|
7
|
+
json.symbol opi.symbol
|
8
|
+
json.bid opi.bid
|
9
|
+
json.ask opi.ask
|
10
|
+
json.natural ((opi.bid + opi.ask )/2).round(3)
|
11
|
+
json.last opi.last
|
12
|
+
# json.lastPrice opi.lastPrice
|
13
|
+
# json.open opi.openPrice
|
14
|
+
json.timestamp opi.timestamp.strftime('%H:%M:%S')
|
15
|
+
json.seconds opi.timestamp.to_i
|
16
|
+
end
|
17
|
+
|
data/config/routes.rb
CHANGED
@@ -55,6 +55,7 @@ Ishapi::Engine.routes.draw do
|
|
55
55
|
|
56
56
|
# resources :option_price_items
|
57
57
|
get 'option_price_items/view-by/symbol/:symbol', to: 'option_price_items#view_by_symbol', :constraints => { :symbol => /[^\/]+/ } ## the symbol is detailed eg 'GME_011924P30'
|
58
|
+
get 'option_price_items/index1', to: 'option_price_items#index', defaults: { kind: 'kind-1' }
|
58
59
|
get 'option_price_items/view/:symbol/from/:begin_at/to/:end_at', to: 'option_price_items#view'
|
59
60
|
|
60
61
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ishapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.8.
|
4
|
+
version: 0.1.8.266
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- piousbox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -266,6 +266,7 @@ files:
|
|
266
266
|
- app/views/ishapi/my/videos/index.jbuilder
|
267
267
|
- app/views/ishapi/newsitems/_index.jbuilder
|
268
268
|
- app/views/ishapi/newsitems/index.jbuilder
|
269
|
+
- app/views/ishapi/option_price_items/index.jbuilder
|
269
270
|
- app/views/ishapi/option_price_items/view.jbuilder
|
270
271
|
- app/views/ishapi/orders/_item.jbuilder
|
271
272
|
- app/views/ishapi/orders/_show.jbuilder
|