sensei_eod_utils 0.0.49 → 0.0.50

Sign up to get free protection for your applications and to get access to all the features.
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