fanforce-cli 1.7.1 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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