class CodePicnic::Console
Attributes
api_url[RW]
container_name[RW]
container_type[RW]
created_at[RW]
custom_image[RW]
embed_url[RW]
id[RW]
is_headless[RW]
name[RW]
permalink[RW]
terminal_url[RW]
url[RW]
Public Class Methods
new(opts={})
click to toggle source
# File lib/codepicnic/console.rb, line 11 def initialize(opts={}) @id = opts.delete("id") || opts.delete(:id) @name = opts.delete("name") || opts.delete(:name) @container_name = opts.delete("container_name") || opts.delete(:container_name) @container_type = opts.delete("container_type") || opts.delete(:container_type) @custom_image = opts.delete("custom_image") || opts.delete(:custom_image) @created_at = opts.delete("created_at") || opts.delete(:created_at) @container_size = opts.delete("container_size") || opts.delete(:container_size) @title = @name || opts.delete("title") || opts.delete(:title) @hostname = opts.delete("hostname") || opts.delete(:hostname) @is_headless = opts.delete("is_headless") || opts.delete(:is_headless) @url = opts.delete("url") || opts.delete(:url) @embed_url = opts.delete("embed_url") || opts.delete(:embed_url) @permalink = opts.delete("permalink") || opts.delete(:permalink) @terminal_url = opts.delete("terminal_url") || opts.delete(:terminal_url) end
Private Class Methods
all()
click to toggle source
# File lib/codepicnic/console.rb, line 90 def all get(url_to)["consoles"].map{|data| Console.new(data) } end
batch_exec(commands = [], container_names = [])
click to toggle source
# File lib/codepicnic/console.rb, line 98 def batch_exec(commands = [], container_names = []) post url_to(nil, "exec"), {commands: commands, container_names: container_names } end
find(container_name)
click to toggle source
# File lib/codepicnic/console.rb, line 94 def find(container_name) Console.new(get(url_to(container_name))) end
Public Instance Methods
exec(commands = [])
click to toggle source
# File lib/codepicnic/console.rb, line 65 def exec(commands = []) post url_to(@container_name, "exec"), {commands: commands} end
file_content(path = "")
click to toggle source
# File lib/codepicnic/console.rb, line 61 def file_content(path = "") get url_to(@container_name, path) end
files()
click to toggle source
# File lib/codepicnic/console.rb, line 57 def files get url_to(@container_name, "files") end
find()
click to toggle source
# File lib/codepicnic/console.rb, line 28 def find get url_to(@container_name, "show") end
forks()
click to toggle source
# File lib/codepicnic/console.rb, line 53 def forks get url_to(@container_name, "forks") end
restart()
click to toggle source
# File lib/codepicnic/console.rb, line 49 def restart post url_to(@container_name, "restart") end
save()
click to toggle source
# File lib/codepicnic/console.rb, line 32 def save response = post(url_to, {console: cleaned_params}) self.container_name = response["container_name"] self.url = response["url"] response end
search(term, path)
click to toggle source
# File lib/codepicnic/console.rb, line 74 def search(term, path) get url_to(@container_name, "search") end
start()
click to toggle source
# File lib/codepicnic/console.rb, line 39 def start result = post(url_to(@container_name, "start")) @url = result["url"] result end
stop()
click to toggle source
# File lib/codepicnic/console.rb, line 45 def stop post url_to(@container_name, "stop") end
upload_file(file = nil, path = nil)
click to toggle source
# File lib/codepicnic/console.rb, line 69 def upload_file(file = nil, path = nil) path = "/app/#{file.path}" unless path post_form url_to(@container_name, "upload_file"), {path: path, file: file} end
Private Instance Methods
cleaned_params()
click to toggle source
# File lib/codepicnic/console.rb, line 80 def cleaned_params params = {container_type: @container_type, custom_image: @custom_image, container_size: @container_size, title: @title, hostname: @hostname} params.delete_if { |key, value| value.nil? || value == "" } params end