project_releaser 0.0.4 → 0.0.5

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: e42b85241d5de5de7ceb62b2dfcba7f47c5734c6
4
- data.tar.gz: 621ccb9a1cda741091c825cb8ab17cb2f436384b
3
+ metadata.gz: 570f8882f32c4f4795dd4c3f164aa04542a88c24
4
+ data.tar.gz: ff08a4263a84f11a8762a08e390da0306c6d846e
5
5
  SHA512:
6
- metadata.gz: ea7db764109f0ee52c8a228e7e34d3b5ba3d167b36a8aa214cd98a4c5f8e2fd533d0d759a950fdea09b0d1514d25107605d7d267d240c37f50e32a248fbbfda0
7
- data.tar.gz: f4515caf266dc56251ae036fe798c4efd72497e0b86ce02e57a82915f4f6a6b3d46d21c9c6d652688c07f8edf09036b62d0307e0eb8c82540a4c5ce8a077f5d4
6
+ metadata.gz: 262e53a6e70074bb22b19d18c089e604f36da1f10e8ca0e91401ff2b3ed44cbcabe50ac9d9f45f300c44a9416d450c234e36a2c84e6796e4f572566b579dc064
7
+ data.tar.gz: 4c6a50ac1124b8b245b5c8e53494d68edbe85d6f83e0f61ae327955145309f5175243fcccbe84556e78d0977dd61db78f35ce9ea345ee7d5ec9db210fe155fbe
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- project_releaser (0.0.3)
4
+ project_releaser (0.0.5)
5
5
  colorize
6
6
  commander
7
7
  git
@@ -10,12 +10,12 @@ GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
12
  coderay (1.1.0)
13
- colorize (0.7.7)
14
- commander (4.3.4)
13
+ colorize (0.8.1)
14
+ commander (4.4.0)
15
15
  highline (~> 1.7.2)
16
16
  diff-lcs (1.2.5)
17
- git (1.2.9.1)
18
- highline (1.7.2)
17
+ git (1.3.0)
18
+ highline (1.7.8)
19
19
  method_source (0.8.2)
20
20
  pry (0.10.1)
21
21
  coderay (~> 1.1.0)
@@ -48,4 +48,4 @@ DEPENDENCIES
48
48
  rspec
49
49
 
50
50
  BUNDLED WITH
51
- 1.12.1
51
+ 1.12.5
@@ -26,11 +26,13 @@ module ProjectReleaser
26
26
  def merge_branches
27
27
  logger.info "merging 'develop' into 'master'"
28
28
  @git.merge :master, :develop
29
+ logger.info "merging back 'master' into 'develop'"
30
+ @git.merge :develop, :master
29
31
  end
30
32
 
31
33
  def push_release(version)
32
34
  logger.info "pushing new release `#{version}` to 'master'"
33
- @git.push :master, version
35
+ @git.push :master, version
34
36
  end
35
37
 
36
38
  def branches
@@ -56,7 +56,7 @@ module ProjectReleaser
56
56
  end
57
57
 
58
58
  def checkout(branch)
59
- @git.checkout branch
59
+ @git.checkout branch
60
60
  rescue Git::GitExecuteError
61
61
  raise MissingBranch, "Branch '#{branch}' is missing"
62
62
  end
@@ -1,3 +1,3 @@
1
1
  module ProjectReleaser
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -2,15 +2,14 @@ require 'spec_helper'
2
2
  require 'json'
3
3
 
4
4
  describe ProjectReleaser::Project::Info do
5
-
6
5
  let(:repository) { double 'git' }
7
6
  let(:subject) { ProjectReleaser::Project::Info.new repository }
8
7
 
9
8
  describe '#name' do
10
9
  it 'gets name from last remote url' do
11
10
  remotes = {
12
- :origin => 'git@git.example.com/hello.git',
13
- :upstream => 'git@git.example.com/goodbye.git'
11
+ origin: 'git@git.example.com/hello.git',
12
+ upstream: 'git@git.example.com/goodbye.git'
14
13
  }
15
14
  allow(repository).to receive(:remotes).and_return(remotes)
16
15
 
@@ -27,10 +26,10 @@ describe ProjectReleaser::Project::Info do
27
26
 
28
27
  describe '#current_version' do
29
28
  it 'fetches remotes and returns current version' do
30
- allow(repository).to receive(:current_version).and_return({ :major => 2, :minor => 3, :patch => 3 })
29
+ allow(repository).to receive(:current_version).and_return(major: 2, minor: 3, patch: 3)
31
30
 
32
31
  allow(repository).to receive(:fetch_tags) do
33
- allow(repository).to receive(:current_version).and_return({ :major => 2, :minor => 3, :patch => 4 })
32
+ allow(repository).to receive(:current_version).and_return(major: 2, minor: 3, patch: 4)
34
33
  end
35
34
 
36
35
  expect(subject.current_version).to eq 'v2.3.4'
@@ -38,9 +37,8 @@ describe ProjectReleaser::Project::Info do
38
37
  end
39
38
 
40
39
  describe '#next_version' do
41
-
42
40
  before :each do
43
- allow(repository).to receive(:current_version).and_return({ :major => 2, :minor => 3, :patch => 4 })
41
+ allow(repository).to receive(:current_version).and_return(major: 2, minor: 3, patch: 4)
44
42
  end
45
43
 
46
44
  it 'returns next patch version' do
@@ -63,20 +61,21 @@ describe ProjectReleaser::Project::Info do
63
61
  expect(subject.next_version nil).to eq 'v2.3.5'
64
62
  end
65
63
 
66
- it 'accepts version type as string' do
64
+ it 'accepts version type as string' do
67
65
  expect(subject.next_version 'major').to eq 'v3.0.0'
68
66
  end
69
67
 
70
68
  it 'returns version_type if it is exact version number' do
71
- expect(subject.next_version 'v7.10.5').to eq 'v7.10.5'
69
+ expect(subject.next_version 'v7.10.5').to eq 'v7.10.5'
72
70
  end
73
71
 
74
72
  it 'returns version_type prefixed with v if it is exact version number' do
75
- expect(subject.next_version '7.10.5').to eq 'v7.10.5'
73
+ expect(subject.next_version '7.10.5').to eq 'v7.10.5'
76
74
  end
77
75
 
78
76
  it 'raises error when version is invalid' do
79
- expect{subject.next_version 'death star'}.to raise_error
77
+ expect { subject.next_version 'death star' }.to raise_error(ArgumentError)
80
78
  end
81
79
  end
82
80
  end
81
+
@@ -13,12 +13,13 @@ describe ProjectReleaser::Project::Releaser do
13
13
  allow(yielded_repository).to receive(:has_branch?).with(:develop).and_return(true)
14
14
  expect(yielded_repository).to receive(:pull).with([:master, :develop]).ordered
15
15
  expect(yielded_repository).to receive(:merge).with(:master, :develop).ordered
16
+ expect(yielded_repository).to receive(:merge).with(:develop, :master).ordered
16
17
  expect(yielded_repository).to receive(:push).with(:master, 'v2.3.5').ordered
17
18
 
18
19
  subject.release 'v2.3.5'
19
20
  end
20
21
 
21
- it 'doesnt pull and skips merging when there is no staging branch' do
22
+ it 'doesnt pull and skips merging when there is no develop branch' do
22
23
  allow(yielded_repository).to receive(:has_branch?).with(:develop).and_return(false)
23
24
  expect(yielded_repository).to receive(:pull).with([:master]).ordered
24
25
  expect(yielded_repository).not_to receive(:merge)
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: project_releaser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - kagux
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-02 00:00:00.000000000 Z
11
+ date: 2016-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '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
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
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
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: git
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: commander
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
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
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: colorize
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: Manage project release routines
@@ -116,10 +116,10 @@ executables:
116
116
  extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
- - ".gitignore"
120
- - ".rspec"
121
- - ".rubocop.yml"
122
- - ".ruby-version"
119
+ - .gitignore
120
+ - .rspec
121
+ - .rubocop.yml
122
+ - .ruby-version
123
123
  - Gemfile
124
124
  - Gemfile.lock
125
125
  - LICENSE.txt
@@ -161,17 +161,17 @@ require_paths:
161
161
  - lib
162
162
  required_ruby_version: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - '>='
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - ">="
169
+ - - '>='
170
170
  - !ruby/object:Gem::Version
171
171
  version: '0'
172
172
  requirements: []
173
173
  rubyforge_project:
174
- rubygems_version: 2.4.8
174
+ rubygems_version: 2.0.14.1
175
175
  signing_key:
176
176
  specification_version: 4
177
177
  summary: Make project release painless