Sha256: 35b797465cdf6773c0949f3e96c3281e99d4885b0621b7dff665070308752da2

Contents?: true

Size: 958 Bytes

Versions: 1

Compression:

Stored size: 958 Bytes

Contents

require 'fileutils'

module Generator
  class StructureGenerator
    def generate(input_folder, output_folder)
      return if File.directory? output_folder

      FileUtils::mkdir_p output_folder
      do_bower_if_available(input_folder)
      copy_public_content(input_folder, output_folder)
      FileUtils::mkdir_p "#{output_folder}/css/"
      FileUtils::mkdir_p "#{output_folder}/js/"
    end

    def copy_public_content(input_folder, output_folder)
      src_dir  = "#{input_folder}/public"
      return unless File.directory? src_dir

      FileUtils::copy_entry(src_dir, output_folder)
    end

    def do_bower_if_available(input_folder)
      bower_file  = "#{input_folder}/public/bower.json"
      return unless File.exists? bower_file

      cmd = "cd #{input_folder}/public && bower install"
      cmd = "if which bower >/dev/null; then #{cmd}; else echo 'please install bower http://bower.io/'; fi"
      puts %x[ #{cmd} ]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
easy_html_creator-1.2.0 lib/generator/structure_generator.rb