Sha256: 920cd7d29742851b3e3d0801b2a427bd5109cdbf11ff3baefe7a19c45958c04f

Contents?: true

Size: 1.74 KB

Versions: 2

Compression:

Stored size: 1.74 KB

Contents

require 'fileutils'

module JqueryPluginGen
  class Generator
       
    X = 'FI' + 'X' 

    def self.base_dirs
      %w(src lib test dist src/images src/css test/data)
    end
       
    def self.execute(args)
      
      project = args[:project]
      
      case project
        when /_/ then
          file_name = project
          project = project.capitalize.gsub(/_([a-z])/) {$1.upcase}
          klass = project
        else
          file_name = project.gsub(/([A-Z])/, '_\1').downcase.sub(/^_/, '')
          klass = project.capitalize.gsub(/_([a-z])/) {$1.upcase}
      end

      Dir.mkdir project
      puts "creating folder: #{project}"
      
      Dir.chdir project do

        base_dirs.each do |path|
          puts "creating: #{path}"
          Dir.mkdir path
        end

       details = args
        files = {
          "Makefile" => QuickTemplate.erb('Makefile', details),
          "History.txt" => QuickTemplate.erb('History.txt', details),
          "README.txt" => QuickTemplate.erb('README.txt', details),
          "src/#{file_name}.js" => QuickTemplate.erb('src/plugin.js', details),
          "test/spec_#{file_name}.js" => QuickTemplate.erb('test/spec_plugin.js', details),
          "Rakefile" => QuickTemplate.erb('Rakefile', details),
          "src/css/screen.#{file_name}.css" => "",
          "test/specs.html" => QuickTemplate.erb('test/specs.html', details),
          "test/data/#{file_name}_01.json" => "",
          "test/data/#{file_name}_01.js" => "",
         }

        files["Manifest.txt"] = files.keys.sort.join("\n")

        files.each do |file, content|
          puts "creating: #{file}"
          File.open(file, "w") do |f|
            f.write content
          end
        end
      end
    end    
    
  end
end



Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jqueryplugingen-0.1.1 lib/jquery_plugin_gen/generator.rb
jqueryplugingen-0.1.2 lib/jquery_plugin_gen/generator.rb