spearly-sdk-ruby 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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: []