googlepay 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/Gemfile.lock +9 -9
- data/README.md +30 -17
- data/googlepay.gemspec +3 -1
- data/lib/googlepay.rb +22 -3
- data/lib/googlepay/configuration.rb +9 -0
- data/lib/googlepay/event_ticket_object.rb +2 -3
- data/lib/googlepay/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bbf071ef9e623e1dde9f543d6e64c8787609b511879b00fbfab992744b13d47
|
4
|
+
data.tar.gz: 35497c496d0118dc6b4a55e33725ed29aa3503c7d6d63764ae8d30abdd1a35a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8c0ee0e6cee686574fde73d2be89ee87e9344d1e73d3c928681a3cc0315bd314ef76a026bc560eb4098ebdf85a495bbf273fa4ab751fa3a6f5669cdef3dc415
|
7
|
+
data.tar.gz: 1cb3a80144ad2cd5edf59042b4954013c33f62a268b703b3083e720243d3cb3e8a6b5c68d6795dedff23c3ee40f4d570c586cf82ac423837eae4be47cbbb3e2a
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
googlepay (0.
|
4
|
+
googlepay (0.2.0)
|
5
5
|
googleauth
|
6
6
|
httparty
|
7
7
|
json
|
@@ -18,17 +18,17 @@ GEM
|
|
18
18
|
diff-lcs (1.3)
|
19
19
|
docile (1.3.2)
|
20
20
|
dotenv (2.7.5)
|
21
|
-
faraday (1.0.
|
21
|
+
faraday (1.0.1)
|
22
22
|
multipart-post (>= 1.2, < 3)
|
23
|
-
googleauth (0.
|
23
|
+
googleauth (0.13.0)
|
24
24
|
faraday (>= 0.17.3, < 2.0)
|
25
25
|
jwt (>= 1.4, < 3.0)
|
26
26
|
memoist (~> 0.16)
|
27
27
|
multi_json (~> 1.11)
|
28
28
|
os (>= 0.9, < 2.0)
|
29
|
-
signet (~> 0.
|
29
|
+
signet (~> 0.14)
|
30
30
|
hashdiff (1.0.1)
|
31
|
-
httparty (0.18.
|
31
|
+
httparty (0.18.1)
|
32
32
|
mime-types (~> 3.0)
|
33
33
|
multi_xml (>= 0.5.2)
|
34
34
|
json (2.3.0)
|
@@ -37,11 +37,11 @@ GEM
|
|
37
37
|
method_source (1.0.0)
|
38
38
|
mime-types (3.3.1)
|
39
39
|
mime-types-data (~> 3.2015)
|
40
|
-
mime-types-data (3.
|
40
|
+
mime-types-data (3.2020.0512)
|
41
41
|
multi_json (1.14.1)
|
42
42
|
multi_xml (0.6.0)
|
43
43
|
multipart-post (2.1.1)
|
44
|
-
os (1.0
|
44
|
+
os (1.1.0)
|
45
45
|
pry (0.13.0)
|
46
46
|
coderay (~> 1.1)
|
47
47
|
method_source (~> 1.0)
|
@@ -61,7 +61,7 @@ GEM
|
|
61
61
|
rspec-support (~> 3.9.0)
|
62
62
|
rspec-support (3.9.2)
|
63
63
|
safe_yaml (1.0.5)
|
64
|
-
signet (0.
|
64
|
+
signet (0.14.0)
|
65
65
|
addressable (~> 2.3)
|
66
66
|
faraday (>= 0.17.3, < 2.0)
|
67
67
|
jwt (>= 1.5, < 3.0)
|
@@ -75,7 +75,7 @@ GEM
|
|
75
75
|
addressable (>= 2.3.6)
|
76
76
|
crack (>= 0.3.2)
|
77
77
|
hashdiff (>= 0.4.0, < 2.0.0)
|
78
|
-
zeitwerk (2.3.
|
78
|
+
zeitwerk (2.3.1)
|
79
79
|
|
80
80
|
PLATFORMS
|
81
81
|
ruby
|
data/README.md
CHANGED
@@ -26,22 +26,35 @@ In order to use the googlepay gem, you will need to have a Google Service accoun
|
|
26
26
|
2. Create a new project.
|
27
27
|
3. Within the new project, set up a [Service Account](https://cloud.google.com/iam/docs/service-accounts).
|
28
28
|
4. Click on Actions on your new Service Account, Create Key, generate a JSON key and download.
|
29
|
-
5. Add the file into
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
29
|
+
5. Add the file into an initializer in your project.
|
30
|
+
|
31
|
+
Example: initializers/googlepay.rb
|
32
|
+
|
33
|
+
require 'googlepay'
|
34
|
+
|
35
|
+
Googlepay.configure do |config|
|
36
|
+
config.service_account = {
|
37
|
+
"type": "service_account",
|
38
|
+
"project_id": "",
|
39
|
+
"private_key_id": "",
|
40
|
+
"private_key": "",
|
41
|
+
"client_email": "",
|
42
|
+
"client_id": "",
|
43
|
+
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
44
|
+
"token_uri": "https://oauth2.googleapis.com/token",
|
45
|
+
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
46
|
+
"client_x509_cert_url": ""
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
preferably by storing them as an ENV VAR in YAML format.
|
51
|
+
|
52
|
+
require 'googlepay'
|
53
|
+
|
54
|
+
Googlepay.configure do |config|
|
55
|
+
config.service_account = Rails.application.credentials.service_account
|
56
|
+
#config.service_account = ENV['SERVICE_ACCOUNT']
|
57
|
+
end
|
45
58
|
|
46
59
|
#### Tie your service account to your Google Pay API for Passes account
|
47
60
|
|
@@ -90,7 +103,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
90
103
|
|
91
104
|
## Contributing
|
92
105
|
|
93
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
106
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/regularlady/googlepay. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
94
107
|
|
95
108
|
## License
|
96
109
|
|
data/googlepay.gemspec
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
lib = File.expand_path("../lib", __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
@@ -9,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
9
10
|
spec.authors = ["Brittany Martin"]
|
10
11
|
spec.email = ["brittany.jill.martin@gmail.com"]
|
11
12
|
|
12
|
-
spec.summary = "
|
13
|
+
spec.summary = "An engaging way to offer passes, loyalty programs, and more with Google Pay."
|
13
14
|
spec.homepage = "https://github.com/regularlady/googlepay"
|
14
15
|
spec.license = "MIT"
|
15
16
|
|
@@ -32,6 +33,7 @@ Gem::Specification.new do |spec|
|
|
32
33
|
spec.bindir = "exe"
|
33
34
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
34
35
|
spec.require_paths = ["lib"]
|
36
|
+
spec.required_ruby_version = ">= 2.2.0"
|
35
37
|
|
36
38
|
spec.add_development_dependency "bundler", "~> 2.0"
|
37
39
|
spec.add_development_dependency "pry"
|
data/lib/googlepay.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'googleauth'
|
2
2
|
require 'httparty'
|
3
|
-
require '
|
3
|
+
require 'tempfile'
|
4
4
|
require 'zeitwerk'
|
5
5
|
|
6
6
|
loader = Zeitwerk::Loader.for_gem
|
@@ -14,14 +14,33 @@ module Googlepay
|
|
14
14
|
fetch_token
|
15
15
|
end
|
16
16
|
|
17
|
+
class << self
|
18
|
+
attr_accessor :configuration
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.configuration
|
22
|
+
@configuration ||= Configuration.new
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.reset
|
26
|
+
@configuration = Configuration.new
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.configure
|
30
|
+
yield(configuration)
|
31
|
+
end
|
32
|
+
|
17
33
|
private
|
18
34
|
|
19
35
|
def self.fetch_token
|
36
|
+
json_key = Tempfile.new
|
37
|
+
json_key.write(Googlepay.configuration.service_account.to_json)
|
38
|
+
json_key.rewind
|
20
39
|
authorizer = Google::Auth::ServiceAccountCredentials.make_creds(
|
21
|
-
json_key_io:
|
40
|
+
json_key_io: json_key,
|
22
41
|
scope: SCOPE
|
23
42
|
)
|
24
|
-
|
43
|
+
json_key.close
|
25
44
|
authorizer.fetch_access_token!['access_token']
|
26
45
|
end
|
27
46
|
|
@@ -8,11 +8,10 @@ module Googlepay
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def create
|
11
|
-
|
12
|
-
rsa_private = OpenSSL::PKey::RSA.new json['private_key']
|
11
|
+
rsa_private = OpenSSL::PKey::RSA.new Googlepay.configuration.service_account[:private_key]
|
13
12
|
create_event_object(@parameters)
|
14
13
|
payload = {
|
15
|
-
"iss":
|
14
|
+
"iss": Googlepay.configuration.service_account[:client_email],
|
16
15
|
"aud": 'google',
|
17
16
|
"typ": 'savetoandroidpay',
|
18
17
|
"iat": Time.now.utc.to_i,
|
data/lib/googlepay/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: googlepay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brittany Martin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -143,6 +143,7 @@ files:
|
|
143
143
|
- bin/setup
|
144
144
|
- googlepay.gemspec
|
145
145
|
- lib/googlepay.rb
|
146
|
+
- lib/googlepay/configuration.rb
|
146
147
|
- lib/googlepay/event_ticket_class.rb
|
147
148
|
- lib/googlepay/event_ticket_object.rb
|
148
149
|
- lib/googlepay/version.rb
|
@@ -161,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
162
|
requirements:
|
162
163
|
- - ">="
|
163
164
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
165
|
+
version: 2.2.0
|
165
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
167
|
requirements:
|
167
168
|
- - ">="
|
@@ -171,5 +172,5 @@ requirements: []
|
|
171
172
|
rubygems_version: 3.1.2
|
172
173
|
signing_key:
|
173
174
|
specification_version: 4
|
174
|
-
summary:
|
175
|
+
summary: An engaging way to offer passes, loyalty programs, and more with Google Pay.
|
175
176
|
test_files: []
|