Class: Karo::CLI
- Inherits:
-
Thor
show all
- Includes:
- Common, Thor::Actions
- Defined in:
- lib/karo/cli.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Common
#branch_exists?, #checkout_branch, #create_and_checkout_branch, #create_branch, #current_branch, #git_repo, #make_command, #run_it
Class Method Details
.source_root ⇒ Object
43
44
45
|
# File 'lib/karo/cli.rb', line 43
def self.source_root
File.dirname(__FILE__)
end
|
Instance Method Details
#client(cmd, *extras) ⇒ Object
81
82
83
84
85
|
# File 'lib/karo/cli.rb', line 81
def client(cmd, *)
configuration = Config.load_configuration(options)
command = make_command configuration, "client", cmd,
run_it command, options[:verbose]
end
|
#config ⇒ Object
37
38
39
40
41
|
# File 'lib/karo/cli.rb', line 37
def config
configuration = Config.load_configuration(options)
puts JSON.pretty_generate(configuration) if configuration
end
|
#console ⇒ Object
164
165
166
167
168
169
170
171
|
# File 'lib/karo/cli.rb', line 164
def console
configuration = Config.load_configuration(options)
path = File.join(configuration["path"], "current")
cmd = "cd #{path} && $SHELL --login -c \"bundle exec rails console\""
invoke :server, [cmd]
end
|
#deploy(*extras) ⇒ Object
90
91
92
|
# File 'lib/karo/cli.rb', line 90
def deploy(*)
invoke :client, ["deploy", ]
end
|
#generate ⇒ Object
48
49
50
51
|
# File 'lib/karo/cli.rb', line 48
def generate
config_file = File.expand_path(options[:config_file])
copy_file 'templates/karo.yml', config_file
end
|
#log(*extras) ⇒ Object
195
196
197
198
199
200
201
202
203
204
205
|
# File 'lib/karo/cli.rb', line 195
def log(*)
configuration = Config.load_configuration(options)
path = File.join(configuration["path"], "shared/log/#{options["environment"]}.log")
cmd = "tail"
cmd << " -f" if options[:continous]
cmd << " #{path}"
invoke :server, [cmd, ]
end
|
#rake(command, *extras) ⇒ Object
174
175
176
177
178
179
180
181
|
# File 'lib/karo/cli.rb', line 174
def rake(command, *)
configuration = Config.load_configuration(options)
path = File.join(configuration["path"], "current")
cmd = "cd #{path} && $SHELL --login -c \"bundle exec rake #{command}\""
invoke :server, [cmd, ]
end
|
#server(cmd, *extras) ⇒ Object
136
137
138
139
140
141
142
143
144
|
# File 'lib/karo/cli.rb', line 136
def server(cmd, *)
configuration = Config.load_configuration(options)
ssh = "ssh #{configuration["user"]}@#{configuration["host"]}"
ssh << " -t" if options[:tty]
command = make_command configuration, "server", cmd,
run_it "#{ssh} '#{command}'", options[:verbose]
end
|
#ssh ⇒ Object
154
155
156
157
158
159
160
161
|
# File 'lib/karo/cli.rb', line 154
def ssh
configuration = Config.load_configuration(options)
path = File.join(configuration["path"], "current")
cmd = "cd #{path}; $SHELL --login"
invoke :server, [cmd]
end
|
#top(*extras) ⇒ Object
149
150
151
|
# File 'lib/karo/cli.rb', line 149
def top(*)
invoke :server, ["top", ]
end
|
#version ⇒ Object
208
209
210
|
# File 'lib/karo/cli.rb', line 208
def version
say Karo::VERSION
end
|
#vim(command = "", *extras) ⇒ Object
184
185
186
187
188
189
190
191
|
# File 'lib/karo/cli.rb', line 184
def vim(command="", *)
configuration = Config.load_configuration(options)
path = File.join(configuration["path"], "current", command)
cmd = "vim scp://#{configuration["user"]}@#{configuration["host"]}/#{path}"
invoke :client, [cmd, ]
end
|