tinybucket 1.2.0 → 1.3.0

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: 65f9c7b6e4cffe83881f78a6c23c787e1f054402
4
- data.tar.gz: 2596b76496b6a201d0dbdf9fc22d434b8d2f29b7
3
+ metadata.gz: ef69fc38261a66035f6b72b1e767ec749151ef63
4
+ data.tar.gz: d286e78ed4b5d57e1ab9281e7387b5e3e53b5c8d
5
5
  SHA512:
6
- metadata.gz: f9133bcb3b6c335495c0b00d678d5bf845a45c58ce476dc6e5e45953f7a9201a565c90e832f0681eafebd75c47bf12fc0c91cad8cf94f5f497404293ccba805c
7
- data.tar.gz: cd947d13332ee1ebeafad0f07238e0103905c614ba77fc39f623fcc433701fdd138a35fb08d7bdad941167c7b48f21b7aa463c8658773c004128d759747ac9a7
6
+ metadata.gz: 56e151d12522b22a2661d46a88d6f63cfaae6d233774e74ecaa79ceb0d5495d1a249b58184d1c678f054791c0e26414199eb946731cbc85b70240214f762f25f
7
+ data.tar.gz: 565f64d75e6100c5bb87297368dad0fc07da3ad3716885965ed56f118d0c98d5a897a25b1a547441ff8c257c34fb0a403d344ae88e260f1e82cfdf774796cba5
@@ -2,7 +2,7 @@ sudo: false
2
2
  language: ruby
3
3
  before_install:
4
4
  - gem install bundler -v 1.10.6
5
- rvm: 2.2
5
+ rvm: 2.3.1
6
6
  addons:
7
7
  code_climate:
8
8
  repo_token: 58717000233e2eba64f18993364e4689b9c3e862a3e775d14890cd235979a7f9
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gem 'rake', '~> 10.4'
7
7
  gem 'rspec', '~> 3.4'
8
8
  gem 'rspec-mocks', '~> 3.4'
9
9
  gem 'webmock', '~> 1.24'
10
- gem 'rubocop', '~> 0.38'
10
+ gem 'rubocop', '~> 0.41'
11
11
 
12
12
  gem 'yard', '~> 0.8.7'
13
13
  gem 'yardstick', '~> 0.9'
@@ -27,7 +27,7 @@ module FaradayMiddleware
27
27
  end
28
28
 
29
29
  def oauth_signed_request?(env)
30
- env[:request].fetch(:oauth, nil).present?
30
+ env[:request].oauth
31
31
  end
32
32
 
33
33
  def oauth_options(env)
@@ -24,15 +24,15 @@ module Tinybucket
24
24
  public_repos
25
25
  when 1
26
26
  case args.first
27
- when Hash
28
- public_repos(args.first)
29
- when String, Symbol
30
- owners_repos(args.first)
31
- else
32
- raise ArgumentError
27
+ when Hash then public_repos(args.first)
28
+ when String, Symbol then owners_repos(args.first)
29
+ else raise ArgumentError
33
30
  end
34
31
  when 2
35
- owners_repos(args[0], args[1])
32
+ case args.first
33
+ when String, Symbol then owners_repos(args[0], args[1])
34
+ else raise ArgumentError
35
+ end
36
36
  else
37
37
  raise ArgumentError
38
38
  end
@@ -14,7 +14,8 @@ module Tinybucket
14
14
 
15
15
  # TODO: cache connection for each (options, parser) pairs.
16
16
  Faraday.new(
17
- conn_options.merge(builder: stack(parser, options)))
17
+ conn_options.merge(builder: stack(parser, options))
18
+ )
18
19
  end
19
20
 
20
21
  private
@@ -8,16 +8,12 @@ module Tinybucket
8
8
  def load
9
9
  return true if @_loaded
10
10
 
11
- @_loaded = \
12
- begin
13
- self.attributes = load_model.attributes
14
- true
15
- rescue => e
16
- Tinybucket.logger.error e
17
- false
18
- end
19
-
20
- @_loaded
11
+ self.attributes = load_model.attributes
12
+ @_loaded = true
13
+ rescue => e
14
+ @_loaded = false
15
+ Tinybucket.logger.error e
16
+ raise e
21
17
  end
22
18
 
23
19
  def loaded?
@@ -26,7 +22,9 @@ module Tinybucket
26
22
 
27
23
  def reload
28
24
  @_loaded = false
29
- load
25
+ # rubocop:disable all
26
+ self.load
27
+ # rubocop:enable all
30
28
  end
31
29
 
32
30
  private
@@ -2,7 +2,9 @@ module Tinybucket
2
2
  module Parser
3
3
  class BranchRestrictionParser < BaseParser
4
4
  def convert(json)
5
- Tinybucket::Model::BranchRestriction.new(json)
5
+ Tinybucket::Model::BranchRestriction.new(
6
+ json
7
+ )
6
8
  end
7
9
  end
8
10
  end
@@ -3,7 +3,8 @@ module Tinybucket
3
3
  class BranchRestrictionsParser < BaseParser
4
4
  def convert(json)
5
5
  Tinybucket::Model::Page.new(
6
- json, Tinybucket::Model::BranchRestriction)
6
+ json, Tinybucket::Model::BranchRestriction
7
+ )
7
8
  end
8
9
  end
9
10
  end
@@ -3,7 +3,8 @@ module Tinybucket
3
3
  class CommentsParser < BaseParser
4
4
  def convert(json)
5
5
  Tinybucket::Model::Page.new(
6
- json, Tinybucket::Model::Comment)
6
+ json, Tinybucket::Model::Comment
7
+ )
7
8
  end
8
9
  end
9
10
  end
@@ -3,7 +3,8 @@ module Tinybucket
3
3
  class PullRequestsParser < BaseParser
4
4
  def convert(json)
5
5
  Tinybucket::Model::Page.new(
6
- json, Tinybucket::Model::PullRequest)
6
+ json, Tinybucket::Model::PullRequest
7
+ )
7
8
  end
8
9
  end
9
10
  end
@@ -3,7 +3,8 @@ module Tinybucket
3
3
  class ReposParser < BaseParser
4
4
  def convert(json)
5
5
  Tinybucket::Model::Page.new(
6
- json, Tinybucket::Model::Repository)
6
+ json, Tinybucket::Model::Repository
7
+ )
7
8
  end
8
9
  end
9
10
  end
@@ -1,3 +1,3 @@
1
1
  module Tinybucket
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.3.0'.freeze
3
3
  end
@@ -29,21 +29,30 @@ RSpec.describe Tinybucket::Client do
29
29
 
30
30
  context 'when get repositories of the owner' do
31
31
  let(:owner) { 'test_owner' }
32
+ let(:request_path) { "/repositories/#{owner}" }
32
33
  before { stub_apiresponse(:get, request_path) }
33
34
 
34
35
  context 'without options' do
35
- let(:request_path) { "/repositories/#{owner}" }
36
36
  subject { client.repos(owner) }
37
37
  it { expect(subject).to be_instance_of(Tinybucket::Resource::Repos) }
38
38
  it { expect(subject.instance_variable_get(:@owner)).to eq(owner) }
39
39
  end
40
40
  context 'with options' do
41
- let(:request_path) { "/repositories/#{owner}" }
41
+ let(:options) { { page: 1 } }
42
42
  subject { client.repos(owner, options) }
43
- let(:options) { {} }
44
43
  it { expect(subject).to be_instance_of(Tinybucket::Resource::Repos) }
45
44
  it { expect(subject.instance_variable_get(:@owner)).to eq(owner) }
46
45
  end
46
+ context 'with invalid options' do
47
+ subject { client.repos(owner, 'invalid options') }
48
+ it { expect { subject }.to raise_error(ArgumentError) }
49
+ end
50
+ context 'with invalid owner and options' do
51
+ let(:invalid_owner) { 200 }
52
+ let(:options) { { page: 1 } }
53
+ subject { client.repos(invalid_owner, options) }
54
+ it { expect { subject }.to raise_error(ArgumentError) }
55
+ end
47
56
  end
48
57
 
49
58
  context 'when invalid argument passed' do
@@ -38,11 +38,19 @@ module ModelMacros
38
38
  end
39
39
 
40
40
  context 'when load failed' do
41
+ let(:env) do
42
+ {
43
+ htt_method: :get,
44
+ request_url: 'https://localhost/path/to/resource',
45
+ status_code: 404,
46
+ response_body: 'not found'
47
+ }
48
+ end
41
49
  before do
42
- allow(@model).to receive(:load_model).and_raise(ArgumentError)
50
+ @model.stub(:load_model) { raise Tinybucket::Error::NotFound.new(env) }
43
51
  end
44
52
 
45
- it { expect(subject).to be_falsey }
53
+ it { expect { subject }.to raise_error(Tinybucket::Error::NotFound) }
46
54
  end
47
55
  end
48
56
 
@@ -76,11 +84,19 @@ module ModelMacros
76
84
  end
77
85
 
78
86
  context 'when load failed' do
87
+ let(:env) do
88
+ {
89
+ htt_method: :get,
90
+ request_url: 'https://localhost/path/to/resource',
91
+ status_code: 404,
92
+ response_body: 'not found'
93
+ }
94
+ end
79
95
  before do
80
- allow(@model).to receive(:load_model).and_raise(ArgumentError)
96
+ @model.stub(:load_model) { raise Tinybucket::Error::NotFound.new(env) }
81
97
  end
82
98
 
83
- it { expect(subject).to be_falsey }
99
+ it { expect { subject }.to raise_error(Tinybucket::Error::NotFound) }
84
100
  end
85
101
  end
86
102
  end
@@ -20,10 +20,10 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_runtime_dependency 'activemodel', ['>= 4.1.6']
22
22
  spec.add_runtime_dependency 'activesupport', ['>= 4.1.6']
23
- spec.add_runtime_dependency 'faraday', ['= 0.9.0']
24
- spec.add_runtime_dependency 'faraday_middleware', ['= 0.9.1']
23
+ spec.add_runtime_dependency 'faraday', ['~> 0.9']
24
+ spec.add_runtime_dependency 'faraday_middleware', ['~> 0.10']
25
25
  spec.add_runtime_dependency 'faraday-http-cache', ['~> 1.2']
26
- spec.add_runtime_dependency 'simple_oauth', ['= 0.2.0']
26
+ spec.add_runtime_dependency 'simple_oauth', ['~> 0.3']
27
27
 
28
- spec.add_development_dependency 'bundler', '~> 1.10'
28
+ spec.add_development_dependency 'bundler', '~> 1.10'
29
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tinybucket
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - hirakiuc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-23 00:00:00.000000000 Z
11
+ date: 2016-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -42,30 +42,30 @@ dependencies:
42
42
  name: faraday
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.9.0
47
+ version: '0.9'
48
48
  type: :runtime
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.9.0
54
+ version: '0.9'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday_middleware
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '='
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.9.1
61
+ version: '0.10'
62
62
  type: :runtime
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: 0.9.1
68
+ version: '0.10'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: faraday-http-cache
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -84,16 +84,16 @@ dependencies:
84
84
  name: simple_oauth
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '='
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.2.0
89
+ version: '0.3'
90
90
  type: :runtime
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: 0.2.0
96
+ version: '0.3'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -339,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
339
339
  version: '0'
340
340
  requirements: []
341
341
  rubyforge_project:
342
- rubygems_version: 2.4.5.1
342
+ rubygems_version: 2.5.1
343
343
  signing_key:
344
344
  specification_version: 4
345
345
  summary: ruby wrapper for the Bitbucket REST API (v2) with oauth