hanzo 1.0.0 → 1.0.1
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 +4 -4
- data/README.md +16 -0
- data/lib/hanzo/cli.rb +2 -0
- data/lib/hanzo/modules/console.rb +57 -0
- data/lib/hanzo/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06cc1fe7d71c8594d349eab399e17e9d60496fdb
|
4
|
+
data.tar.gz: 771984e5aab716ad657b107181139b8aea3e539e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: acfc7c7c91cb1815a02149800921185be9ff92ea76c48e12afc8f758fb2a5bfa27c3a74335f45bc9577cf904bb9a6d71f6892702f08182215113ceeb70a1924a
|
7
|
+
data.tar.gz: 8c45a59faf8c4894bdf802ba12f860b4122caada58f77a8bacecffcbf22b0997162d1dafe8317e72c3d9233f655a7693295873b57cf55c601ddd152c11c8852a
|
data/README.md
CHANGED
@@ -37,6 +37,8 @@ remotes:
|
|
37
37
|
|
38
38
|
after_deploy:
|
39
39
|
- rake db:migrate
|
40
|
+
|
41
|
+
console: rails console
|
40
42
|
```
|
41
43
|
|
42
44
|
### `hanzo install`
|
@@ -169,6 +171,20 @@ $ hanzo config compare
|
|
169
171
|
- SMTP_USER
|
170
172
|
```
|
171
173
|
|
174
|
+
### `hanzo console`
|
175
|
+
|
176
|
+
You can define a `console` command in `.hanzo.yml` to quickly spawn a console
|
177
|
+
process using `heroku run`.
|
178
|
+
|
179
|
+
```bash
|
180
|
+
$ hanzo console qa
|
181
|
+
```
|
182
|
+
|
183
|
+
```
|
184
|
+
Running iex -S mix on heroku-app-name-qa... up
|
185
|
+
> |
|
186
|
+
```
|
187
|
+
|
172
188
|
## License
|
173
189
|
|
174
190
|
`Hanzo` is © 2013-2018 [Mirego](http://www.mirego.com) and may be freely
|
data/lib/hanzo/cli.rb
CHANGED
@@ -2,6 +2,7 @@ require 'hanzo/modules/deploy'
|
|
2
2
|
require 'hanzo/modules/diff'
|
3
3
|
require 'hanzo/modules/install'
|
4
4
|
require 'hanzo/modules/config'
|
5
|
+
require 'hanzo/modules/console'
|
5
6
|
|
6
7
|
module Hanzo
|
7
8
|
class CLI < Base
|
@@ -35,6 +36,7 @@ module Hanzo
|
|
35
36
|
diff - Show the diff between HEAD and the current release
|
36
37
|
install - Install Hanzo configuration
|
37
38
|
config - Manage Heroku configuration variables
|
39
|
+
console - Run a console command
|
38
40
|
|
39
41
|
Options:
|
40
42
|
BANNER
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Hanzo
|
2
|
+
class Console < Base
|
3
|
+
# Classes
|
4
|
+
UnknownEnvironment = Class.new(StandardError)
|
5
|
+
UninstalledEnvironment = Class.new(StandardError)
|
6
|
+
UnknownCommand = Class.new(StandardError)
|
7
|
+
|
8
|
+
def initialize_variables
|
9
|
+
@env = extract_argument(1)
|
10
|
+
end
|
11
|
+
|
12
|
+
def initialize_cli
|
13
|
+
initialize_help && return if @env.nil?
|
14
|
+
|
15
|
+
validate_environment_existence!
|
16
|
+
|
17
|
+
console
|
18
|
+
rescue UnknownCommand
|
19
|
+
Hanzo.unindent_print 'A “console” command is needed in `.hanzo.yml`', :red
|
20
|
+
rescue UnknownEnvironment
|
21
|
+
Hanzo.unindent_print "Environment `#{@env}` doesn't exist. Add it to .hanzo.yml and run:\n hanzo install remotes", :red
|
22
|
+
Hanzo.unindent_print "\nFor more information, read https://github.com/mirego/hanzo#remotes", :red
|
23
|
+
rescue UninstalledEnvironment
|
24
|
+
Hanzo.unindent_print "Environment `#{@env}` has been found in your .hanzo.yml file. Before using it, you must install it:\n hanzo install remotes", :red
|
25
|
+
end
|
26
|
+
|
27
|
+
def console
|
28
|
+
command = Hanzo.config['console']
|
29
|
+
raise UnknownCommand unless command
|
30
|
+
|
31
|
+
Hanzo.run "heroku run --remote #{@env} #{command}"
|
32
|
+
end
|
33
|
+
|
34
|
+
protected
|
35
|
+
|
36
|
+
def initialize_help
|
37
|
+
@options.banner = <<-BANNER.unindent
|
38
|
+
Usage: hanzo console ENVIRONMENT
|
39
|
+
|
40
|
+
Available environments
|
41
|
+
BANNER
|
42
|
+
|
43
|
+
Hanzo::Installers::Remotes.environments.each do |env|
|
44
|
+
@options.banner << " - #{env.first}\n"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def validate_environment_existence!
|
49
|
+
raise UnknownEnvironment unless fetcher.exist?
|
50
|
+
raise UninstalledEnvironment unless fetcher.installed?
|
51
|
+
end
|
52
|
+
|
53
|
+
def fetcher
|
54
|
+
@fetcher ||= Hanzo::Fetchers::Environment.new(@env)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/hanzo/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanzo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Garneau
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/hanzo/fetchers/environment.rb
|
119
119
|
- lib/hanzo/heroku.rb
|
120
120
|
- lib/hanzo/modules/config.rb
|
121
|
+
- lib/hanzo/modules/console.rb
|
121
122
|
- lib/hanzo/modules/deploy.rb
|
122
123
|
- lib/hanzo/modules/diff.rb
|
123
124
|
- lib/hanzo/modules/install.rb
|