Sha256: 5a3b3f034ebf00cb803c51783aac731ab289760f2e6b02fa0db1b06d894e23f0

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

require 'fileutils'
require 'git'
require 'rails/version'
require 'rails_generator'
require 'rails_generator/scripts/generate'

module Provisional
  module SCM
    class Git
      def initialize(options)
        @options = options
      end

      def gitignore
        Provisional::IGNORE_FILES.join("\n")
      end

      def init
        FileUtils.mkdir_p @options[:name]
        Dir.chdir @options[:name]
        @options[:path] = Dir.getwd
        ::Git.init
      end

      def generate_rails
        generator_options = ['.', '-m', @options[:template_path]]
        Dir.chdir @options[:path]
        Rails::Generator::Base.use_application_sources!
        Rails::Generator::Scripts::Generate.new.run generator_options, :generator => 'app'
      end

      def checkin
        repo = ::Git.open @options[:path]
        Dir.chdir @options[:path]
        File.open('.gitignore', 'w') do |f|
          f.puts gitignore
        end
        repo.add '.'
        repo.commit 'Initial commit by Provisional'
        repo
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vigetlabs-provisional-2.0.2 lib/provisional/scm/git.rb