Class: VMC::App::Files

Inherits:
Base
  • Object
show all
Defined in:
lib/vmc/cli/app/files.rb

Instance Method Summary collapse

Methods inherited from Base

#app_status, #human_mb, #human_size, #megabytes, #memory_choices, #state_color

Methods inherited from CLI

#check_logged_in, #check_target, #client, client, client=, #client_target, #color_enabled?, #default_action, #ensure_config_dir, #err, #execute, #fail, #force?, #invalidate_client, #log_error, #name_list, #no_v2, #one_of, #precondition, #quiet?, #remove_target_info, #sane_target_url, #save_target_info, #save_targets, #set_target, #table, #target_file, #target_info, #targets_info, #tokens_file, #user_colors, #v2?, #verbose?

Methods included from Spacing

#indented, #justify, #line, #lines, #quiet?, #spaced, #start_line, #tabular, #text_width, #trim_escapes

Methods included from Interactive

#ask, #handler, #input_state, #list_choices, #prompt, #show_default

Instance Method Details

#fileObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/vmc/cli/app/files.rb', line 12

def file
  app = input[:app]
  path = input[:path]

  file =
    with_progress("Getting file contents") do
      app.file(*path.split("/"))
    end

  if quiet?
    print file
  else
    line

    file.split("\n").each do |l|
      line l
    end
  end
rescue CFoundry::NotFound
  fail "Invalid path #{b(path)} for app #{b(app.name)}"
rescue CFoundry::FileError => e
  fail e.description
end

#filesObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/vmc/cli/app/files.rb', line 43

def files
  app = input[:app]
  path = input[:path]

  if quiet?
    files =
      with_progress("Getting file listing") do
        app.files(*path.split("/"))
      end

    files.each do |file|
      line file.join("/")
    end
  else
    invoke :file, :app => app, :path => path
  end
rescue CFoundry::NotFound
  fail "Invalid path #{b(path)} for app #{b(app.name)}"
rescue CFoundry::FileError => e
  fail e.description
end

#tailObject



72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/vmc/cli/app/files.rb', line 72

def tail
  app = input[:app]
  path = input[:path]

  app.stream_file(*path.split("/")) do |contents|
    print contents
  end
rescue CFoundry::NotFound
  fail "Invalid path #{b(path)} for app #{b(app.name)}"
rescue CFoundry::FileError => e
  fail e.description
end