module Skeleton

Skeleton: create skeleton for asker input files

Public Class Methods

create_configuration() click to toggle source

Create default configuration files

# File lib/asker/skeleton.rb, line 34
def self.create_configuration
  puts "\n[INFO] Creating configuration files"
  src = File.join(File.dirname(__FILE__), 'files', 'config.ini')
  dst = File.join('config.ini')
  copyfile(src, dst)
end
create_input(inputpath) click to toggle source

Create skeleton for asker input files @param inputpath (String) rubocop:disable Metrics/MethodLength

# File lib/asker/skeleton.rb, line 17
def self.create_input(inputpath)
  puts "\n[INFO] Creating example input #{Rainbow(inputpath).bright}"
  if File.extname(inputpath) == '.haml'
    dirpath = File.dirname(inputpath)
    filename = File.basename(inputpath)
  else
    dirpath = inputpath
    filename = 'example-concept.haml'
  end
  create_dir dirpath
  source = File.join(File.dirname(__FILE__), 'files/example-concept.haml')
  copyfile(source, File.join(dirpath, filename))
end

Private Class Methods

copyfile(target, dest) click to toggle source

Copy target file to dest @param target (String) @param dest (String)

# File lib/asker/skeleton.rb, line 61
                     def self.copyfile(target, dest)
  if File.exist? dest
    puts "* Exists file!      => #{Rainbow(dest).yellow}"
    return true
  end
  begin
    FileUtils.cp(target, dest)
    puts "* Create file       => #{Rainbow(dest).green}"
  rescue StandardError
    puts "* Create file ERROR => #{Rainbow(dest).red}"
  end
end
create_dir(dirpath) click to toggle source

Create folder @param dirpath (String)

# File lib/asker/skeleton.rb, line 44
                     def self.create_dir(dirpath)
  if Dir.exist? dirpath
    puts "* Exists dir!       => #{Rainbow(dirpath).yellow}"
  else
    begin
      FileUtils.mkdir_p(dirpath)
      puts "* Create dir        => #{Rainbow(dirpath).green}"
    rescue StandardError
      puts "* Create dir  ERROR => #{Rainbow(dirpath).red}"
    end
  end
end