AvrijAnalyticsUtility 0.3.0 → 0.3.1

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
  SHA1:
3
- metadata.gz: 0c50158efcdd0e2295575d1e6473d1176484e17a
4
- data.tar.gz: 65d2c32e296d374bbf23ad541bebee96ccd9559d
3
+ metadata.gz: 5ea7a04a55f4cc2f53f9c19ec852e0ae84c1ad08
4
+ data.tar.gz: cfcef712320e9fe051fc13a64efc183934998263
5
5
  SHA512:
6
- metadata.gz: 642b5bb5675f368b7bce40d7af9e57931c07e6d21f25a4ffe5df63728aae218a517898637929433fbc3735fb45e0719549a9b34cfa9279c33b2494ee33f6df1f
7
- data.tar.gz: 4907d8c53b8557dda59246c3089a6753b4bbf253303caa975ae8c4e037bd28dc48e31516b4ee5835c89339742addc4d7b35684a395c12f4fde1189f3c61f08cf
6
+ metadata.gz: 2c33c6ca019c08f04c35325e1ec1567b1e808f40cef96b55178e2c3d4b9c2032b06053780e362e704b38378b2ac461a233c0bc282acc03b21ad8cf33585f79e8
7
+ data.tar.gz: 42d7929bb5e7a7e588ac557c4a977117506e0cddca39acb602f1c02dd5b01bb3e54f78ee2107dc6eb15f3502095a19cb3ff308d754f5ac2d6e3f22606f9e95a7
@@ -1,79 +1,5 @@
1
1
  require "AvrijAnalyticsUtility/version"
2
- require "AvrijAnalyticsUtility/EyesoverConnection"
3
2
 
4
3
  module AvrijAnalyticsUtility
5
4
 
6
- # Get all social media post given from date_1 to date_2
7
- #
8
- # ==== Attributes
9
- #
10
- # * +param_username+ - Username
11
- # * +param_password+ - Password
12
- # * +param_auth_uri+ - Authentication end point
13
- # * +param_data_uri+ - API data source end point
14
- # * +param_from_datetime+ - From date value
15
- # * +param_to_datetime+ - To date value
16
- #
17
- # ==== Return
18
- #
19
- # * returns GET request OBJECT
20
- #
21
- # ==== Notes
22
- # * datetime must have the following format : 2017-06-30T00:00:00+04:00
23
- #
24
- # ====
25
- def self.getAllSocialMediaPostfromDateRange(param_username,param_password,param_auth_uri,param_data_uri,param_from_datetime,param_to_datetime)
26
- query_values = {
27
- "entity" => "All identified",
28
- "from" => param_from_datetime,
29
- "to" => param_to_datetime,
30
- "facebook" => "0",
31
- "facebookPost" => "0",
32
- "reddit"=>"0",
33
- "youtube" => "0",
34
- "youtubeComment"=>"0",
35
- "twitter" => "0",
36
- "news" => "0"
37
- }
38
- puts query_values
39
- conn = APIConnection.new
40
- conn.authenticate(param_username,param_password,param_auth_uri)
41
- get_request_object = conn.getSocialMediaPost(param_data_uri,query_values)
42
- return get_request_object
43
- end
44
-
45
- # Get all entities
46
- #
47
- # ==== Attributes
48
- #
49
- # * +param_username+ - Username
50
- # * +param_password+ - Password
51
- # * +param_auth_uri+ - API endpoint for authentication
52
- # * +param_data_uri+ - API endpoint for data request
53
- #
54
- # ==== Return
55
- #
56
- # * returns GET request OBJECT
57
- #
58
- # ====
59
- def self.getAllEntities(param_username,param_password,param_auth_uri,param_data_uri)
60
- conn = APIConnection.new
61
- conn.authenticate(param_username,param_password,param_auth_uri)
62
- get_request_object = conn.getAllEntities(param_data_uri)
63
- return get_request_object
64
- end
65
-
66
- # Writes json string to json file
67
- #
68
- # ==== Attributes
69
- #
70
- # * +param_jsonstring+ - json string value
71
- # * +param_outputfile+ - json file name
72
- #
73
- # ====
74
- def self.jsonString_to_json(param_jsonstring,param_outputfile)
75
- File.open(param_outputfile,"w") do |f|
76
- f.write(param_jsonstring.to_json)
77
- end
78
- end
79
5
  end
@@ -0,0 +1,127 @@
1
+ require 'rubygems'
2
+ require 'httparty'
3
+ require 'json'
4
+
5
+ module AvrijAnalyticsUtility
6
+ class APIConnector
7
+
8
+ #Constructor
9
+ def initialize(base_uri,username,password)
10
+ @base_uri = base_uri
11
+ @username = username
12
+ @password = password
13
+ @auth_token = nil
14
+ @auth_value = nil
15
+ @header_hash = nil
16
+ @query_hash = nil
17
+ @body_hash = nil
18
+ @request_options = nil
19
+ end
20
+
21
+ # Perform API request
22
+ #
23
+ # ==== Attributes
24
+ # * +apiEndpoint+ - API end point
25
+ # * +headerHash+ - Hash definition of header options
26
+ # * +queryHash+ - Hash definition of query options
27
+ # ==== Examples
28
+ #
29
+ # [apiEndpoint]
30
+ # - Given the complete browser's uri : https://www.company.com:8080/api/endpoint1/endpoint1_1
31
+ # - given the base uri : https://www.company.com:8080
32
+ # - then endpoint is : api/endpoint1/endpoint1_1
33
+ #
34
+ # [headerHash]
35
+ # - my_header: {
36
+ # "Key1" => "value1",
37
+ # "key2" => "value2"
38
+ # }
39
+ #
40
+ # [headerQuery]
41
+ # - my_query {
42
+ # "key1" => "value1",
43
+ # "key2" => "value2"
44
+ # }
45
+ def getRequest(apiEndpoint,headerHash,queryHash)
46
+ @header_hash = headerHash
47
+ @query_hash = queryHash
48
+ request_uri = @base_uri +"/" + apiEndpoint
49
+ @request_options = {headers: @header_hash, query: @query_hash }
50
+ result = HTTParty.get(request_uri,@request_options)
51
+ return result
52
+ end
53
+
54
+ # Set request header hash
55
+ #
56
+ # ==== Attributes
57
+ # * +headerHash+ - Hash definition of header options
58
+ # ==== Examples
59
+ #
60
+ # [headerHash]
61
+ # - my_header: {
62
+ # "Key1" => "value1",
63
+ # "key2" => "value2"
64
+ # }
65
+ def setHeader(headerHash)
66
+ @header_hash = headerHash
67
+ end
68
+
69
+ # Set request query hash
70
+ #
71
+ # ==== Attributes
72
+ # * +queryHash+ - Hash definition of query options
73
+ # ==== Examples
74
+ #
75
+ # [queryHash]
76
+ # - my_query: {
77
+ # "Key1" => "value1",
78
+ # "key2" => "value2"
79
+ # }
80
+ def setQuery(queryHash)
81
+ @query_hash = queryHash
82
+ end
83
+
84
+ # Set request body hash
85
+ #
86
+ # ==== Attributes
87
+ # * +bodyHash+ - Hash definition of body options
88
+ # ==== Examples
89
+ #
90
+ # [bodyHash]
91
+ # - my_body: {
92
+ # "Key1" => "value1",
93
+ # "key2" => "value2"
94
+ # }
95
+ def setBody(bodyHash)
96
+ @body_hash = bodyHash
97
+ end
98
+
99
+ # Request for API authentication
100
+ #
101
+ # ==== Attributes
102
+ # * +authentication_endpoint+ - API authentication end point
103
+ # * +username+ - username
104
+ # * +password+ - password
105
+ # ==== Examples
106
+ # * [authentication_endpoint]
107
+ # - given the complete uri : https://www.company.com/auth
108
+ # - the base uri is : https://www.company.com
109
+ # - the authentication endpoint is : auth
110
+ def authenticate(authentication_endpoint, username, password)
111
+ authentication_uri = @base_uri + "/" + authentication_endpoint
112
+ authentication_options = {headers: @header_hash, body: @body_hash}
113
+ authentication_result = HTTParty.post(authentication_uri, authentication_options)
114
+ if authentication_result.code == 200 # success
115
+ @auth_token = authentication_result.parsed_response["token"]
116
+ @auth_value = "Bearer " + @auth_token
117
+ @header_hash = {
118
+ "authorization" => @auth_value
119
+ }
120
+ result = true
121
+ else
122
+ result = false
123
+ end
124
+ return result
125
+ end
126
+ end # end- APIConnector
127
+ end
@@ -1,3 +1,3 @@
1
1
  module AvrijAnalyticsUtility
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: AvrijAnalyticsUtility
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Dalisay
@@ -120,8 +120,7 @@ files:
120
120
  - bin/console
121
121
  - bin/setup
122
122
  - lib/AvrijAnalyticsUtility.rb
123
- - lib/AvrijAnalyticsUtility/APIConnection.rb
124
- - lib/AvrijAnalyticsUtility/EyesoverConnection.rb
123
+ - lib/AvrijAnalyticsUtility/APIConnector.rb
125
124
  - lib/AvrijAnalyticsUtility/version.rb
126
125
  homepage: https://github.com/Avrij/AvrijAnalyticsUtilityGem.git
127
126
  licenses:
@@ -1,131 +0,0 @@
1
- require 'rubygems'
2
- require 'httparty'
3
- require 'json'
4
-
5
-
6
- class AvrijAnalyticsUtility::APIConnection
7
-
8
- attr_accessor :auth_token, :auth_value, :header_hash, :query_hash, :username, :password, :base_uri, :request_option
9
-
10
- # Constructor
11
- def initialize(base_uri)
12
- @auth_token = nil
13
- @auth_value = nil
14
- @header_hash = nil
15
- @query_hash = nil
16
- @username = nil
17
- @password = nil
18
- @base_uri = base_uri
19
- @request_options = nil
20
- end
21
-
22
- # API Endpoint Request
23
- #
24
- # ==== Attributes
25
- #
26
- # * +param_api_endpoint+ - API endpoint
27
- # * +param_header_hash+ - Header hash
28
- # * +param_query_hash+ - Query hash
29
- #
30
- # ==== Return
31
- #
32
- # * returns get request OBJECT
33
- #
34
- # ==== Example
35
- # * https://www.company.com/api/endpoint1/endpoint1_1
36
- # param_api_endpoint = api/endpoint1/endpoint1_1
37
- # ====
38
- def getAPI_Request(param_api_endpoint,param_header_hash,param_query_hash)
39
- api_request_uri = self.base_uri + param_api_endpoint
40
- self.header_hash = param_header_hash
41
- self.request_options = {headers: param_header_hash, query: param_query_hash}
42
- getRequest_result = HTTParty.get(api_request_uri,@request_options)
43
- end
44
-
45
- # Returns the social media post
46
- #
47
- # ==== Attributes
48
- #
49
- # * +param_api_uri+ - API end point
50
- # * +param_query_hash+ - query hash
51
- #
52
- # ==== Examples
53
- #
54
- # +parap_api_uri+
55
- #
56
- # https://www.company.com:8080/api/endPoint
57
- #
58
- # +param_query_hash+
59
- #
60
- # query_values = {
61
- # "key1" => "value1",
62
- # "key2" => "value2"
63
- # }
64
- #
65
- # ====
66
- def getSocialMediaPost(param_api_uri,param_query_hash)
67
- @OPTIONS = {query: param_query_hash , headers:@HEADER_VALUE}
68
- getRequest_result = HTTParty.get(param_api_uri,@OPTIONS)
69
- return getRequest_result
70
- end
71
-
72
-
73
-
74
- # Returns all entities
75
- #
76
- # ==== Attributes
77
- #
78
- # * +param_api_uri_+ - API end point
79
- #
80
- # ==== Return
81
- #
82
- # * returns get request OBJECT
83
- #
84
- # ==== Examples
85
- #
86
- # +parap_api_uri+
87
- #
88
- # https://www.company.com:8080/api/endPoint
89
- #
90
- # ====
91
- def getAllEntities(param_api_uri)
92
- @OPTIONS = {headers:@HEADER_VALUE}
93
- getRequest_result = HTTParty.get(param_api_uri,@OPTIONS)
94
- return getRequest_result
95
- end
96
-
97
-
98
- # Authenticate
99
- #
100
- # ==== Attributes
101
- #
102
- # * +param_username+ - Username
103
- # * +param_password+ - Password
104
- # * +param_api_uri+ - API endpoint for authentication
105
- #
106
- # ==== Return
107
- #
108
- # * returns TRUE if authentication is successful
109
- #
110
- # ====
111
- def authenticate(param_username,param_password,param_api_uri)
112
- @options = {
113
- headers: {
114
- "Authorization" => "Bearer undefined"
115
- },
116
- body: {
117
- "username" => param_username,
118
- "password" => param_password
119
- }
120
- }
121
- auth_response = HTTParty.post(param_api_uri,@options)
122
- @AUTH_TOKEN = auth_response.parsed_response["token"]
123
- @AUTH_VALUE = "Bearer " + @AUTH_TOKEN
124
- @HEADER_VALUE = {
125
- "authorization" => @AUTH_VALUE
126
- }
127
- return !@AUTH_VALUE.nil?
128
- end
129
-
130
-
131
- end
@@ -1,4 +0,0 @@
1
- class EyesoverConnection < APIConnection
2
-
3
-
4
- end