capital-iq 0.0.1 → 0.0.3
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 +8 -8
- data/README.rdoc +6 -3
- data/VERSION +1 -1
- data/capital-iq.gemspec +3 -3
- data/lib/capital-iq.rb +1 -0
- data/lib/capital-iq/base.rb +31 -27
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzMxOGI3NmQ2N2QxOTg2NTRlZGYwNDJmNGMyODc3YjhjMDFlYjEzNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTUwZTI5M2Y2ZDgyZDZjNzFiN2NkMzczNmUyMmJhNjFjZjlkZDg2OA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NWJkYmRkMzZhYTU2YzRjNzEwNTEwYjY2NjIyZGY4MzMwZmM2NTY3MGY0ZDA4
|
10
|
+
MTg2N2FlZTFmMDA2YjIxMDI3Mjk1ZWNhMGQ4ODcyNWVmNzJlNzUxNzgwYjk4
|
11
|
+
Y2U3NmRkZjY5ODI4ZDNmOGNmNmE5ZTZhYjgxMDUyOWU3YWIzZDQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NjUyZWU3NWE0YzJlZWNkODQyMTliYmNlMDNlOTM2ZDFjZmE2MWZjMWViNGU1
|
14
|
+
OWMzOGI4YWZkZjI3ZmYyODU5M2M5Y2I1YWUwYzVmMDA0MTViZTQzNDZmMTJh
|
15
|
+
MjQwNTczYTY5MjRlNjdlMTEyY2YzN2I4YjY4NjE0ZTE4MTkwZjA=
|
data/README.rdoc
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
Ruby API wrapper to Capital IQ API.
|
4
4
|
|
5
|
+
|
6
|
+
== Installation
|
7
|
+
|
8
|
+
gem install capital-iq
|
9
|
+
|
10
|
+
|
5
11
|
== Usage
|
6
12
|
|
7
13
|
client = CapitalIQ::Base.new('user@host.com', 'sfd98j429ds')
|
@@ -13,9 +19,6 @@ Ruby API wrapper to Capital IQ API.
|
|
13
19
|
client.gdsp_request('IQ231729634', 'IQ_CITY')
|
14
20
|
=> "San Francisco"
|
15
21
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
22
|
|
20
23
|
== Contributing to capital-iq
|
21
24
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/capital-iq.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: capital-iq 0.0.
|
5
|
+
# stub: capital-iq 0.0.3 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "capital-iq"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.3"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = ["Ian Morgan"]
|
13
|
-
s.date = "2014-
|
13
|
+
s.date = "2014-10-06"
|
14
14
|
s.description = "Ruby wrapper for the CapIQ API"
|
15
15
|
s.email = "ian@ruby-code.com"
|
16
16
|
s.extra_rdoc_files = [
|
data/lib/capital-iq.rb
CHANGED
data/lib/capital-iq/base.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module CapitalIQ
|
2
2
|
class Base
|
3
|
-
|
3
|
+
ENDPOINT = 'https://sdk.gds.standardandpoors.com/gdssdk/rest/v2/clientservice.json'
|
4
|
+
include HTTParty
|
4
5
|
format :json
|
5
6
|
|
6
7
|
def initialize(username, password)
|
@@ -9,38 +10,50 @@ module CapitalIQ
|
|
9
10
|
|
10
11
|
def request(function, identifier, mnemonic, properties)
|
11
12
|
request_body = Request.new(function, identifier, mnemonic, properties).request
|
12
|
-
response_data = self.class.post(
|
13
|
+
response_data = self.class.post(ENDPOINT, body: request_body, basic_auth: @auth, ssl_version: :SSLv3).parsed_response
|
13
14
|
response = response_data[response_data.keys.first].first
|
14
15
|
raise CapitalIQ::APIError, response['ErrMsg'] if response['ErrMsg']
|
15
16
|
response
|
16
17
|
end
|
17
|
-
|
18
|
+
|
18
19
|
def gdst_request(identifier, mnemonic)
|
19
20
|
response = request('GDST', identifier, mnemonic, {PERIODTYPE: "IQ_FQ"})
|
20
21
|
response['Rows'].first['Row'].first
|
21
22
|
end
|
22
|
-
|
23
|
+
|
23
24
|
def gdsp_request(identifier, mnemonic)
|
24
25
|
response = request('GDSP', identifier, mnemonic, nil)
|
25
26
|
response['Rows'].first['Row'].first
|
26
27
|
end
|
27
|
-
|
28
|
-
def
|
29
|
-
response = request('GDSHE',
|
28
|
+
|
29
|
+
def gdshe_request(identifier, mnemonic, properties)
|
30
|
+
response = request('GDSHE', identifier, mnemonic, properties)
|
30
31
|
response['Rows'].first['Row'].first
|
31
32
|
end
|
32
|
-
|
33
|
+
|
34
|
+
def quick_match(name)
|
35
|
+
gdshe_request(name, 'IQ_COMPANY_ID_QUICK_MATCH', {startRank:"1", endRank:"5"})
|
36
|
+
end
|
37
|
+
|
33
38
|
def match_and_request(name, mnemonic)
|
34
39
|
identifier = quick_match(name)
|
35
|
-
|
36
|
-
response['Rows'].first['Row'].first
|
40
|
+
gdsp_request(identifier, mnemonic)
|
37
41
|
end
|
38
|
-
|
39
|
-
def transaction_list(
|
42
|
+
|
43
|
+
def transaction_list(identifier)
|
44
|
+
transaction_items = ['IQ_TR_TARGET_ID', 'IQ_TR_BUYER_ID', 'IQ_TR_SELLER_ID', 'IQ_TR_STATUS', 'IQ_TR_CLOSED_DATE', 'IQ_TR_IMPLIED_EV_FINAL']
|
45
|
+
walk_transactions(identifier, transaction_items)
|
46
|
+
end
|
47
|
+
|
48
|
+
def pe_transactions(identifier)
|
49
|
+
transaction_items = ['IQ_COMPANY_NAME']
|
50
|
+
walk_transactions(identifier, transaction_items)
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
def walk_transactions(identifier, transaction_items)
|
40
55
|
acquisitions = {}
|
41
|
-
identifier = quick_match(name)
|
42
56
|
transaction_list = request('GDSHE', identifier, 'IQ_TRANSACTION_LIST_MA', {startRank:"1", endRank:"20"})
|
43
|
-
transaction_items = ['IQ_TR_TARGET_ID', 'IQ_TR_BUYER_ID', 'IQ_TR_SELLER_ID', 'IQ_TR_STATUS']
|
44
57
|
return nil if transaction_list['Rows'].first["Row"].first == 'Data Unavailable'
|
45
58
|
transaction_list['Rows'].each do |transaction|
|
46
59
|
acquisitions[transaction['Row'].first] = transaction_items.map {|transaction_item|
|
@@ -55,18 +68,9 @@ module CapitalIQ
|
|
55
68
|
]
|
56
69
|
}.reduce({}, :merge)
|
57
70
|
end
|
58
|
-
acquisitions
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
class Transaction
|
63
|
-
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
# Multiple datapoints in request, support in request class/method
|
68
|
-
|
69
|
-
# CapIQ IDs in Org table
|
71
|
+
acquisitions
|
70
72
|
|
71
|
-
|
73
|
+
end
|
72
74
|
|
75
|
+
end
|
76
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capital-iq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Morgan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|