Friendlyscore 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 292ef70fc10293b52cd2a3fc17b3379a7fd25f66
4
+ data.tar.gz: f18fbe8c5bda99a0b9a5c573feaa30fef3a5803b
5
+ SHA512:
6
+ metadata.gz: a59978092f2e5dc147b84f9123646b4d6001126aa89ea0a307cc040685d22dc6ea05f3fb03cc783249c1227faf5d2be7ed3939eb4ed83df46c8387f2be4635a7
7
+ data.tar.gz: 53e1c6e84d6c03de6957e11fff8dbe27d93d8c0f82c82d6490a16974e35aa9647af2d977b723bd408a2f1f8ffb90a7c2978fa13a6291e927ae1df9904e8f3eac
@@ -0,0 +1,113 @@
1
+ # gem install oauth2
2
+ require 'oauth2'
3
+ require 'json'
4
+
5
+ module Friendlyscore
6
+
7
+ class Friendlyscore
8
+
9
+ attr_accessor :client_id, :client_secret, :base_url
10
+ attr_reader :client
11
+
12
+ def initialize(cid,sec)
13
+ @by = nil
14
+ @id = nil
15
+ @client_id = cid
16
+ @client_secret = sec
17
+ end
18
+
19
+ def connect
20
+ @client = OAuth2::Client.new(
21
+ @client_id,
22
+ @client_secret,
23
+ {
24
+ :site => @base_url,
25
+ :token_url => '/oauth/v2/token'
26
+ }
27
+ )
28
+ end
29
+
30
+ def token
31
+ connect if @client.nil?
32
+ client.client_credentials.get_token
33
+ end
34
+
35
+ def users(page=1, max_results=20)
36
+ token.get '/api/v2/users.json', :params => { 'page' => page, 'max_results' => max_results }
37
+ end
38
+
39
+ def by_id(id)
40
+ @by = 'id'
41
+ @id = id
42
+ self
43
+ end
44
+
45
+ def by_partner_id(id)
46
+ @by = 'partner-id'
47
+ @id = id
48
+ self
49
+ end
50
+
51
+ def calculate_score(params)
52
+ token.post "/api/v2/users/#{@by}/#{@id}/calculate_score.json", :body => params
53
+ end
54
+
55
+ def user
56
+ token.get "/api/v2/users/#{@by}/#{@id}/show.json"
57
+ end
58
+
59
+ def google_places_data
60
+ token.get "/api/v2/users/#{@by}/#{@id}/google/raw-file-data/places.json"
61
+ end
62
+
63
+ def google_dob_data
64
+ token.get "/api/v2/users/#{@by}/#{@id}/google/raw-file-data/days-of-birth.json"
65
+ end
66
+
67
+ def google_skills_data
68
+ token.get "/api/v2/users/#{@by}/#{@id}/google/raw-file-data/skills.json"
69
+ end
70
+
71
+ def google_phones_data
72
+ token.get "/api/v2/users/#{@by}/#{@id}/google/raw-file-data/phones.json"
73
+ end
74
+
75
+ def google_work_periods_data
76
+ token.get "/api/v2/users/#{@by}/#{@id}/google/raw-file-data/work-periods.json"
77
+ end
78
+
79
+ def google_universities_data
80
+ token.get "/api/v2/users/#{@by}/#{@id}/google/raw-file-data/universities.json"
81
+ end
82
+
83
+ def google_emails_data
84
+ token.get "/api/v2/users/#{@by}/#{@id}/google/raw-file-data/emails.json"
85
+ end
86
+
87
+ def user_ip_address_data
88
+ token.get "/api/v2/users/#{@by}/#{@id}/show/ip-address-data.json"
89
+ end
90
+
91
+ def user_min_fraud_data
92
+ token.get "/api/v2/users/#{@by}/#{@id}/show/min-fraud-data.json"
93
+ end
94
+
95
+ def add_user_performance_data(params)
96
+ token.post "/api/v2/users/#{@by}/#{@id}/performance-data.json", :body => params
97
+ end
98
+
99
+ def set_positive(val)
100
+ token.put "/api/v2/users/#{@by}/#{@id}/positive/#{val ? '1' : '0'}.json"
101
+ end
102
+
103
+ def set_status(status, description)
104
+ params = {
105
+ 'status' => status,
106
+ 'description' => description
107
+ }
108
+ token.post "/api/v2/users/#{@by}/#{@id}/status.json", :body => params
109
+ end
110
+
111
+ end
112
+
113
+ end
@@ -0,0 +1,25 @@
1
+ require 'friendlyscore'
2
+
3
+ module Friendlyscore
4
+
5
+ class Cloud < Friendlyscore
6
+
7
+ def user_social_network_data
8
+ token.get "/api/v2/users/#{@by}/#{@id}/show/social-network-data.json"
9
+ end
10
+
11
+ def user_data_points
12
+ token.get "/api/v2/users/#{@by}/#{@id}/show/data-points.json"
13
+ end
14
+
15
+ def user_heat_map_coordinates
16
+ token.get "/api/v2/users/#{@by}/#{@id}/show/heat-map-coordinates.json"
17
+ end
18
+
19
+ def fraud_alerts
20
+ token.get "/api/v2/fraudalerts/#{@by}/#{@id}/show.json"
21
+ end
22
+
23
+ end
24
+
25
+ end
@@ -0,0 +1,50 @@
1
+ require 'friendlyscore'
2
+
3
+ module Friendlyscore
4
+
5
+ class WhiteLabel < Friendlyscore
6
+
7
+ def initialize(url, cid, sec)
8
+ @by = nil
9
+ @id = nil
10
+ @client_id = cid
11
+ @client_secret = sec
12
+ @base_url = url
13
+ end
14
+
15
+ def get_score(partner_user_id=nil)
16
+ if partner_user_id.nil? and @by == 'partner-id'
17
+ partner_user_id = @id
18
+ end
19
+
20
+ raise ArgumentError, 'Either argument partner_user_id must be passed or by_partner_id() method must be called before get_score' if partner_user_id.nil?
21
+ token.get '/api/v2/get_score.json', :params => { 'partner_user_id' => partner_user_id }
22
+ end
23
+
24
+ def user_facebook_data
25
+ token.get "/api/v2/users/#{@by}/#{@id}/facebook-data.json"
26
+ end
27
+
28
+ def user_linkedin_data
29
+ token.get "/api/v2/users/#{@by}/#{@id}/linkedin-data.json"
30
+ end
31
+
32
+ def user_twitter_data
33
+ token.get "/api/v2/users/#{@by}/#{@id}/twitter-data.json"
34
+ end
35
+
36
+ def user_google_data
37
+ token.get "/api/v2/users/#{@by}/#{@id}/google-data.json"
38
+ end
39
+
40
+ def user_paypal_data
41
+ token.get "/api/v2/users/#{@by}/#{@id}/paypal-data.json"
42
+ end
43
+
44
+ def user_instagram_data
45
+ token.get "/api/v2/users/#{@by}/#{@id}/instagram-data.json"
46
+ end
47
+
48
+ end
49
+
50
+ end
metadata ADDED
@@ -0,0 +1,66 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: Friendlyscore
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - Rafał Toboła
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-10-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: oauth2
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.4'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.4.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.4'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.4.0
33
+ description: Friendlyscore Cloud and Whitelabel API's ruby client
34
+ email: r.tobola@friendlyscore.com
35
+ executables: []
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - lib/friendlyscore.rb
40
+ - lib/friendlyscore/cloud.rb
41
+ - lib/friendlyscore/whitelabel.rb
42
+ homepage: http://rubygems.org/gems/friendlyscore
43
+ licenses:
44
+ - MIT
45
+ metadata: {}
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ requirements: []
61
+ rubyforge_project:
62
+ rubygems_version: 2.6.13
63
+ signing_key:
64
+ specification_version: 4
65
+ summary: Friendlyscore OAuth2 API client.
66
+ test_files: []