class GrapeCli::Actions::SetupTestFramework

Attributes

config[R]
options[R]

Public Class Methods

new(args = [], local_options = {}, config = {}) click to toggle source
Calls superclass method
# File lib/grape_cli/actions/setup_test_framework.rb, line 13
def initialize(args = [], local_options = {}, config = {})
  super
  @options = local_options
  @config  = config
end
source_root() click to toggle source
# File lib/grape_cli/actions/setup_test_framework.rb, line 9
def self.source_root
  File.dirname(__FILE__)
end

Public Instance Methods

run() click to toggle source

rubocop:disable Metrics/AbcSize

# File lib/grape_cli/actions/setup_test_framework.rb, line 20
def run
  source_path      = File.join(config[:source_root], 'templates', options[:test])
  destination_path = File.join(options[:work_dir], config[:app_name], test_directory_name)

  directory(source_path, destination_path, config)

  copy_rspec_config if options[:test] == 'rspec'
end

Private Instance Methods

copy_rspec_config() click to toggle source
# File lib/grape_cli/actions/setup_test_framework.rb, line 38
def copy_rspec_config
  source_path      = File.join(config[:source_root], 'templates', 'rspec_config')
  destination_path = File.join(options[:work_dir], config[:app_name], '.rspec')

  template(source_path, destination_path, config)
end
test_directory_name() click to toggle source
# File lib/grape_cli/actions/setup_test_framework.rb, line 31
def test_directory_name
  {
    minitest: 'test',
    rspec:    'spec'
  }[options[:test].to_sym]
end