octoauth 0.0.4 → 0.0.7

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