powify 0.8.5 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 932ae531a960913a9780ecea4c2b1b43b6d661b1
4
+ data.tar.gz: 14fd4299b7fa0c10dd30e08de2cffe3082208128
5
+ SHA512:
6
+ metadata.gz: 6dc6ffcd7ed97dbb70ced50cc5bc75e0b2f81adfb1a106c75ae79d364ac724be8c4029c3c9563ca0ebecabc7ae54b1e1af087322a97d43bd6cd2c98905f2ada2
7
+ data.tar.gz: 34c3a683889753394a0d9bb626d2a76e9220a2492f3fbccab92634c4263c0b380005c5dc69ca8fc2403b2f34e4e0cde234dbae2f19477c7e16b79d2d2429e611
data/.gitignore CHANGED
@@ -1,51 +1,26 @@
1
- # rcov generated
2
- coverage
3
-
4
- # rdoc generated
5
- rdoc
6
-
7
- # yard generated
8
- doc
9
- .yardoc
10
-
11
- # bundler
12
- .bundle
13
-
14
- # jeweler generated
15
- pkg
16
-
17
- # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
18
- #
19
- # * Create a file at ~/.gitignore
20
- # * Include files you want ignored
21
- # * Run: git config --global core.excludesfile ~/.gitignore
22
- #
23
- # After doing this, these files will be ignored in all your git projects,
24
- # saving you from having to 'pollute' every project you touch with them
25
- #
26
- # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
27
- #
28
- # For MacOS:
29
- #
30
- #.DS_Store
31
-
32
- # For TextMate
33
- #*.tmproj
34
- #tmtags
35
-
36
- # For emacs:
37
- #*~
38
- #\#*
39
- #.\#*
40
-
41
- # For vim:
42
- #*.swp
43
-
44
- # For redcar:
45
- #.redcar
46
-
47
- # For rubinius:
48
- #*.rbc
49
-
50
- # Ignore gems built in this dir
51
1
  *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .rvmrc
6
+ .yardoc
7
+ /Gemfile.lock
8
+ _yardoc
9
+ /coverage
10
+ /doc/
11
+ /pkg
12
+ /spec/reports
13
+ /Berksfile*
14
+ tmp
15
+ *~
16
+ *.tar*
17
+ \#*
18
+ .DS_Store
19
+ /spec/knife.rb
20
+ /spec/*.pem
21
+ /features/config.yml
22
+ *.sw[op]
23
+ \.\#*
24
+ rerun.txt
25
+ .rspec
26
+ .kitchen
data/Gemfile CHANGED
@@ -1,3 +1,2 @@
1
1
  source 'http://rubygems.org'
2
-
3
- gemspec
2
+ gemspec
@@ -0,0 +1,81 @@
1
+ Powify
2
+ ======
3
+
4
+ Powify is a management tool for [Pow](http://pow.cx/) by 37 signals. It allows you to easily install, update, and manage pow and pow applications seamlessly. To get started, read the installation section below.
5
+
6
+
7
+ Installation
8
+ ------------
9
+ Install powify using the `gem` command:
10
+
11
+ gem install powify
12
+
13
+ Important Notes
14
+ ---------------
15
+ Powify assumes that your current working directory has the same basename as Pow app. For example, if my site was in:
16
+
17
+ /Users/sethvargo/Development/my_site
18
+
19
+ Powify would expect the name of the Pow app to also be `my_site` (the name of the symlink). This is the default behavior if you just use the command `powify create`. However, it's feasible that you would want a different name that the folder. If this is the case, you'll always need to specify the name of the application like this:
20
+
21
+ powify restart foo
22
+ powify destroy foo
23
+ powify move foo new_foo
24
+
25
+
26
+ ### FAQ
27
+ Q: But Seth, why don't you just search the `~/.pow` directory and grab the symlink that points to the current directory?
28
+
29
+ A: Because it's inefficient and it could cause a problem if the same Pow apps are symlinked multiple times under different names, Powify could accidentally perform an operation on the wrong one.
30
+
31
+
32
+ Q: Why don't you just add a hidden file to the project directory when someone creates the app, then you'll know what the symlinked is named.
33
+
34
+ A: What happens when the same app is symlinked multiple times under a different name? I also hate when applications create files randomly on my hard drive.
35
+
36
+ Usage
37
+ -----
38
+ ```bash
39
+ SERVER COMMANDS
40
+ powify server install install pow server
41
+ powify server reinstall reinstall pow server
42
+ powify server update update pow server
43
+ powify server uninstall uninstall pow server
44
+ powify server list list all pow apps
45
+ powify server start start the pow server
46
+ powify server stop stop the pow server
47
+ powify server restart restart the pow server
48
+ powify server host adds all pow apps to /etc/hosts file
49
+ powify server unhost removes all pow apps from /etc/hosts file
50
+ powify server status print the current server status
51
+ powify server config print the current server configuration
52
+ powify server logs tails the pow server logs
53
+
54
+ UTILS COMMANDS
55
+ powify utils install install powify.dev server management tool
56
+ powify utils reinstall reinstall powify.dev server management tool
57
+ powify utils uninstall uninstall powify.dev server management tool
58
+
59
+ APP COMMANDS
60
+ powify create [NAME] creates a pow app from the current directory
61
+ powify destroy [NAME] destroys the pow app linked to the current directory
62
+ powify restart [NAME] restarts the pow app linked to the current directory
63
+ powify always_restart [NAME] reload the pow app after each request
64
+ powify always_restart_off [NAME] do not reload the pow app after each request
65
+ powify rename [NAME] rename the pow app to [NAME]
66
+ powify rename [OLD] [NEW] rename the pow app [OLD] to [NEW]
67
+ powify environment [ENV] run the this pow app in a different environment (aliased `env`)
68
+ powify browse [NAME] opens and navigates the default browser to this app
69
+ powify logs [NAME] tail the application logs
70
+ ```
71
+
72
+ Important Notes
73
+ ---------------
74
+ The server commands for `start` and `stop` **only** stop the Pow process. They do not modify the existing firewall rules. If you need to disable the firewall rules, please `uninstall` and `install` to re-activate.
75
+
76
+ Contribution
77
+ ------------
78
+ - 9/2 [@lindblom](https://github.com/lindblom) - author of `host` and `unhost`
79
+ - 10/29 [@warwickp](https://github.com/warwickp) - wrote `always_restart_off`
80
+
81
+ If you would like to contribute, fork and send me a pull request.
@@ -1,7 +1,7 @@
1
1
  module Powify
2
2
  class App
3
3
  extend Powify
4
- AVAILABLE_METHODS = %w(create link new destroy unlink remove restart always_restart always_restart_off browse open rename environment env logs help)
4
+ AVAILABLE_METHODS = %w(create link new destroy unlink remove restart always_restart always_restart_off browse open rename environment env logs)
5
5
 
6
6
  class << self
7
7
  def run(args)
@@ -72,7 +72,7 @@ module Powify
72
72
  $stdout.puts "Type `powify server list` for a full list of applications."
73
73
  end
74
74
  end
75
-
75
+
76
76
  # powify always_restart_off
77
77
  # powify always_restart_off foo
78
78
  def always_restart_off(args = [])
@@ -123,8 +123,16 @@ module Powify
123
123
  return if args.empty?
124
124
  app_name, env = File.basename(current_path), args[0].strip.to_s.downcase
125
125
  app_name, env = args[0].strip.to_s.downcase, args[1].strip.to_s.downcase if args.size > 1
126
- symlink_path = "#{POWPATH}/#{app_name}"
127
- %x{echo export RAILS_ENV=#{env} > #{symlink_path}/.powenv}
126
+ env_file = "#{POWPATH}/#{app_name}/.powenv"
127
+ if File.exists?(env_file)
128
+ contents = File.readlines(env_file).reject do |line|
129
+ # Ignore empty lines and lines that define the environment.
130
+ line.strip.empty? || line.match(/^export RAILS_ENV=(.+)/)
131
+ end.compact << "export RAILS_ENV=#{env}"
132
+ File.open(env_file, "w") { |f| f.puts contents }
133
+ else
134
+ %x{echo export RAILS_ENV=#{env} > #{env_file}}
135
+ end
128
136
  $stdout.puts "Successfully changed environment to #{env}."
129
137
  restart [app_name]
130
138
  end
@@ -139,4 +147,4 @@ module Powify
139
147
  end
140
148
  end
141
149
  end
142
- end
150
+ end
@@ -4,7 +4,7 @@ module Powify
4
4
  class << self
5
5
  def run(args = [])
6
6
  begin
7
- if args[0] && args[0].strip != 'help'
7
+ if (%w(version help) & args).empty?
8
8
  return Powify::Server.run(args[1..-1]) if args[0].strip == 'server'
9
9
  return Powify::Utils.run(args[1..-1]) if args[0].strip == 'utils'
10
10
  return Powify::App.run(args)
@@ -13,7 +13,11 @@ module Powify
13
13
  $stdout.puts e
14
14
  end
15
15
 
16
- help
16
+ self.send (%w(version help) & args).first.to_sym
17
+ end
18
+
19
+ def version
20
+ $stdout.puts Powify::VERSION
17
21
  end
18
22
 
19
23
  def help
@@ -53,4 +57,4 @@ module Powify
53
57
  end
54
58
  end
55
59
  end
56
- end
60
+ end
@@ -2,6 +2,7 @@ require 'powify/app'
2
2
  require 'powify/client'
3
3
  require 'powify/server'
4
4
  require 'powify/utils'
5
+ require 'powify/version'
5
6
  require 'fileutils'
6
7
 
7
8
  module Powify
@@ -27,4 +28,4 @@ module Powify
27
28
  result = %x{curl localhost/config.json --silent --header host:pow}
28
29
  JSON.parse(result)
29
30
  end
30
- end
31
+ end
@@ -5,7 +5,7 @@ require 'json'
5
5
  module Powify
6
6
  class Server
7
7
  extend Powify
8
- AVAILABLE_METHODS = %w(install reinstall update uninstall remove start stop restart host unhost status config list logs help)
8
+ AVAILABLE_METHODS = %w(install reinstall update uninstall remove start stop restart host unhost status config list logs)
9
9
 
10
10
  class << self
11
11
  def run(args = [])
@@ -34,21 +34,22 @@ module Powify
34
34
  # Start the POW server (command taken from 37 Signals installation script)
35
35
  def start
36
36
  $stdout.puts "Starting the pow server..."
37
- %x{launchctl load "$HOME/Library/LaunchAgents/cx.pow.powd.plist"}
37
+ %x{sudo launchctl load -Fw /Library/LaunchDaemons/cx.pow.firewall.plist 2>/dev/null}
38
+ %x{launchctl load -Fw "$HOME/Library/LaunchAgents/cx.pow.powd.plist" 2>/dev/null}
38
39
  $stdout.puts "Done!"
39
40
  end
40
41
 
41
42
  # Stop the POW server (command taken from 37 Signals installation script)
42
43
  def stop
43
44
  $stdout.puts "Stopping the pow server..."
44
- %x{launchctl unload "$HOME/Library/LaunchAgents/cx.pow.powd.plist"}
45
+ %x{launchctl unload "$HOME/Library/LaunchAgents/cx.pow.powd.plist" 2>/dev/null}
46
+ %x{sudo launchctl unload "/Library/LaunchDaemons/cx.pow.firewall.plist" 2>/dev/null}
45
47
  $stdout.puts "Done!"
46
48
  end
47
49
 
48
50
  # Restart the POW server
49
51
  def restart
50
- stop
51
- start
52
+ stop && start
52
53
  end
53
54
 
54
55
  # Add POW domains to the hosts file
@@ -118,10 +119,24 @@ module Powify
118
119
  $stdout.puts "\n"
119
120
  end
120
121
 
122
+ def _extract_forward_info(port)
123
+ res_types = { 'p' => :pid, 'c' => :command }
124
+ result = %x{lsof -iTCP:#{port} -Fpc}
125
+ Hash[ result.split("\n").map { |line| [ res_types[line[0]], line[1..-1] ] } ]
126
+ end
121
127
  # List all active POW applications currently on the server
122
128
  def list
123
129
  $stdout.puts "The following POW applications are available:\n\n"
124
- Dir["#{POWPATH}/*"].each { |a| $stdout.puts " #{File.basename(a)} -> #{File.readlink(a)}" }
130
+ Dir["#{POWPATH}/*"].each do |a|
131
+ if File.symlink?(a)
132
+ $stdout.puts " #{File.basename(a)} -> #{File.readlink(a)}"
133
+ else
134
+ port = File.open(a) { |f| f.readline.to_i }
135
+ info = _extract_forward_info(port)
136
+ $stdout.puts " #{File.basename(a)} -> forwarding to :#{port} for" +
137
+ " #{info.fetch(:command, 'Unknown')}[#{info.fetch(:pid, '???')}]"
138
+ end
139
+ end
125
140
  $stdout.puts "\nRun `powify open [APP_NAME]` to browse an app"
126
141
  end
127
142
 
@@ -131,4 +146,4 @@ module Powify
131
146
  end
132
147
  end
133
148
  end
134
- end
149
+ end
@@ -17,7 +17,7 @@ module Powify
17
17
  def install
18
18
  uninstall
19
19
  $stdout.puts "Cloning powify.dev from github and bundling powify.dev..."
20
- %x{git clone -q git@github.com:sethvargo/powify.dev.git powify && cd powify && bundle install --deployment && cd .. && mv powify "#{config['hostRoot']}"}
20
+ %x{git clone -q https://github.com/sethvargo/powify.git powify && cd powify && bundle install --deployment && cd .. && mv powify "#{config['hostRoot']}"}
21
21
  $stdout.puts "Done!"
22
22
  end
23
23
  alias_method :reinstall, :install
@@ -30,4 +30,4 @@ module Powify
30
30
  alias_method :remove, :uninstall
31
31
  end
32
32
  end
33
- end
33
+ end
@@ -0,0 +1,3 @@
1
+ module Powify
2
+ VERSION = '0.9.1'
3
+ end
@@ -1,21 +1,21 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'powify/version'
3
5
 
4
6
  Gem::Specification.new do |s|
5
7
  s.name = 'powify'
6
- s.version = '0.8.5'
8
+ s.version = Powify::VERSION
7
9
  s.author = 'Seth Vargo'
8
10
  s.email = 'sethvargo@gmail.com'
9
11
  s.homepage = 'https://github.com/sethvargo/powify'
10
12
  s.summary = %q{Powify is an easy-to-use wrapper for 37 signal's pow}
11
13
  s.description = %q{Powify provides an easy wrapper for use with 37 signal's pow. Use this gem to easily install and update pow server. Easily create, destroy, and manage pow apps.}
12
14
 
13
- s.rubyforge_project = 'powify'
15
+ s.required_ruby_version = '>= 1.9'
14
16
 
15
17
  s.files = `git ls-files`.split("\n")
16
18
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
- s.require_paths = ["lib"]
19
-
20
- s.add_runtime_dependency 'json'
21
- end
20
+ s.require_paths = ['lib']
21
+ end
metadata CHANGED
@@ -1,27 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: powify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.5
5
- prerelease:
4
+ version: 0.9.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Seth Vargo
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-01-17 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: json
16
- requirement: &70302583337720 !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: *70302583337720
11
+ date: 2014-06-16 00:00:00.000000000 Z
12
+ dependencies: []
25
13
  description: Powify provides an easy wrapper for use with 37 signal's pow. Use this
26
14
  gem to easily install and update pow server. Easily create, destroy, and manage
27
15
  pow apps.
@@ -31,12 +19,10 @@ executables:
31
19
  extensions: []
32
20
  extra_rdoc_files: []
33
21
  files:
34
- - .document
35
- - .gitignore
22
+ - ".gitignore"
36
23
  - Gemfile
37
- - Gemfile.lock
38
24
  - LICENSE
39
- - README.markdown
25
+ - README.md
40
26
  - Rakefile
41
27
  - bin/powify
42
28
  - lib/powify.rb
@@ -45,29 +31,30 @@ files:
45
31
  - lib/powify/core.rb
46
32
  - lib/powify/server.rb
47
33
  - lib/powify/utils.rb
34
+ - lib/powify/version.rb
48
35
  - powify.gemspec
49
36
  homepage: https://github.com/sethvargo/powify
50
37
  licenses: []
38
+ metadata: {}
51
39
  post_install_message:
52
40
  rdoc_options: []
53
41
  require_paths:
54
42
  - lib
55
43
  required_ruby_version: !ruby/object:Gem::Requirement
56
- none: false
57
44
  requirements:
58
- - - ! '>='
45
+ - - ">="
59
46
  - !ruby/object:Gem::Version
60
- version: '0'
47
+ version: '1.9'
61
48
  required_rubygems_version: !ruby/object:Gem::Requirement
62
- none: false
63
49
  requirements:
64
- - - ! '>='
50
+ - - ">="
65
51
  - !ruby/object:Gem::Version
66
52
  version: '0'
67
53
  requirements: []
68
- rubyforge_project: powify
69
- rubygems_version: 1.8.15
54
+ rubyforge_project:
55
+ rubygems_version: 2.2.2
70
56
  signing_key:
71
- specification_version: 3
57
+ specification_version: 4
72
58
  summary: Powify is an easy-to-use wrapper for 37 signal's pow
73
59
  test_files: []
60
+ has_rdoc:
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
@@ -1,16 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- powify (0.8.5)
5
- json
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- json (1.6.5)
11
-
12
- PLATFORMS
13
- ruby
14
-
15
- DEPENDENCIES
16
- powify!
@@ -1,240 +0,0 @@
1
- Powify
2
- ======
3
-
4
- Powify is a management tool for [Pow](http://pow.cx/) by 37 signals. It allows you to easily install, update, and manage pow and pow applications seamlessly. To get started, read the installation section below.
5
-
6
-
7
- Installation
8
- ------------
9
- Install powify using the `gem` command:
10
-
11
- gem install powify
12
-
13
- Important Notes
14
- ---------------
15
- Powify assumes that your current working directory has the same basename as Pow app. For example, if my site was in:
16
-
17
- /Users/sethvargo/Development/my_site
18
-
19
- Powify would expect the name of the Pow app to also be `my_site` (the name of the symlink). This is the default behavior if you just use the command `powify create`. However, it's feasible that you would want a different name that the folder. If this is the case, you'll always need to specify the name of the application like this:
20
-
21
- powify restart foo
22
- powify destroy foo
23
- powify move foo new_foo
24
-
25
-
26
- ### FAQ
27
- Q: But Seth, why don't you just search the `~/.pow` directory and grab the symlink that points to the current directory?
28
-
29
- A: Because it's inefficient and it could cause a problem if the same Pow apps are symlinked multiple times under different names, Powify could accidentally perform an operation on the wrong one.
30
-
31
-
32
- Q: Why don't you just add a hidden file to the project directory when someone creates the app, then you'll know what the symlinked is named.
33
-
34
- A: What happens when the same app is symlinked multiple times under a different name? I also hate when applications create files randomly on my hard drive.
35
-
36
- Usage
37
- -----
38
-
39
- ### Server Commands
40
- Server Commands can be run from anywhere. These are commands that apply to the Pow Server, not an individual application itself.
41
-
42
- $ powify server install
43
- => install pow server
44
-
45
- &nbsp;
46
-
47
- $ powify server reinstall
48
- => reinstall pow server
49
-
50
- &nbsp;
51
-
52
- $ powify server update
53
- => update pow server
54
-
55
- &nbsp;
56
-
57
- $ powify server uninstall
58
- => uninstall pow server
59
-
60
- &nbsp;
61
-
62
- $ powify server list
63
- => list all apps on this pow server
64
-
65
- &nbsp;
66
-
67
- $ powify server start
68
- => start the pow server
69
-
70
- &nbsp;
71
-
72
- $ powify server stop
73
- => stop the pow server
74
-
75
- &nbsp;
76
-
77
- $ powify server restart
78
- => restart the pow server
79
-
80
- &nbsp;
81
-
82
- $ powify server host
83
- => copies all pow apps to /etc/hosts - this is used for offline development when you aren't connected to a network
84
-
85
- `host` was written by [Christopher Lindblom](https://github.com/lindblom)
86
-
87
- $ powify server unhost
88
- => removes all pow apps to /etc/hosts
89
-
90
- `unhost` was written by [Christopher Lindblom](https://github.com/lindblom)
91
-
92
- $ powify server status
93
- => print the current status of the server
94
-
95
- &nbsp;
96
-
97
- $ powify server config
98
- => print the current configuration of the server
99
-
100
- &nbsp;
101
-
102
- $ powify server logs
103
- => tail the pow server logs
104
-
105
- ### Utils Commands
106
- Util commands were introduced after I created [powify.dev](https://github.com/sethvargo/powify.dev). They make installing `powify.dev` really easy!
107
-
108
- $ powify utils install
109
- => install powify.dev
110
-
111
- &nbsp;
112
-
113
- $ powify utils reinstall
114
- => reinstall powify.dev
115
-
116
- &nbsp;
117
-
118
- $ powify utils uninstall
119
- => uninstall powify.dev
120
-
121
-
122
- ### App Commands
123
- App commands should (but don't necessarily have to be) run from the application directory.
124
-
125
- $ powify create
126
- => create a pow app with the same name as the current directory
127
-
128
- &nbsp;
129
-
130
- $ powify create foo
131
- => create a pow app named `foo` served from the current directory
132
-
133
- &nbsp;
134
-
135
- $ powify destroy
136
- => destroy the pow app served from the current directory
137
-
138
- &nbsp;
139
-
140
- $ powify destroy foo
141
- => destroy the pow app named `foo`
142
-
143
- &nbsp;
144
-
145
- $ powify restart
146
- => restart the app served from the current directory
147
-
148
- &nbsp;
149
-
150
- $ powify always_restart
151
- => tell pow to always reload the framework on each request
152
-
153
- &nbsp;
154
-
155
- $ powify always_restart foo
156
- => tell pow to always reload the framework on each request to the pow app named `foo`
157
-
158
- &nbsp;
159
-
160
- $ powify always_restart_off
161
- => tell pow to not reload the framework on each request
162
-
163
- &nbsp;
164
-
165
- $ powify always_restart_off foo
166
- => tell pow to not reload the framework on each request to the pow app named `foo`
167
-
168
- &nbsp;
169
-
170
- $ powify restart foo
171
- => restart the pow app named `foo`
172
-
173
- &nbsp;
174
-
175
- $ powify browse
176
- => open the default browser and navigate to this app
177
-
178
- &nbsp;
179
-
180
- $ powify browse foo
181
- => open the default browser and navigate to the app named `foo`
182
-
183
- &nbsp;
184
-
185
- $ powify browse foo test
186
- => open the default browser and navigate to the app named `foo` resolved on test (http://foo.test)
187
-
188
- &nbsp;
189
-
190
- $ powify logs
191
- => tail the app logs for the app served from this directory
192
-
193
- &nbsp;
194
-
195
- $ powify logs foo
196
- => tail the app logs for the app named `foo`
197
-
198
- &nbsp;
199
-
200
- $ powify rename foo
201
- => rename the pow app in the current directory to `foo`
202
-
203
- &nbsp;
204
-
205
- $ powify rename foo bar
206
- => rename the pow app named `foo` to `bar`
207
-
208
- &nbsp;
209
-
210
- $ powify environment production
211
- => run the current pow app in production
212
-
213
- &nbsp;
214
-
215
- $ powify env staging
216
- => run the current pow app in staging
217
-
218
- &nbsp;
219
-
220
- $ powify help
221
- => list pow commands
222
-
223
-
224
- Contribution
225
- ------------
226
- - 9/2 [@lindblom](https://github.com/lindblom) - author of `host` and `unhost`
227
- - 10/29 [@warwickp](https://github.com/warwickp) - wrote `always_restart_off`
228
-
229
- If you would like to contribute, fork and send me a pull request.
230
-
231
-
232
- License
233
- -------
234
- Copyright (c) 2012 Seth Vargo
235
-
236
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
237
-
238
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
239
-
240
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.