Class: Provisional::SCM::Git

Inherits:
Object
  • Object
show all
Defined in:
lib/provisional/scm/git.rb

Direct Known Subclasses

Github, Unfuddle

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Git

Returns a new instance of Git.



8
9
10
# File 'lib/provisional/scm/git.rb', line 8

def initialize(options)
  @options = options
end

Instance Method Details

#checkinObject



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/provisional/scm/git.rb', line 31

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

#generate_railsObject



25
26
27
28
29
# File 'lib/provisional/scm/git.rb', line 25

def generate_rails
  rescuing_exceptions do
    Provisional::RailsApplication.new(@options['path'], @options['template_path'])
  end
end

#gitignoreObject



12
13
14
# File 'lib/provisional/scm/git.rb', line 12

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

#initObject



16
17
18
19
20
21
22
23
# File 'lib/provisional/scm/git.rb', line 16

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