omniauth-timetree 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e2200beb76923448d813e6c66c32320ef7e2bb7dca19d3621eb5363fdeb761b
4
- data.tar.gz: 8f8fe9f3c4008959f7ec7a9f491afb04a70d5d11aea053477293ec663b07ffa6
3
+ metadata.gz: 292fd5cf9dfe3805f15a0e4ab947d7463bb2569a90a49ba7b58ca7947fa67ed3
4
+ data.tar.gz: b54f9805d0cc54384a4fa4c894ec2da8b7ec1dcf0fbdadee7ecde690b61e2d90
5
5
  SHA512:
6
- metadata.gz: fdaaf05fc3106e3b4b3bcc0d8250250049792a9d5d782f3cf517109fc988907be5ad9e6d0f0256727e1376ae14ec029609ffff84ca732358ddafa833f123f4d0
7
- data.tar.gz: f6ee892d6dddbfad98a54d834e3a87bb563c3e699930c0606482266e90e04eb6e2ff20465651d704bbe55097e7e41e9bac6533a63006390c462002733227ea28
6
+ metadata.gz: bc1721a16bbcfb4f4aa5cda9eef8e34b51a2786d439d4be6d64ab5ae17e6603ba698fe406175f328743d783ce74bad7cf4eb4087633add396c24cd4721f468b0
7
+ data.tar.gz: c9c2f7090527b63cbf4f9b75505b91584ec3b6b40ede6a62f707a70b064b9bc36712a28e0f7328aa5a6b1b6eadc01a314044befdcc1ecbcee9e2e89fb49215f3
@@ -0,0 +1,37 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+
7
+ jobs:
8
+ build:
9
+ name: Build + Publish
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ - name: Set up Ruby 2.6
15
+ uses: actions/setup-ruby@v1
16
+ with:
17
+ ruby-version: 2.6
18
+
19
+ - name: Build and test
20
+ run: |
21
+ gem install bundler
22
+ bundle install --jobs 4 --retry 3
23
+ bundle exec rspec
24
+ env:
25
+ CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
26
+
27
+ - name: Publish to RubyGems
28
+ run: |
29
+ mkdir -p $HOME/.gem
30
+ touch $HOME/.gem/credentials
31
+ chmod 0600 $HOME/.gem/credentials
32
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
33
+ gem build *.gemspec
34
+ gem push *.gem
35
+ continue-on-error: true
36
+ env:
37
+ GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
@@ -0,0 +1,21 @@
1
+ name: Test
2
+
3
+ on: pull_request
4
+
5
+ jobs:
6
+ test:
7
+ runs-on: ubuntu-latest
8
+
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - name: Set up Ruby
12
+ uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: 2.6
15
+ - name: Build and test
16
+ run: |
17
+ gem install bundler
18
+ bundle install --jobs 4 --retry 3
19
+ bundle exec rspec
20
+ env:
21
+ CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
data/.gitignore CHANGED
@@ -9,3 +9,5 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+
13
+ Gemfile.lock
@@ -0,0 +1,69 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.6
3
+
4
+ Layout/AccessModifierIndentation:
5
+ EnforcedStyle: outdent
6
+
7
+ Layout/HashAlignment:
8
+ Enabled: false
9
+
10
+ Layout/DotPosition:
11
+ EnforcedStyle: trailing
12
+
13
+ Layout/SpaceInsideHashLiteralBraces:
14
+ EnforcedStyle: no_space
15
+
16
+ Lint/SuppressedException:
17
+ Enabled: false
18
+
19
+ Metrics/BlockLength:
20
+ Enabled: false
21
+
22
+ Metrics/BlockNesting:
23
+ Max: 2
24
+
25
+ Layout/LineLength:
26
+ AllowURI: true
27
+ Enabled: false
28
+
29
+ Metrics/MethodLength:
30
+ CountComments: false
31
+ Max: 15
32
+
33
+ Metrics/ParameterLists:
34
+ Max: 4
35
+ CountKeywordArgs: true
36
+
37
+ Metrics/AbcSize:
38
+ Enabled: false
39
+
40
+ Style/CollectionMethods:
41
+ PreferredMethods:
42
+ map: 'collect'
43
+ reduce: 'inject'
44
+ find: 'detect'
45
+ find_all: 'select'
46
+
47
+ Style/Documentation:
48
+ Enabled: false
49
+
50
+ Style/DoubleNegation:
51
+ Enabled: false
52
+
53
+ Style/EachWithObject:
54
+ Enabled: false
55
+
56
+ Style/Encoding:
57
+ Enabled: false
58
+
59
+ Style/ExpandPathArguments:
60
+ Enabled: false
61
+
62
+ Style/HashSyntax:
63
+ EnforcedStyle: hash_rockets
64
+
65
+ Style/Lambda:
66
+ Enabled: false
67
+
68
+ Style/RaiseArgs:
69
+ EnforcedStyle: compact
@@ -1,3 +1,23 @@
1
+ # 0.2.0
2
+
3
+ - do refactor.
4
+ - rename `OmniAuth::TimeTree` module from `Omniauth::Timetree`.
5
+ - improve tests with Rack::Test.
6
+ - update gem-push GitHub Actions settings in order to ignore error for same version.
7
+
8
+ # 0.1.3
9
+
10
+ - refs #1 setup GitHub Actions for rspec and pushing to RubyGems.
11
+ - measure code coverage
12
+
13
+ # 0.1.2
14
+
15
+ - fixed a bug for empty uid
16
+
17
+ # 0.1.1
18
+
19
+ - fixed a bug for mistakes of TimeTree API URL after exchanging token
20
+
1
21
  # 0.1.0
2
22
 
3
23
  - Initial release
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
- # Omniauth::Timetree
1
+ # OmniAuth::TimeTree
2
2
 
3
+ [![Test](https://github.com/koshilife/omniauth-timetree/workflows/Test/badge.svg)](https://github.com/koshilife/omniauth-timetree/actions?query=workflow%3ATest)
4
+ [![codecov](https://codecov.io/gh/koshilife/omniauth-timetree/branch/master/graph/badge.svg)](https://codecov.io/gh/koshilife/omniauth-timetree)
3
5
  [![Gem Version](https://badge.fury.io/rb/omniauth-timetree.svg)](http://badge.fury.io/rb/omniauth-timetree)
6
+ [![license](https://img.shields.io/github/license/koshilife/omniauth-timetree)](https://github.com/koshilife/omniauth-timetree/blob/master/LICENSE.txt)
4
7
 
5
8
  This gem contains the [TimeTree](https://timetreeapp.com/) strategy for OmniAuth.
6
9
 
@@ -44,9 +47,7 @@ The auth hash `request.env['omniauth.auth']` would look like this:
44
47
  "uid": "12345",
45
48
  "credentials": {
46
49
  "token": "ACCESS_TOKEN",
47
- "refresh_token": "REFRESH_TOKEN",
48
- "expires_at": 1581419031,
49
- "expires": true
50
+ "expires": false
50
51
  },
51
52
  "extra": {
52
53
  "id": "12345",
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Omniauth
4
- module Timetree
5
- VERSION = '0.1.0'
3
+ module OmniAuth
4
+ module TimeTree
5
+ VERSION = '0.2.0'
6
6
  end
7
7
  end
@@ -4,20 +4,24 @@ require 'omniauth-oauth2'
4
4
 
5
5
  module OmniAuth
6
6
  module Strategies
7
- class Timetree < OmniAuth::Strategies::OAuth2
7
+ class TimeTree < OmniAuth::Strategies::OAuth2
8
8
  option :name, 'timetree'
9
- option :client_options, site: 'https://timetreeapp.com',
10
- authorize_url: '/oauth/authorize',
11
- token_url: '/oauth/token'
9
+ option :client_options, :site => 'https://timetreeapp.com'
12
10
 
13
- uid { raw_info[:id] }
11
+ uid { raw_info['id'] }
14
12
 
15
13
  extra do
16
- { raw_info: raw_info }
14
+ {:raw_info => raw_info}
17
15
  end
18
16
 
17
+ private
18
+
19
19
  def raw_info
20
- @raw_info ||= access_token.get('/user').parsed['data'] || {}
20
+ return @raw_info if defined?(@raw_info)
21
+
22
+ endpoint = 'https://timetreeapis.com/user'
23
+ options = {:headers => {'Accept' => 'application/vnd.timetree.v1+json'}}
24
+ @raw_info = access_token.get(endpoint, options).parsed
21
25
  end
22
26
 
23
27
  def callback_url
@@ -4,7 +4,7 @@ require_relative 'lib/omniauth-timetree/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'omniauth-timetree'
7
- spec.version = Omniauth::Timetree::VERSION
7
+ spec.version = OmniAuth::TimeTree::VERSION
8
8
  spec.authors = ['Kenji Koshikawa']
9
9
  spec.email = ['koshikawa2009@gmail.com']
10
10
 
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.metadata['homepage_uri'] = spec.homepage
18
18
  spec.metadata['source_code_uri'] = 'https://github.com/koshilife/omniauth-timetree'
19
19
  spec.metadata['changelog_uri'] = "#{spec.metadata['source_code_uri']}/blob/master/CHANGELOG.md"
20
- spec.metadata['documentation_uri'] = 'https://www.rubydoc.info/gems/omniauth-timetree/'
20
+ spec.metadata['documentation_uri'] = "https://www.rubydoc.info/gems/omniauth-timetree/#{spec.version}"
21
21
 
22
22
  # Specify which files should be added to the gem when it is released.
23
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -29,7 +29,13 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ['lib']
30
30
 
31
31
  spec.add_runtime_dependency 'omniauth-oauth2', '~> 1.6.0'
32
+
32
33
  spec.add_development_dependency 'bundler', '~> 2.0'
34
+ spec.add_development_dependency 'codecov', '~> 0.1.17'
35
+ spec.add_development_dependency 'omniauth', '~> 1.9.1'
36
+ spec.add_development_dependency 'rack-test', '~> 1.1.0'
33
37
  spec.add_development_dependency 'rake', '~> 12.0'
34
38
  spec.add_development_dependency 'rspec', '~> 3.0'
39
+ spec.add_development_dependency 'simplecov', '~> 0.18.5'
40
+ spec.add_development_dependency 'webmock', '~> 3.7.6'
35
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-timetree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenji Koshikawa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-12 00:00:00.000000000 Z
11
+ date: 2020-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2
@@ -38,6 +38,48 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: codecov
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.1.17
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.1.17
55
+ - !ruby/object:Gem::Dependency
56
+ name: omniauth
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.9.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.9.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack-test
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.1.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.1.0
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: rake
43
85
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +108,34 @@ dependencies:
66
108
  - - "~>"
67
109
  - !ruby/object:Gem::Version
68
110
  version: '3.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.18.5
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.18.5
125
+ - !ruby/object:Gem::Dependency
126
+ name: webmock
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 3.7.6
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 3.7.6
69
139
  description: ''
70
140
  email:
71
141
  - koshikawa2009@gmail.com
@@ -73,13 +143,14 @@ executables: []
73
143
  extensions: []
74
144
  extra_rdoc_files: []
75
145
  files:
146
+ - ".github/workflows/gem-push.yml"
147
+ - ".github/workflows/test.yml"
76
148
  - ".gitignore"
77
149
  - ".rspec"
78
- - ".travis.yml"
150
+ - ".rubocop.yml"
79
151
  - CHANGELOG.md
80
152
  - CODE_OF_CONDUCT.md
81
153
  - Gemfile
82
- - Gemfile.lock
83
154
  - LICENSE.txt
84
155
  - README.md
85
156
  - Rakefile
@@ -96,7 +167,7 @@ metadata:
96
167
  homepage_uri: https://github.com/koshilife/omniauth-timetree
97
168
  source_code_uri: https://github.com/koshilife/omniauth-timetree
98
169
  changelog_uri: https://github.com/koshilife/omniauth-timetree/blob/master/CHANGELOG.md
99
- documentation_uri: https://www.rubydoc.info/gems/omniauth-timetree/
170
+ documentation_uri: https://www.rubydoc.info/gems/omniauth-timetree/0.2.0
100
171
  post_install_message:
101
172
  rdoc_options: []
102
173
  require_paths:
@@ -112,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
183
  - !ruby/object:Gem::Version
113
184
  version: '0'
114
185
  requirements: []
115
- rubygems_version: 3.1.3
186
+ rubygems_version: 3.0.3
116
187
  signing_key:
117
188
  specification_version: 4
118
189
  summary: OmniAuth strategy for TimeTree
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.6.3
6
- before_install: gem install bundler -v 2.1.4
@@ -1,56 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- omniauth-timetree (0.1.0)
5
- omniauth-oauth2 (~> 1.6.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- diff-lcs (1.3)
11
- faraday (1.0.1)
12
- multipart-post (>= 1.2, < 3)
13
- hashie (4.1.0)
14
- jwt (2.2.1)
15
- multi_json (1.14.1)
16
- multi_xml (0.6.0)
17
- multipart-post (2.1.1)
18
- oauth2 (1.4.4)
19
- faraday (>= 0.8, < 2.0)
20
- jwt (>= 1.0, < 3.0)
21
- multi_json (~> 1.3)
22
- multi_xml (~> 0.5)
23
- rack (>= 1.2, < 3)
24
- omniauth (1.9.1)
25
- hashie (>= 3.4.6)
26
- rack (>= 1.6.2, < 3)
27
- omniauth-oauth2 (1.6.0)
28
- oauth2 (~> 1.1)
29
- omniauth (~> 1.9)
30
- rack (2.2.2)
31
- rake (12.3.3)
32
- rspec (3.9.0)
33
- rspec-core (~> 3.9.0)
34
- rspec-expectations (~> 3.9.0)
35
- rspec-mocks (~> 3.9.0)
36
- rspec-core (3.9.1)
37
- rspec-support (~> 3.9.1)
38
- rspec-expectations (3.9.0)
39
- diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.9.0)
41
- rspec-mocks (3.9.1)
42
- diff-lcs (>= 1.2.0, < 2.0)
43
- rspec-support (~> 3.9.0)
44
- rspec-support (3.9.2)
45
-
46
- PLATFORMS
47
- ruby
48
-
49
- DEPENDENCIES
50
- bundler (~> 2.0)
51
- omniauth-timetree!
52
- rake (~> 12.0)
53
- rspec (~> 3.0)
54
-
55
- BUNDLED WITH
56
- 2.1.4