Class: Shaf::Command::New

Inherits:
Base
  • Object
show all
Defined in:
lib/shaf/command/new.rb

Constant Summary

Constants included from Utils

Utils::SHAF_VERSION_FILE

Instance Attribute Summary

Attributes inherited from Base

#args, #options

Instance Method Summary collapse

Methods inherited from Base

exit_with_error, identified_by, identifier, inherited, #initialize, options, usage

Methods included from Utils

#bootstrap, deep_symbolize_keys, deep_transform_keys, deep_transform_values, environment, gem_root, iana_link_relations, #in_project_root, #in_project_root?, #is_project_root?, model_name, pluralize, #project_root, #project_root!, rackify_header, read_config, #read_shaf_file, #read_shaf_file!, #read_shaf_upgrade_failure_version, #read_shaf_version, singularize, symbol_or_quoted_string, symbol_string, #write_shaf_file, #write_shaf_file!, #write_shaf_upgrade_failure, #write_shaf_version

Constructor Details

This class inherits a constructor from Shaf::Command::Base

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/shaf/command/new.rb', line 12

def call
  self.project_name = args.first
  if project_name.nil? || project_name.empty?
    raise ArgumentError,
      "Please provide a project name when using command 'new'!"
  end

  create_dir project_name
  Dir.chdir(project_name) do
    copy_templates
    create_gemfile
    create_settings_file
    write_shaf_version
    create_ruby_version_file
  end
end