appodeal_id_client 0.1.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 +7 -0
- data/appodeal_id_client.gemspec +36 -0
- data/lib/appodeal_id_client/client.rb +29 -0
- data/lib/appodeal_id_client/version.rb +5 -0
- data/lib/appodeal_id_client.rb +27 -0
- metadata +146 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ca4d6e42a832eebcc0c55301fce6b68c0055d2bfd1586f6eb1c579779c042a85
|
4
|
+
data.tar.gz: 212c585b2a4ab53bd3311a205d1b32e329e43b512f263e255fa9a5fd7e11a921
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: df50a92849b32f8c31eeb53960b944a1cbb59141ca3a918ca3e26cfbd7682e974546886fd1a35321fd4bb22dbd89615f60a33be9fdc157ff3cafec00370db2c8
|
7
|
+
data.tar.gz: e0782d7276a2bb560902bb08300410961b0cd0fa278e9cd3a2252aa6ecba8b526e2618751a74d08237559c420cddd8b4eb4d55ed1034b1fe33839ebc931dd265
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'appodeal_id_client/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.required_ruby_version = '>= 2.7.7'
|
9
|
+
spec.name = 'appodeal_id_client'
|
10
|
+
spec.version = AppodealIdClient::VERSION
|
11
|
+
spec.authors = ['Konstantin Ilchenko']
|
12
|
+
spec.email = ['k.ilchenko@appodeal.com']
|
13
|
+
|
14
|
+
spec.summary = 'Client for Appodeal ID service'
|
15
|
+
spec.description = 'Find or create distributed ID'
|
16
|
+
spec.license = 'GPL-3.0-only'
|
17
|
+
spec.homepage = 'https://appodeal.com'
|
18
|
+
|
19
|
+
# Specify which files should be added to the gem when it is released.
|
20
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
21
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
22
|
+
`git ls-files -z`.split("\x0").grep(%r{(^lib/|.*\.gemspec)})
|
23
|
+
end
|
24
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
25
|
+
spec.require_paths = ['lib']
|
26
|
+
|
27
|
+
spec.add_development_dependency 'bundler', '~> 2.4.7'
|
28
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
29
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
30
|
+
spec.add_development_dependency 'rubocop', '~> 1.45.1'
|
31
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.18'
|
32
|
+
|
33
|
+
spec.add_dependency 'faraday', '~> 1.10.0'
|
34
|
+
spec.add_dependency 'faraday_middleware', '~> 1.1.0'
|
35
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
36
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'faraday'
|
4
|
+
|
5
|
+
module AppodealIdClient
|
6
|
+
# Client for appodeal_id_services
|
7
|
+
class Client
|
8
|
+
def initialize(api_url)
|
9
|
+
@api_url = api_url
|
10
|
+
end
|
11
|
+
|
12
|
+
def find_or_create(data)
|
13
|
+
response = connection.post('/v1', data)
|
14
|
+
response.body
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
attr_reader :api_url
|
20
|
+
|
21
|
+
def connection
|
22
|
+
@connection ||= Faraday.new(api_url) do |c|
|
23
|
+
c.adapter Faraday.default_adapter
|
24
|
+
c.request :json
|
25
|
+
c.request :retry, max: 3, interval: 0.05, interval_randomness: 0.5, backoff_factor: 2
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'appodeal_id_client/version'
|
4
|
+
require 'appodeal_id_client/client'
|
5
|
+
|
6
|
+
# Service find or create appodeal_id from appodeal_id_services
|
7
|
+
module AppodealIdClient
|
8
|
+
class << self
|
9
|
+
attr_accessor :api_url
|
10
|
+
|
11
|
+
def configure
|
12
|
+
yield self
|
13
|
+
true
|
14
|
+
end
|
15
|
+
alias config configure
|
16
|
+
|
17
|
+
def find_or_create(params)
|
18
|
+
client.find_or_create(params)
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def client
|
24
|
+
@client ||= Client.new(api_url)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
metadata
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: appodeal_id_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Konstantin Ilchenko
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-03-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.4.7
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.4.7
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubocop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.45.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.45.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop-rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.18'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.18'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: faraday
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.10.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.10.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: faraday_middleware
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.1.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.1.0
|
111
|
+
description: Find or create distributed ID
|
112
|
+
email:
|
113
|
+
- k.ilchenko@appodeal.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- appodeal_id_client.gemspec
|
119
|
+
- lib/appodeal_id_client.rb
|
120
|
+
- lib/appodeal_id_client/client.rb
|
121
|
+
- lib/appodeal_id_client/version.rb
|
122
|
+
homepage: https://appodeal.com
|
123
|
+
licenses:
|
124
|
+
- GPL-3.0-only
|
125
|
+
metadata:
|
126
|
+
rubygems_mfa_required: 'true'
|
127
|
+
post_install_message:
|
128
|
+
rdoc_options: []
|
129
|
+
require_paths:
|
130
|
+
- lib
|
131
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 2.7.7
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
requirements: []
|
142
|
+
rubygems_version: 3.4.6
|
143
|
+
signing_key:
|
144
|
+
specification_version: 4
|
145
|
+
summary: Client for Appodeal ID service
|
146
|
+
test_files: []
|