Module: Appril::CLI::App

Included in:
Appril::CLI
Defined in:
lib/appril-cli/app.rb,
lib/appril-cli/app/update.rb,
lib/appril-cli/app/install.rb

Defined Under Namespace

Classes: Install, Update

Constant Summary collapse

APP_DIR =
BOILERPLATE_DIR / 'app'
CRUDLE_DIR =
BOILERPLATE_DIR / 'crudle'

Instance Method Summary collapse

Instance Method Details

#app(args) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/appril-cli/app.rb', line 8

def app args
  opted_dir = args[2]
  assert_directory_provided(opted_dir)
  dir = expanded_path(opted_dir)

  case instruction = args[1]
  when 'i', 'install'

    app_install(dir, {
      working_dir_opted: working_dir_opted?(opted_dir),
      namespace: extract_namespace(args),
      crudle_app: args.find {|a| a == '-crudle'}
    })

  when 'u', 'update'

    app_update(dir)

  else
    unknown_instruction_error!(instruction, 'install (or i)', 'update (or u)')
  end
end

#app_install(dir, opts) ⇒ Object



31
32
33
34
35
# File 'lib/appril-cli/app.rb', line 31

def app_install dir, opts
  create_dirname_for(dir)
  assert_installable_dir(dir, opts[:working_dir_opted])
  App::Install.new(dir, opts)
end

#app_update(dir) ⇒ Object



37
38
39
40
# File 'lib/appril-cli/app.rb', line 37

def app_update dir
  assert_is_app_dir(dir)
  App::Update.new(dir)
end