hrk 1.0.0 → 1.0.1

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: 6dfbf2f64a50461372620e5d7aa9bcc4295de6d5
4
- data.tar.gz: ab1f2fe43247946ce291faadadaeb4e10f7fcb2a
3
+ metadata.gz: 82d38e84f36d6da9b58b461882813c680b79eeec
4
+ data.tar.gz: b053a4c69d8c8dd28e2d4e1fda5662fb54e66859
5
5
  SHA512:
6
- metadata.gz: 9cbe4f176099d1f231cc492ec591e6307255ee5e46bb051cd984854576065305dac3c17dcf959199725522978703eb6a1c69a2f82a95fa99e5216be9e650e28a
7
- data.tar.gz: 905d3bb4978f67bdbfd55a3e67897e7559a88254a59d8f1bc45d33fa9759f272603de513972195a8f54f46ef364b1ddad7cf416140cf6db1129a282e3038af94
6
+ metadata.gz: 736aec490d90d32fff6744995a47260ba69b42d27954efdef0489bb938f7ee21b26bcc891d5d0eb1bc795f903957219178404850aa538ebc4601f95b01038508
7
+ data.tar.gz: 1f334cd212a2dbf9a5237ce581af3559feba44b14d3cfe7a9dca4f75e51c4b05d0e49d3369a9cbd4c8558a1b20b651b9f58c3b26fde79f4f3f5a153db5a23210
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Hrk
2
2
  [![Gem Version](https://badge.fury.io/rb/hrk.svg)](http://badge.fury.io/rb/hrk)
3
3
  [![Build Status](https://travis-ci.org/Bastes/hrk.svg?branch=master)](https://travis-ci.org/Bastes/hrk)
4
+ [![Coverage Status](https://coveralls.io/repos/Bastes/hrk/badge.png?branch=master)](https://coveralls.io/r/Bastes/hrk?branch=master)
4
5
  [![Dependency Status](https://gemnasium.com/Bastes/hrk.svg)](https://gemnasium.com/Bastes/hrk)
5
6
 
6
7
  Hrk remembers your heroku remotes for you.
@@ -6,6 +6,7 @@ module Hrk
6
6
 
7
7
  def call *command
8
8
  validate! command
9
+ puts "Executing `#{(['heroku'] + command + @remote).join ' '}`..."
9
10
  system 'heroku', *(command + @remote)
10
11
  end
11
12
 
@@ -1,3 +1,3 @@
1
1
  module Hrk
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
@@ -3,13 +3,17 @@ require 'spec_helper'
3
3
  RSpec.describe Hrk::Heroku do
4
4
  describe '#call' do
5
5
  describe 'the system command ran' do
6
- def self.calling command, on_remote: %W(-r whatever-app), starts: ''
6
+ def self.calling command, on_remote: %W(-r whatever-app), starts: [], and_outputs: ''
7
7
  describe "calling '#{command.join ' '}' on remote '#{on_remote}', system" do
8
8
  subject(:heroku) { Hrk::Heroku.new(*on_remote) }
9
9
 
10
- before { heroku.call(*command) }
10
+ before { allow(heroku).to receive(:puts) }
11
11
 
12
- it { expect(heroku).to have_received(:system).with(*starts) }
12
+ specify do
13
+ heroku.call(*command)
14
+ expect(heroku).to have_received(:system).with(*starts)
15
+ expect(heroku).to have_received(:puts).with(and_outputs)
16
+ end
13
17
  end
14
18
  end
15
19
 
@@ -17,25 +21,49 @@ RSpec.describe Hrk::Heroku do
17
21
 
18
22
  %w(-a -r).each do |opt|
19
23
  describe "(standard case, using #{opt})" do
20
- calling %w(call rake db:rollback), on_remote: %W(#{opt} demo), starts: %W(heroku call rake db:rollback #{opt} demo)
21
- calling %w(call rake db:migrate), on_remote: %W(#{opt} prod), starts: %W(heroku call rake db:migrate #{opt} prod)
22
- calling %w(call console), on_remote: %W(#{opt} staging), starts: %W(heroku call console #{opt} staging)
23
- calling %w(logs -t), on_remote: %W(#{opt} prod), starts: %W(heroku logs -t #{opt} prod)
24
- calling %w(pgbackups:capture), on_remote: %W(#{opt} demo), starts: %W(heroku pgbackups:capture #{opt} demo)
24
+ calling %w(call rake db:rollback),
25
+ on_remote: %W(#{opt} demo),
26
+ starts: %W(heroku call rake db:rollback #{opt} demo),
27
+ and_outputs: %Q(Executing `heroku call rake db:rollback #{opt} demo`...)
28
+ calling %w(call rake db:migrate),
29
+ on_remote: %W(#{opt} prod),
30
+ starts: %W(heroku call rake db:migrate #{opt} prod),
31
+ and_outputs: %Q(Executing `heroku call rake db:migrate #{opt} prod`...)
32
+ calling %w(call console),
33
+ on_remote: %W(#{opt} staging),
34
+ starts: %W(heroku call console #{opt} staging),
35
+ and_outputs: %Q(Executing `heroku call console #{opt} staging`...)
36
+ calling %w(logs -t),
37
+ on_remote: %W(#{opt} prod),
38
+ starts: %W(heroku logs -t #{opt} prod),
39
+ and_outputs: %Q(Executing `heroku logs -t #{opt} prod`...)
40
+ calling %w(pgbackups:capture),
41
+ on_remote: %W(#{opt} demo),
42
+ starts: %W(heroku pgbackups:capture #{opt} demo),
43
+ and_outputs: %Q(Executing `heroku pgbackups:capture #{opt} demo`...)
25
44
  end
26
45
  end
27
46
 
28
47
  describe '(edge case)' do
29
48
  subject(:heroku) { Hrk::Heroku.new(*%w(-r some-remote)) }
30
49
 
31
- it { expect { heroku.call(*%w(run rake rake:db:migrate -r some-other-remote)) }.to raise_exception(Hrk::Heroku::ExplicitApplicationError) }
32
- it { expect { heroku.call(*%w(run rake rake:db:migrate -a different-app)) }.to raise_exception(Hrk::Heroku::ExplicitApplicationError) }
50
+ before { allow(heroku).to receive(:puts) }
51
+
52
+ specify 'another remote is mentionned' do
53
+ expect { heroku.call(*%w(run rake rake:db:migrate -r some-other-remote)) }.to raise_exception(Hrk::Heroku::ExplicitApplicationError)
54
+ expect(heroku).not_to have_received(:puts)
55
+ end
56
+ specify 'another app is mentionned' do
57
+ expect { heroku.call(*%w(run rake rake:db:migrate -a different-app)) }.to raise_exception(Hrk::Heroku::ExplicitApplicationError)
58
+ expect(heroku).not_to have_received(:puts)
59
+ end
33
60
  end
34
61
  end
35
62
 
36
63
  describe 'the result of the command' do
37
64
  subject(:heroku) { Hrk::Heroku.new(*%w(-r some-remote)) }
38
65
  before { allow(heroku).to receive(:system).with(*%W(heroku some command -r some-remote)).and_return(system_returns) }
66
+ before { allow(heroku).to receive(:puts) }
39
67
 
40
68
  context 'the command result is truthy' do
41
69
  let(:system_returns) { true }
@@ -1,3 +1,14 @@
1
+ require 'simplecov'
2
+ require 'coveralls'
3
+
4
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
5
+ SimpleCov::Formatter::HTMLFormatter,
6
+ Coveralls::SimpleCov::Formatter
7
+ ]
8
+ SimpleCov.start do
9
+ add_filter '/vendor/bundle/'
10
+ end
11
+
1
12
  require 'hrk'
2
13
 
3
14
  RSpec.configure do |config|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hrk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michel Belleville
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-13 00:00:00.000000000 Z
11
+ date: 2015-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -110,6 +110,46 @@ dependencies:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: 0.2.4
113
+ - !ruby/object:Gem::Dependency
114
+ name: simplecov
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '0.9'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 0.9.1
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '0.9'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 0.9.1
133
+ - !ruby/object:Gem::Dependency
134
+ name: coveralls
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '0.7'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 0.7.1
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '0.7'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.7.1
113
153
  description: |
114
154
  Hrk gives you the hrk command that proxies commands to heroku, keeping track of
115
155
  the latest remote you used so you don't have to keep on typing it on every