spearly-sdk-ruby 0.2.2

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ab93721045a9b8f2ead92c04440eda2c8faef76403b848cf180189d472c77bc9
4
+ data.tar.gz: 959156de05c9fb6b2e9c1404f7a83b2655d463bec7e50de1008f005ba3d60abe
5
+ SHA512:
6
+ metadata.gz: 59e5178100f250cee3e175f8b7028bb5de5e63b3d626e5d85d2fcf9f8fd56f132d832af3942005b8379aa48c025ba462bbb41369133446251e415ecef248b7cd
7
+ data.tar.gz: 586f8d172e9e38d1af0e7d8d50d6ed600f752ee9adb0436ac4aa3428233fb18f486bb71001e774c2853649754ef8227ed125ad2c18df27855feb1933c5adc9a7
@@ -0,0 +1,16 @@
1
+ name: Ruby
2
+ on: [push, pull_request]
3
+ jobs:
4
+ build:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v2
8
+ - name: Set up Ruby
9
+ uses: ruby/setup-ruby@v1
10
+ with:
11
+ ruby-version: 2.7.2
12
+ - name: Run the default task
13
+ run: |
14
+ gem install bundler -v 2.2.15
15
+ bundle install
16
+ bundle exec rake
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format documentation
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,29 @@
1
+ require: rubocop-rspec
2
+ AllCops:
3
+ NewCops: enable
4
+ TargetRubyVersion: 2.7
5
+ Exclude:
6
+ - 'bin/**/*'
7
+ Layout/EmptyLineBetweenDefs:
8
+ Enabled: false
9
+ Layout/LineLength:
10
+ Enabled: false
11
+ Metrics/BlockLength:
12
+ Exclude:
13
+ - 'spec/**/*'
14
+ Metrics/ClassLength:
15
+ Enabled: false
16
+ Metrics/MethodLength:
17
+ Enabled: false
18
+ RSpec/ExampleLength:
19
+ Enabled: false
20
+ RSpec/MessageSpies:
21
+ EnforcedStyle: 'receive'
22
+ RSpec/MultipleExpectations:
23
+ Enabled: false
24
+ Style/ClassAndModuleChildren:
25
+ Enabled: false
26
+ Style/Documentation:
27
+ Enabled: false
28
+ Style/HashSyntax:
29
+ Enabled: false
data/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ ## [0.2.2] - 2021-06-11
2
+
3
+ - Updates README and gem specs
4
+
5
+ ## [0.2.1] - 2021-05-31
6
+
7
+ - Initialize Spearly::Auth::User with bearer token
8
+
9
+ ## [0.2.0] - 2021-05-31
10
+
11
+ - `Rails` controller helpers
12
+ - `Token`, `User` and `Team` classes
13
+
14
+ ## [0.1.0] - 2021-05-21
15
+
16
+ - Initial release
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,93 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ spearly-sdk-ruby (0.2.0)
5
+ addressable (~> 2.3)
6
+ faraday (>= 0.17.4, < 2.0)
7
+ rake (~> 13.0)
8
+ signet (~> 0.15)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ addressable (2.7.0)
14
+ public_suffix (>= 2.0.2, < 5.0)
15
+ ast (2.4.2)
16
+ coderay (1.1.3)
17
+ diff-lcs (1.4.4)
18
+ faraday (1.4.2)
19
+ faraday-em_http (~> 1.0)
20
+ faraday-em_synchrony (~> 1.0)
21
+ faraday-excon (~> 1.1)
22
+ faraday-net_http (~> 1.0)
23
+ faraday-net_http_persistent (~> 1.1)
24
+ multipart-post (>= 1.2, < 3)
25
+ ruby2_keywords (>= 0.0.4)
26
+ faraday-em_http (1.0.0)
27
+ faraday-em_synchrony (1.0.0)
28
+ faraday-excon (1.1.0)
29
+ faraday-net_http (1.0.1)
30
+ faraday-net_http_persistent (1.1.0)
31
+ jwt (2.2.3)
32
+ method_source (1.0.0)
33
+ multi_json (1.15.0)
34
+ multipart-post (2.1.1)
35
+ parallel (1.20.1)
36
+ parser (3.0.1.1)
37
+ ast (~> 2.4.1)
38
+ pry (0.13.1)
39
+ coderay (~> 1.1)
40
+ method_source (~> 1.0)
41
+ public_suffix (4.0.6)
42
+ rainbow (3.0.0)
43
+ rake (13.0.3)
44
+ regexp_parser (2.1.1)
45
+ rexml (3.2.5)
46
+ rspec (3.10.0)
47
+ rspec-core (~> 3.10.0)
48
+ rspec-expectations (~> 3.10.0)
49
+ rspec-mocks (~> 3.10.0)
50
+ rspec-core (3.10.1)
51
+ rspec-support (~> 3.10.0)
52
+ rspec-expectations (3.10.1)
53
+ diff-lcs (>= 1.2.0, < 2.0)
54
+ rspec-support (~> 3.10.0)
55
+ rspec-mocks (3.10.2)
56
+ diff-lcs (>= 1.2.0, < 2.0)
57
+ rspec-support (~> 3.10.0)
58
+ rspec-support (3.10.2)
59
+ rubocop (1.15.0)
60
+ parallel (~> 1.10)
61
+ parser (>= 3.0.0.0)
62
+ rainbow (>= 2.2.2, < 4.0)
63
+ regexp_parser (>= 1.8, < 3.0)
64
+ rexml
65
+ rubocop-ast (>= 1.5.0, < 2.0)
66
+ ruby-progressbar (~> 1.7)
67
+ unicode-display_width (>= 1.4.0, < 3.0)
68
+ rubocop-ast (1.5.0)
69
+ parser (>= 3.0.1.1)
70
+ rubocop-rspec (2.3.0)
71
+ rubocop (~> 1.0)
72
+ rubocop-ast (>= 1.1.0)
73
+ ruby-progressbar (1.11.0)
74
+ ruby2_keywords (0.0.4)
75
+ signet (0.15.0)
76
+ addressable (~> 2.3)
77
+ faraday (>= 0.17.3, < 2.0)
78
+ jwt (>= 1.5, < 3.0)
79
+ multi_json (~> 1.10)
80
+ unicode-display_width (2.0.0)
81
+
82
+ PLATFORMS
83
+ x86_64-darwin-20
84
+
85
+ DEPENDENCIES
86
+ pry (~> 0.13.1)
87
+ rspec (~> 3.0)
88
+ rubocop (~> 1.15)
89
+ rubocop-rspec (~> 2.3)
90
+ spearly-sdk-ruby!
91
+
92
+ BUNDLED WITH
93
+ 2.2.15
data/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # Spearly SDK Ruby
2
+
3
+ Spearly SDK for Ruby.
4
+
5
+ ## Install
6
+
7
+ Add this line to your application's `Gemfile`:
8
+
9
+ ```ruby
10
+ gem 'spearly-sdk-ruby', '~> 0.2.2', require: 'spearly'
11
+ ```
12
+
13
+ And then execute:
14
+ ```sh
15
+ $ bundle install
16
+ ```
17
+
18
+ Or install it yourself as:
19
+ ```sh
20
+ $ gem install spearly-sdk-ruby
21
+ ```
22
+
23
+ ## Publish
24
+ ### Build
25
+ ```sh
26
+ $ rake build
27
+ ```
28
+
29
+ ### Push to RubyGems
30
+ ```sh
31
+ $ gem push pkg/spearly-sdk-ruby-x.y.z.gem
32
+ ```
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ require 'rubocop/rake_task'
9
+
10
+ RuboCop::RakeTask.new
11
+
12
+ task default: %i[spec rubocop]
data/bin/console ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'spearly'
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ require 'pry'
11
+ Pry.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+ IFS=$'\n\t'
5
+ set -vx
6
+
7
+ bundle install
data/bin/spearly ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'spearly'
data/lib/spearly.rb ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'spearly/auth'
4
+ require_relative 'spearly/version'
5
+
6
+ module Spearly
7
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'auth/authorizer'
4
+ require_relative 'auth/engine'
5
+ require_relative 'auth/oauth_user'
6
+ require_relative 'auth/team'
7
+ require_relative 'auth/token'
8
+ require_relative 'auth/user'
9
+
10
+ module Spearly
11
+ module Auth
12
+ class Error < StandardError; end
13
+ class AuthorizationError < Error; end
14
+
15
+ module Rails
16
+ autoload :Helpers, 'spearly/auth/rails/helpers'
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'signet/oauth_2/client'
4
+
5
+ module Spearly
6
+ module Auth
7
+ class Authorizer
8
+ def initialize(params)
9
+ @params = params
10
+ @client = initialize_client
11
+ end
12
+
13
+ def method_missing(name, *args)
14
+ @client.send(name, *args)
15
+ end
16
+
17
+ private
18
+
19
+ def initialize_client
20
+ client = ::Signet::OAuth2::Client.new
21
+ client.client_id = @params[:client_id] || @params['client_id']
22
+ client.client_secret = @params[:client_secret] || @params['client_secret']
23
+ client.code = @params[:code] || @params['code']
24
+ client.grant_type = @params[:grant_type] || @params['grant_type']
25
+ client.authorization_uri = "#{ENV['SPEARLY_AUTH_API_URL']}/api/v1/oauth/authorize"
26
+ client.token_credential_uri = "#{ENV['SPEARLY_AUTH_API_URL']}/api/v1/oauth/token"
27
+ client.redirect_uri = @params[:redirect_uri] || @params['redirect_uri']
28
+
29
+ client.access_token = @params[:access_token] || @params['access_token']
30
+ client.refresh_token = @params[:refresh_token] || @params['refresh_token']
31
+ client.id_token = @params[:id_token] || @params['id_token']
32
+ client.expires_in = @params[:expires_in] || @params['expires_in']
33
+ client.issued_at = @params[:issued_at] || @params['issued_at']
34
+ client.expires_at = @params[:expires_at] || @params['expires_at']
35
+
36
+ client
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spearly
4
+ module Auth
5
+ class Engine < ::Rails::Engine
6
+ initializer 'spearly.helpers' do
7
+ ActiveSupport.on_load(:action_controller) do
8
+ include Spearly::Auth::Rails::Helpers
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable/uri'
4
+ require 'faraday'
5
+
6
+ module Spearly
7
+ module Auth
8
+ class OauthUser
9
+ attr_reader :attributes
10
+
11
+ def initialize(attributes)
12
+ @attributes = attributes
13
+ end
14
+
15
+ def method_missing(name, *_args)
16
+ @attributes[name.to_s]
17
+ end
18
+
19
+ def to_json(*_args)
20
+ @attributes.to_json
21
+ end
22
+
23
+ def as_json
24
+ @attributes.as_json
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spearly
4
+ module Auth
5
+ module Rails
6
+ module Helpers
7
+ def spearly_authorize!
8
+ raise Spearly::Auth::AuthorizationError unless spearly_token
9
+ end
10
+
11
+ private
12
+
13
+ def spearly_token
14
+ @spearly_token ||= begin
15
+ token = Spearly::Auth::Token.new(request.authorization)
16
+ token.info
17
+
18
+ token
19
+ end
20
+ end
21
+
22
+ def spearly_user
23
+ @spearly_user ||= begin
24
+ user = Spearly::Auth::User.new(request.authorization)
25
+ user.find
26
+
27
+ user
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable/uri'
4
+ require 'faraday'
5
+
6
+ module Spearly
7
+ module Auth
8
+ class Team
9
+ attr_reader :attributes
10
+
11
+ def initialize(attributes)
12
+ @attributes = attributes
13
+ end
14
+
15
+ def method_missing(name, *_args)
16
+ @attributes[name.to_s]
17
+ end
18
+
19
+ def to_json(*_args)
20
+ @attributes.to_json
21
+ end
22
+
23
+ def as_json
24
+ @attributes.as_json
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable/uri'
4
+ require 'faraday'
5
+
6
+ module Spearly
7
+ module Auth
8
+ class Token
9
+ attr_reader :attributes, :token
10
+
11
+ def initialize(token)
12
+ @token = token
13
+ end
14
+
15
+ def method_missing(name, *_args)
16
+ @attributes[name.to_s]
17
+ end
18
+
19
+ def info
20
+ token_info_uri = "#{ENV['SPEARLY_AUTH_API_URL']}/api/v1/oauth/token/info"
21
+ url = Addressable::URI.parse(token_info_uri).normalize.to_s
22
+ client = Faraday.default_connection
23
+
24
+ res = client.get(url,
25
+ nil,
26
+ 'Authorization' => @token)
27
+
28
+ return unless res.status == 200
29
+
30
+ @attributes = JSON.parse(res.body)
31
+ end
32
+
33
+ def revoke(params)
34
+ token_revoke_uri = "#{ENV['SPEARLY_AUTH_API_URL']}/api/v1/oauth/revoke"
35
+ url = Addressable::URI.parse(token_revoke_uri).normalize.to_s
36
+ client = Faraday.default_connection
37
+
38
+ bearer_token = @token.gsub(/^Bearer /i, '')
39
+
40
+ client.post(url,
41
+ {
42
+ client_id: params[:client_id],
43
+ client_secret: params[:client_secret],
44
+ token: bearer_token
45
+ })
46
+ end
47
+
48
+ def to_json(*_args)
49
+ @attributes.to_json
50
+ end
51
+
52
+ def as_json
53
+ @attributes.as_json
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable/uri'
4
+ require 'faraday'
5
+
6
+ module Spearly
7
+ module Auth
8
+ class User
9
+ attr_reader :attributes
10
+
11
+ def initialize(token)
12
+ @token = token
13
+ end
14
+
15
+ def method_missing(name, *_args)
16
+ @attributes[name.to_s]
17
+ end
18
+
19
+ def find
20
+ user_profile_uri = "#{ENV['SPEARLY_AUTH_API_URL']}/api/v1/oauth/profile"
21
+ url = Addressable::URI.parse(user_profile_uri).normalize.to_s
22
+ client = Faraday.default_connection
23
+
24
+ res = client.get(url,
25
+ nil,
26
+ 'Authorization' => @token)
27
+
28
+ return unless res.status == 200
29
+
30
+ @attributes = JSON.parse(res.body)['user']
31
+ end
32
+
33
+ def teams
34
+ teams_uri = "#{ENV['SPEARLY_AUTH_API_URL']}/api/v1/teams"
35
+ url = Addressable::URI.parse(teams_uri).normalize.to_s
36
+ client = Faraday.default_connection
37
+
38
+ res = client.get(url,
39
+ nil,
40
+ 'Authorization' => @token)
41
+
42
+ return unless res.status == 200
43
+
44
+ team_hashes = JSON.parse(res.body)['teams']
45
+
46
+ team_hashes.map do |team_hash|
47
+ Spearly::Auth::Team.new(team_hash)
48
+ end
49
+ end
50
+
51
+ def oauth_users
52
+ oauth_users_uri = "#{ENV['SPEARLY_AUTH_API_URL']}/api/v1/oauth_users"
53
+ url = Addressable::URI.parse(oauth_users_uri).normalize.to_s
54
+ client = Faraday.default_connection
55
+
56
+ res = client.get(url,
57
+ nil,
58
+ 'Authorization' => @token)
59
+
60
+ return unless res.status == 200
61
+
62
+ oauth_user_hashes = JSON.parse(res.body)['oauth_users']
63
+
64
+ oauth_user_hashes.map do |oauth_user_hash|
65
+ Spearly::Auth::OauthUser.new(oauth_user_hash)
66
+ end
67
+ end
68
+
69
+ def to_json(*_args)
70
+ @attributes.to_json
71
+ end
72
+
73
+ def as_json
74
+ @attributes.as_json
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spearly
4
+ VERSION = '0.2.2'
5
+ end
data/spearly.gemspec ADDED
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/spearly/version'
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = 'spearly-sdk-ruby'
7
+ gem.version = Spearly::VERSION
8
+ gem.author = 'Spearly'
9
+ gem.email = ['djgrill@unimal.jp']
10
+
11
+ gem.summary = 'Spearly SDK for Ruby'
12
+ gem.homepage = 'https://github.com/unimal-jp/spearly-sdk-ruby'
13
+ gem.required_ruby_version = Gem::Requirement.new('>= 2.7.2')
14
+ gem.metadata['homepage_uri'] = gem.homepage
15
+ gem.metadata['source_code_uri'] = 'https://github.com/unimal-jp/spearly-sdk-ruby'
16
+ gem.metadata['changelog_uri'] = 'https://github.com/unimal-jp/spearly-sdk-ruby/CHANGELOG.md'
17
+
18
+ gem.files = `git ls-files`.split("\n")
19
+ gem.executables = 'spearly'
20
+ gem.require_paths = ['lib']
21
+
22
+ gem.add_dependency 'rake', '~> 13.0'
23
+
24
+ gem.add_runtime_dependency 'addressable', '~> 2.3'
25
+ gem.add_runtime_dependency 'faraday', '>= 0.17.4', '< 2.0'
26
+ gem.add_runtime_dependency 'signet', '~> 0.15'
27
+
28
+ gem.add_development_dependency 'pry', '~> 0.13.1'
29
+ gem.add_development_dependency 'rspec', '~> 3.0'
30
+ gem.add_development_dependency 'rubocop', '~> 1.15'
31
+ gem.add_development_dependency 'rubocop-rspec', '~> 2.3'
32
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Spearly do
4
+ it 'has a version number' do
5
+ expect(Spearly::VERSION).not_to be nil
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spearly'
4
+
5
+ RSpec.configure do |config|
6
+ # Enable flags like --only-failures and --next-failure
7
+ config.example_status_persistence_file_path = '.rspec_status'
8
+
9
+ # Disable RSpec exposing methods globally on `Module` and `main`
10
+ config.disable_monkey_patching!
11
+
12
+ config.expect_with :rspec do |c|
13
+ c.syntax = :expect
14
+ end
15
+ end
metadata ADDED
@@ -0,0 +1,189 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spearly-sdk-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
5
+ platform: ruby
6
+ authors:
7
+ - Spearly
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-06-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '13.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '13.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: addressable
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.3'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.17.4
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '2.0'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 0.17.4
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: signet
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.15'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.15'
75
+ - !ruby/object:Gem::Dependency
76
+ name: pry
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 0.13.1
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 0.13.1
89
+ - !ruby/object:Gem::Dependency
90
+ name: rspec
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rubocop
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.15'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.15'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rubocop-rspec
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '2.3'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '2.3'
131
+ description:
132
+ email:
133
+ - djgrill@unimal.jp
134
+ executables:
135
+ - spearly
136
+ extensions: []
137
+ extra_rdoc_files: []
138
+ files:
139
+ - ".github/workflows/main.yml"
140
+ - ".gitignore"
141
+ - ".rspec"
142
+ - ".rubocop.yml"
143
+ - CHANGELOG.md
144
+ - Gemfile
145
+ - Gemfile.lock
146
+ - README.md
147
+ - Rakefile
148
+ - bin/console
149
+ - bin/setup
150
+ - bin/spearly
151
+ - lib/spearly.rb
152
+ - lib/spearly/auth.rb
153
+ - lib/spearly/auth/authorizer.rb
154
+ - lib/spearly/auth/engine.rb
155
+ - lib/spearly/auth/oauth_user.rb
156
+ - lib/spearly/auth/rails/helpers.rb
157
+ - lib/spearly/auth/team.rb
158
+ - lib/spearly/auth/token.rb
159
+ - lib/spearly/auth/user.rb
160
+ - lib/spearly/version.rb
161
+ - spearly.gemspec
162
+ - spec/spearly_spec.rb
163
+ - spec/spec_helper.rb
164
+ homepage: https://github.com/unimal-jp/spearly-sdk-ruby
165
+ licenses: []
166
+ metadata:
167
+ homepage_uri: https://github.com/unimal-jp/spearly-sdk-ruby
168
+ source_code_uri: https://github.com/unimal-jp/spearly-sdk-ruby
169
+ changelog_uri: https://github.com/unimal-jp/spearly-sdk-ruby/CHANGELOG.md
170
+ post_install_message:
171
+ rdoc_options: []
172
+ require_paths:
173
+ - lib
174
+ required_ruby_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 2.7.2
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ requirements: []
185
+ rubygems_version: 3.2.13
186
+ signing_key:
187
+ specification_version: 4
188
+ summary: Spearly SDK for Ruby
189
+ test_files: []