tinybucket 1.2.0 → 1.3.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
  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