Sha256: 458d6de835847b6d121ca0396202750396262a9a9d2e074e9057625ef82b8d43
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 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 rescuing_exceptions(&block) begin yield rescue raise RuntimeError, "Repository not created due to exception: #{$!}" end end def gitignore Provisional::IGNORE_FILES.join("\n") end def init rescuing_exceptions do FileUtils.mkdir_p @options['name'] Dir.chdir @options['name'] @options['path'] = Dir.getwd ::Git.init end end def generate_rails rescuing_exceptions do 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 end def checkin rescuing_exceptions do 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 end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vigetlabs-provisional-2.1.0 | lib/provisional/scm/git.rb |
vigetlabs-provisional-2.1.1 | lib/provisional/scm/git.rb |
vigetlabs-provisional-2.1.2 | lib/provisional/scm/git.rb |