sensei_eod_utils 0.0.49 → 0.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be36927c78fcdf4b4e714acd9815f93a9d65288473023ff4f083c7d839e42aac
4
- data.tar.gz: 7bf7b33efc4caaff2e0e7640c6695780c2a40a342496ab9b41613762e07ed7f9
3
+ metadata.gz: c085ec908f16d15fa1688ad36fd1204afe64075636d0a1683d09be9a3e7cfeba
4
+ data.tar.gz: 9ddf26fe2eb2468d76856fd72f26da018d50320a4af9f78848dee1a7d42179e4
5
5
  SHA512:
6
- metadata.gz: 67a24370600b624978e73a1c5f5d2cee743b559a32e46ee7b53f03808f036b8ebe30eb5a5254aa81df272162159ffca6447767a453e0024ddf98c3e7f32bb029
7
- data.tar.gz: 02b3eb18d7e188ffd626fb41a70203251688edea6ee6675e7e3d614f36a5e68f0179c968ad760f9aa0e5be8b68028323a694f6af37691fb20328256d61a56165
6
+ metadata.gz: be977b4b3359a38f56ddb8792f6f18f105d2eb49b2a730f5340077ea940e475b6701fe4922477525464c77d7bef561ef738f654dfdec3f1bf7d727ab9a94a3ea
7
+ data.tar.gz: e101ba44aee438ae8d2a4e442d83017795b9e2b020d2a721d9be997c7c506cfe9b4d74d37a954fbb65cb556c72f92828d3ac064ca6c3990e53853edc5f1ea8be
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'oj'
4
+ require_relative '../cache/redis_cache.rb'
5
+
6
+ module EodFacade
7
+ class Dividends < ::EodFacade::Base
8
+ class << self
9
+ def call(symbol, params = {})
10
+ unless Cache::RedisCache.get(redis_key(symbol, params[:from], params[:to]))
11
+ response = make_request(url_path(symbol), params.merge(fmt: 'json'))
12
+
13
+ unless response.success?
14
+ raise ArgumentError, "Error fetching dividend data for #{symbol}"
15
+ end
16
+
17
+ Cache::RedisCache.set(
18
+ redis_key(symbol, params[:from], params[:to]),
19
+ response.parsed_response.to_json
20
+ )
21
+ end
22
+
23
+ Oj.load(Cache::RedisCache.get(redis_key(symbol, params[:from], params[:to])))
24
+ end
25
+
26
+ private
27
+
28
+ def url_path(symbol)
29
+ "/div/#{symbol}"
30
+ end
31
+
32
+ def redis_key(symbol, from, to)
33
+ "#{symbol}_#{from || ''}_#{to || ''}_dividend"
34
+ end
35
+ end
36
+ end
37
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'sensei_eod_utils'
5
- s.version = '0.0.49'
5
+ s.version = '0.0.50'
6
6
  s.date = '2019-12-20'
7
7
  s.summary = 'Sensei trader utility functions and Eod api facade'
8
8
  s.authors = ['Nishant Shah']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensei_eod_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.49
4
+ version: 0.0.50
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nishant Shah
@@ -80,6 +80,7 @@ files:
80
80
  - lib/cache/redis_cache.rb
81
81
  - lib/eod_facade/base.rb
82
82
  - lib/eod_facade/constants.rb
83
+ - lib/eod_facade/dividends.rb
83
84
  - lib/eod_facade/eod.rb
84
85
  - lib/eod_facade/fundamentals.rb
85
86
  - lib/eod_facade/options.rb