Class: VMC::App::Push
- Inherits:
-
Base
- Object
- Mothership
- CLI
- V2CheckCLI
- Base
- VMC::App::Push
- Defined in:
- lib/vmc/cli/app/push.rb
Constant Summary
Constants inherited from Mothership
Instance Attribute Summary
Attributes included from Create
Attributes inherited from Mothership
Instance Method Summary collapse
Methods included from Create
#bind_services, #create_app, #create_services, #determine_framework, #determine_runtime, #get_inputs, #map_route, #start_app
Methods included from Sync
#apply_changes, #commit_changes, #display_changes
Methods inherited from Base
#app_status, #human_mb, #human_size, #megabytes, #memory_choices, #state_color
Methods inherited from V2CheckCLI
Methods inherited from CLI
#check_logged_in, #check_target, #client, client, client=, #client_target, #color_enabled?, #debug?, #default_action, #ensure_config_dir, #err, #execute, #fail, #fail_unknown, #force?, #invalidate_client, #log_error, #name_list, #no_v2, #normalize_targets_info, #one_of, #precondition, #quiet?, #remove_target_info, #sane_target_url, #save_target_info, #save_targets, #save_token_if_it_changes, #set_target, #table, #target_file, #target_info, #targets_info, #tokens_file, #user_colors, #v2?, #verbose?, #wrap_errors
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
Methods inherited from Mothership
add_input, after, alias_command, around, before, change_argument, commands, #default_action, desc, #execute, #exit_status, #filter, filter, global_option, group, #help, #initialize, input, #interact, interactions, #invoke, method_added, option, #run, start, #unknown_command, #with_filters
Constructor Details
This class inherits a constructor from Mothership
Instance Method Details
#push ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/vmc/cli/app/push.rb', line 44 def push name = input[:name] path = File.(input[:path]) app = client.app_by_name(name) if app sync_app(app, path) else setup_new_app(path) end end |
#setup_new_app(path) ⇒ Object
63 64 65 66 67 68 69 70 71 |
# File 'lib/vmc/cli/app/push.rb', line 63 def setup_new_app(path) self.path = path app = create_app(get_inputs) map_route(app) create_services(app) bind_services(app) upload_app(app, path) start_app(app) end |
#sync_app(app, path) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/vmc/cli/app/push.rb', line 56 def sync_app(app, path) upload_app(app, path) apply_changes(app) display_changes(app) commit_changes(app) end |