fanforce-cli 1.7.1 → 2.0.0.rc1

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.
@@ -1,99 +0,0 @@
1
- module Fanforce::CLI::Help
2
- extend Fanforce::CLI::Help
3
-
4
- def intro(executable, runtype)
5
- response = "-----------------------------------------------------------------------------------------------------------------------\n"
6
- response += "USAGE: #{executable} <command>\n"
7
- end
8
-
9
- def commands(allowed_commands)
10
- response = "\n\nAVAILABLE COMMANDS...\n-----------------------------------------------------------------------------------------------------------------------\n"
11
- commands = allowed_commands.inject([]) do |results, c|
12
- results << self.send(:"#{c}_command") rescue next results
13
- end
14
- response += commands.join("-----------------------------------------------------------------------------------------------------------------------\n")
15
- response += "-----------------------------------------------------------------------------------------------------------------------\n\n"
16
- end
17
-
18
- def for(command, allowed_commands)
19
- response = "\n#{command.to_s.upcase} COMMAND...\n-----------------------------------------------------------------------------------------------------------------------\n"
20
- response += self.method("#{command}_command").call
21
- response += "-----------------------------------------------------------------------------------------------------------------------\n\n"
22
- end
23
-
24
- def list_command; <<-eos
25
- list Show a list of all apps in the current directory
26
- eos
27
- end
28
-
29
- def create_command; <<-eos
30
- create app-ID Creates a new app folder and sets up the file structure
31
- eos
32
- end
33
-
34
- def delete_command; <<-eos
35
- delete app-ID Delete the app folder and all related services
36
- eos
37
- end
38
-
39
- def update_command; <<-eos
40
- update all|OR... Similar to the create command, except it updates existing files
41
- |files Ensure all files exist and contain correct config
42
- |bundle Run bundle install
43
- |pow Ensure correct pow domains are configured
44
- |git Ensure git is initialized
45
- |env Update ENV variables
46
- eos
47
- end
48
-
49
- def push_command; <<-eos
50
- push RACK_ENV all|OR... Push all changes to the environment specified
51
- |env Update environment vars in remote environments
52
- |bitbucket Push the latest commit to bitbucket
53
- |heroku Push the latest commit to heroku and restart
54
- |iron Push changes to workers
55
- eos
56
- end
57
-
58
- def restart_command; <<-eos
59
- restart [*development|RACK_ENV|all] Runs `touch tmp/restart` if development or else `heroku restart`
60
- eos
61
- end
62
-
63
- def count_command; <<-eos
64
- count Display the number of fanforce apps in the current directory
65
- eos
66
- end
67
-
68
- def bundle_command; <<-eos
69
- bundle install|update Run bundle on all apps in current fanforce
70
- eos
71
- end
72
-
73
- def git_command; <<-eos
74
- git [ANY GIT COMMAND] Run the same git command across all apps in current fanforce
75
- git status:overview A custom git command that displays a simple status for each app
76
- eos
77
- end
78
-
79
- def iron_command; <<-eos
80
- iron upload|reset|delete RACK_ENV|all Updates env variables and upload one or more workers to iron.io
81
- eos
82
- end
83
-
84
- def version_command; <<-eos
85
- version Display your current Fanforce CLI version number
86
- eos
87
- end
88
-
89
- def config_command; <<-eos
90
- config Display your Fanforce CLI config in the current directory
91
- eos
92
- end
93
-
94
- def cleanorgs_command; <<-eos
95
- cleanorgs environment supercore_api_key Remove installs that are no longer valid in the db
96
- eos
97
- end
98
-
99
- end
@@ -1,53 +0,0 @@
1
- module Fanforce::CLI::Run
2
- require 'pty'
3
-
4
- def self.bundle_install(dir)
5
- Dir.chdir(dir) do
6
- command('gem install bundler') if Gem::Specification::find_all_by_name('bundler').empty?
7
- command('bundle install')
8
- end
9
- end
10
-
11
- def self.pow_create(app, root_domain)
12
- domain = "#{app._id}.#{root_domain}"
13
-
14
- symbolic_link = "#{ENV['HOME']}/.pow/#{domain.gsub('.gg','')}"
15
- File.delete(symbolic_link) if File.exists?(symbolic_link)
16
- `ln -s #{app.dir} #{symbolic_link}`
17
- puts "#{'Connected'.format(:bold,:green)} #{domain} to #{app.dir}/"
18
- end
19
-
20
- def self.pow_destroy(app, root_domain)
21
- domain = "#{app._id}.#{root_domain}"
22
- symbolic_link = "#{ENV['HOME']}/.pow/#{domain.gsub('.gg','')}"
23
- if File.exists?(symbolic_link)
24
- File.delete(symbolic_link)
25
- puts "#{'Removed'.format(:bold,:green)} #{domain}"
26
- else
27
- puts "#{'Already Removed'.format(:bold,:green)} #{domain} to #{app.dir}/"
28
- end
29
- end
30
-
31
- def self.git_init
32
- response = `git init`
33
- `git config core.fileMode false`
34
- return response
35
- end
36
-
37
- def self.git_add
38
- `git add .`
39
- end
40
-
41
- def self.git_first_commit
42
- `git commit -m "initial fanforce commit"`
43
- end
44
-
45
- def self.command(command, print_now=true)
46
- output = []
47
- PTY.spawn(command) do |stdin, stdout, pid|
48
- stdin.each { |line| output << line; print line if print_now }
49
- end
50
- output.join("\n")
51
- end
52
-
53
- end