dss_reuters 0.3.0 → 0.4.0

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: 172520c2eb6d624f8326f53254fc51dd5e4ffbea38408d41da85ccb8ff479f56
4
- data.tar.gz: 2f3439fe8861db055c80beed96ee2fff992fb61e8bdaa2a4423cfbd41f611f84
3
+ metadata.gz: 82f3b0e58e871c1c0d18c097772be1698cee53bd1174869a7c4003b71d90871e
4
+ data.tar.gz: 93355f8d00576644293dae7c535e4dd3ee0d5a07706a74527bcf9d4365ba36e5
5
5
  SHA512:
6
- metadata.gz: d1545cce156190f8842deb44e814aa87297dba797cc4bc6dd8d660839be5ed2c9b9db31dbdfceabf20caa9bcc59db7bc1187804ec8ab15de44695381d0e097a1
7
- data.tar.gz: 31fd40dad975698279e8a3fc0c51c9a30ce642dadab868bba35713aabc878b3efbff59a3b3655eeec6a9771d468ebb8e9f8a6c705376ac19203344fc4ee944ed
6
+ metadata.gz: f5d0e5be88cc4574a7ed36428a2b466540167f45b26c37a771913851eb545b666144a4ebd88b5f6f446133f562b0b5dc7b153a1ed8362c8abb1c2edeca09b7f7
7
+ data.tar.gz: 7c220efba39f63cd2b3dfd699ccabe71504625d31c83def77f995db3f15dfc4c75ef1ea497b60384edd3ab7591779d3103bf175637d5900553018d6cadbd5873
data/README.md CHANGED
@@ -38,8 +38,9 @@ Usage flow goes like this :
38
38
 
39
39
  Default request fires a Composite extraction request. You can customize your request like :
40
40
 
41
- req = api.extract_with_isin "KE1000001402", ["Life High", "Life Low", "Year High", "Year Low"], :intraday_pricing
42
- req = api.extract_with_isin "KE1000001402", ["Net Change - Close Price - 1 Day"], :technical_indicators
41
+ req = api.extract_with_isin "KE1000001402", :intraday_pricing, ["Life High", "Life Low", "Year High", "Year Low"]
42
+ req = api.extract_with_isin "KE1000001402", :technical_indicators, ["Net Change - Close Price - 1 Day"]
43
+ req = api.extract_with_isin "KE1000001402", :time_series, ["Close Price", "Trade Date"], {"StartDate" => "2018-01-01", "EndDate" => "2018-08-01"}
43
44
 
44
45
  ## Contributing
45
46
 
data/dss_reuters.gemspec CHANGED
@@ -24,4 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.16"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_dependency "httparty", "~> 0.16.2"
27
+ spec.add_dependency "pry-byebug", "~> 3.6.0"
28
+ spec.add_dependency "dotenv", "~> 2.5.0"
27
29
  end
@@ -1,3 +1,3 @@
1
1
  module DssReuters
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/dss_reuters.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require "dotenv/load"
1
2
  require "logger"
2
3
  require "httparty"
3
4
  require "dss_reuters/version"
@@ -60,42 +61,52 @@ module DssReuters
60
61
  class OnDemandExtract
61
62
  include HTTParty
62
63
  base_uri Config::BASE_URI
63
- attr_reader :result, :status
64
+ attr_reader :result
65
+ attr_accessor :status, :location
64
66
 
65
67
  def camelize(str)
66
68
  str.to_s.split('_').collect(&:capitalize).join
67
69
  end
68
70
 
69
- def initialize(session, fields, identifiers, type)
71
+ def self.init_with_location(session, location)
72
+ ins = self.new(session)
73
+ ins.status = :in_progress
74
+ ins.location = location
75
+ ins
76
+ end
77
+
78
+ def initialize(session, identifiers=nil, type=nil, fields=nil, condition=nil)
70
79
  @session = session
71
80
  @status = :init
72
81
  path = "/RestApi/v1/Extractions/ExtractWithNotes"
73
- options = {
74
- headers: {
75
- "Prefer" => "respond-async; wait=5",
76
- "Content-Type" => "application/json; odata=minimalmetadata",
77
- "Authorization" => "Token #{@session.token}"
78
- },
79
- body: {
80
- "ExtractionRequest" => {
81
- "@odata.type" => "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.#{camelize(type)}ExtractionRequest",
82
- "ContentFieldNames" => fields,
83
- "IdentifierList" => {
84
- "@odata.type" => "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
85
- "InstrumentIdentifiers" => identifiers,
86
- "ValidationOptions" => nil,
87
- "UseUserPreferencesForValidationOptions" => false
88
- },
89
- "Condition" => nil
90
- }
91
- }.to_json
92
- }
93
- resp = self.class.post path, options
94
- if check_status(resp)
95
- @location = resp["location"]
82
+
83
+ if fields
84
+ options = {
85
+ headers: {
86
+ "Prefer" => "respond-async; wait=5",
87
+ "Content-Type" => "application/json; odata=minimalmetadata",
88
+ "Authorization" => "Token #{@session.token}"
89
+ },
90
+ body: {
91
+ "ExtractionRequest" => {
92
+ "@odata.type" => "#{camelize(type)}ExtractionRequest",
93
+ "ContentFieldNames" => fields,
94
+ "IdentifierList" => {
95
+ "@odata.type" => "InstrumentIdentifierList",
96
+ "InstrumentIdentifiers" => identifiers,
97
+ "ValidationOptions" => nil,
98
+ "UseUserPreferencesForValidationOptions" => false
99
+ },
100
+ "Condition" => condition
101
+ }
102
+ }.to_json
103
+ }
104
+ resp = self.class.post path, options
105
+ if check_status(resp)
106
+ @location = resp["location"]
107
+ end
108
+ @session.logger.debug resp
96
109
  end
97
- pp resp
98
- @session.logger.debug resp
99
110
  end
100
111
 
101
112
  def check_status(resp)
@@ -117,6 +128,7 @@ module DssReuters
117
128
  @result = self.class.get @location, options
118
129
  check_status @result
119
130
  @session.logger.debug @result
131
+ @status
120
132
  end
121
133
  end
122
134
  end
@@ -130,7 +142,11 @@ module DssReuters
130
142
  @user = User.new(@session)
131
143
  end
132
144
 
133
- def extract_with_isin(isin_code, fields=nil, type=:composite)
145
+ def extract_with_location(location)
146
+ OnDemandExtract.init_with_location(@session, location)
147
+ end
148
+
149
+ def extract_with_isin(isin_code, type=:composite, fields=nil, condition=nil)
134
150
  fields ||= [
135
151
  "Close Price",
136
152
  "Contributor Code Description",
@@ -148,7 +164,7 @@ module DssReuters
148
164
  "IdentifierType" => "Isin"
149
165
  }
150
166
  ]
151
- OnDemandExtract.new(@session, fields, identifiers, type)
167
+ OnDemandExtract.new(@session, identifiers, type, fields, condition)
152
168
  end
153
169
  end
154
170
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dss_reuters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arda Karaduman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-20 00:00:00.000000000 Z
11
+ date: 2018-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.16.2
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-byebug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.6.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.6.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: dotenv
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 2.5.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 2.5.0
55
83
  description: This is a simple gem to extract data from DSS Reuters
56
84
  email:
57
85
  - akaraduman@gmail.com