octoauth 0.0.4 → 0.0.7

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
  SHA1:
3
- metadata.gz: 2b25a87f39c451d0ae889199a813dcf4fbc97fae
4
- data.tar.gz: d0234a80a55d0faa0680cd035ec46659889c9738
3
+ metadata.gz: 767e3a5f6ab625d8329b13e212eb069718a9ff97
4
+ data.tar.gz: 57c08a210b5cf0e105012841f87b14a555479bb2
5
5
  SHA512:
6
- metadata.gz: cd798d6c1d88c6f03efb8935bc18e27c38d6d4f81b29bf2c37ad35f05e8c279aa261b576fd96d57fb8827e6c86a20f2ac01869d4a3f033fdaee734c23ff75765
7
- data.tar.gz: 338c3a73b60d1d02b7abab2c88adf5728cd1b2493a98e9e41b5a472c995ff63c5e2aba81325b436d261943c2985487cfc133609f1adb13e73f25b877a5bd8341
6
+ metadata.gz: 5039abbd0b56daaeca13d57aafe221b1c611e5fcba2ee86d3e1355b2c551867844db7501891fd91e3e1df2eec18602c9ebfc0edf02f11c0ec2f4574773a4deff
7
+ data.tar.gz: 0a3a67f009e516f34a30948d5b460b76d2669ecfcc25663bf6f9a0bd402b4182c873c1311c9edd4847b979d998f0cf3430d211c54f066fd2a825668ef4976947
data/.travis.yml CHANGED
@@ -1,6 +1,8 @@
1
1
  language: ruby
2
2
  cache: bundler
3
3
  rvm:
4
+ - 2.1.2
5
+ - 2.1.1
4
6
  - 2.1.0
5
7
  - 2.0.0
6
8
  - 1.9.3
data/Rakefile CHANGED
@@ -5,8 +5,8 @@ require 'rubocop/rake_task'
5
5
  desc 'Run tests'
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
- desc 'Run Rubocop on the gem'
9
- Rubocop::RakeTask.new(:rubocop) do |task|
8
+ desc 'Run RuboCop on the gem'
9
+ RuboCop::RakeTask.new(:rubocop) do |task|
10
10
  task.patterns = ['lib/**/*.rb', 'spec/**/*.rb']
11
11
  task.fail_on_error = true
12
12
  end
data/lib/octoauth/auth.rb CHANGED
@@ -23,11 +23,12 @@ module Octoauth
23
23
 
24
24
  def initialize(params = {})
25
25
  params[:config_note] = "#{params[:note]}"
26
- if params.include? :api_endpoint
26
+ if params[:api_endpoint]
27
27
  params[:config_note] << "--#{params[:api_endpoint]}"
28
28
  end
29
29
  @config = ConfigFile.new file: params[:file], note: params[:config_note]
30
30
  @token = load_token params
31
+ save if params[:autosave]
31
32
  end
32
33
 
33
34
  def save
@@ -61,7 +62,12 @@ module Octoauth
61
62
  rescue Octokit::OneTimePasswordRequired
62
63
  load_token params.merge(needs2fa: true)
63
64
  rescue Octokit::UnprocessableEntity
64
- client.authorizations.find { |x| x[:note] == params[:note] }.token
65
+ check_existing_token client, params
66
+ end
67
+
68
+ def check_existing_token(client, params = {})
69
+ client.authorizations(params.subset(:headers))
70
+ .find { |x| x[:note] == params[:note] }.token
65
71
  end
66
72
  end
67
73
  end
@@ -25,7 +25,7 @@ module Octoauth
25
25
  def write
26
26
  new = get
27
27
  new[@note] = @token
28
- File.open(@file, 'w', 0400) { |fh| fh.write new.to_yaml }
28
+ File.open(@file, 'w', 0600) { |fh| fh.write new.to_yaml }
29
29
  end
30
30
 
31
31
  private
data/octoauth.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'octoauth'
3
- s.version = '0.0.4'
3
+ s.version = '0.0.7'
4
4
  s.date = Time.now.strftime("%Y-%m-%d")
5
5
 
6
6
  s.summary = ''
@@ -13,13 +13,13 @@ Gem::Specification.new do |s|
13
13
  s.files = `git ls-files`.split
14
14
  s.test_files = `git ls-files spec/*`.split
15
15
 
16
- s.add_dependency 'octokit', '~> 3.1.0'
16
+ s.add_dependency 'octokit', '~> 3.2.0'
17
17
  s.add_dependency 'userinput', '~> 0.0.2'
18
18
 
19
- s.add_development_dependency 'rubocop', '~> 0.20.0'
20
- s.add_development_dependency 'rake', '~> 10.3.0'
19
+ s.add_development_dependency 'rubocop', '~> 0.24.0'
20
+ s.add_development_dependency 'rake', '~> 10.3.2'
21
21
  s.add_development_dependency 'coveralls', '~> 0.7.0'
22
- s.add_development_dependency 'rspec', '~> 2.14.1'
23
- s.add_development_dependency 'fuubar', '~> 1.3.2'
24
- s.add_development_dependency 'webmock', '~> 1.17.4'
22
+ s.add_development_dependency 'rspec', '~> 3.0.0'
23
+ s.add_development_dependency 'fuubar', '~> 2.0.0.rc1'
24
+ s.add_development_dependency 'webmock', '~> 1.18.0'
25
25
  end
@@ -6,13 +6,13 @@ require 'fileutils'
6
6
  AuthShim = Struct.new(:note, :token)
7
7
 
8
8
  module UserInput
9
- ##
10
- # Mask prints from UserInput
9
+ ##
10
+ # Mask prints from UserInput
11
11
  class Prompt
12
- def print(*args)
12
+ def print(*)
13
13
  end
14
14
 
15
- def puts(*args)
15
+ def puts(*)
16
16
  end
17
17
  end
18
18
  end
@@ -116,6 +116,28 @@ describe Octoauth do
116
116
  )
117
117
  expect(auth.token).to eql 'qwertyqwertyqwertyqwerty'
118
118
  end
119
+ it 'supports autosaving the config file' do
120
+ random = rand(36**30).to_s(30)
121
+ stub_request(:post, 'https://user:pw@api.github.com/authorizations')
122
+ .with(body: "{\"note\":\"autosave_test\",\"scopes\":[]}")
123
+ .to_return(
124
+ status: 200,
125
+ body: AuthShim.new('foo', random)
126
+ )
127
+ FileUtils.rm_f 'spec/examples/autosave.yml'
128
+ Octoauth::Auth.new(
129
+ note: 'autosave_test',
130
+ file: 'spec/examples/autosave.yml',
131
+ login: 'user',
132
+ password: 'pw',
133
+ autosave: true
134
+ )
135
+ new_auth = Octoauth::Auth.new(
136
+ note: 'autosave_test',
137
+ file: 'spec/examples/autosave.yml'
138
+ )
139
+ expect(new_auth.token).to eql random
140
+ end
119
141
  end
120
142
 
121
143
  describe '#save' do
@@ -61,7 +61,7 @@ describe Octoauth do
61
61
  config.token = random
62
62
  config.write
63
63
  privs = File.stat('spec/examples/priv_test.yml').mode.to_s(8)
64
- expect(privs).to eql '100400'
64
+ expect(privs).to eql '100600'
65
65
  end
66
66
  end
67
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octoauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Aker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-20 00:00:00.000000000 Z
11
+ date: 2014-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.0
19
+ version: 3.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.1.0
26
+ version: 3.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: userinput
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.20.0
47
+ version: 0.24.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.20.0
54
+ version: 0.24.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 10.3.0
61
+ version: 10.3.2
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 10.3.0
68
+ version: 10.3.2
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: coveralls
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,42 +86,42 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 2.14.1
89
+ version: 3.0.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 2.14.1
96
+ version: 3.0.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: fuubar
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.3.2
103
+ version: 2.0.0.rc1
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.3.2
110
+ version: 2.0.0.rc1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: webmock
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.17.4
117
+ version: 1.18.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.17.4
124
+ version: 1.18.0
125
125
  description: ''
126
126
  email: me@lesaker.org
127
127
  executables: []
@@ -175,3 +175,4 @@ test_files:
175
175
  - spec/octoauth/configfile_spec.rb
176
176
  - spec/octoauth_spec.rb
177
177
  - spec/spec_helper.rb
178
+ has_rdoc: