Sha256: 381e2914a4cbc19f3887a4b6d754e51eaef36150da637ab59cd3de9c5141d9b9

Contents?: true

Size: 972 Bytes

Versions: 1

Compression:

Stored size: 972 Bytes

Contents

require 'erb'
require 'pathname'
require 'figs/figfile'
desc 'Install Fig'
task :install do |task, args|
  base_dir = Pathname.new('.')
  locations = args.extras.empty? ? "application.yml" :  args.extras
  figfile = Figs::Figfile.new(*locations)
  
  create_figfile base_dir, figfile
  create_non_existent_yaml(figfile.locations) if figfile.method.eql?("path")
  
  puts "[Done] Enjoy your figs sir!"
end

def create_figfile(base_dir, figfile)
  puts "Figsifying #{base_dir}/ ..."
  file = base_dir.join('Figfile')
  File.open(file, 'w+') do |f|
    f.write(figfile.to_yaml)
  end
end

def create_non_existent_yaml(locations)
  locations.each do |file|
    if !File.exists?(file) && !Dir.exists?(file)
      puts "[Add] #{file} does not exist, creating."
      application_yml = File.expand_path("../../templates/application.yml", __FILE__)
      File.open(file, 'w+') do |f|
        f.write(ERB.new(File.read(application_yml)).result(binding))
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
figs-1.2.3 lib/figs/tasks/install.rake