Class: Buildgem::Gem

Inherits:
Object
  • Object
show all
Defined in:
lib/buildgem.rb

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Gem

Returns a new instance of Gem.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/buildgem.rb', line 22

def initialize(name)
  @name = name

  FileUtils.mkdir(name)
  Dir.chdir(name)
  FileUtils.mkdir('lib')
  FileUtils.mkdir('spec')

  File.open("lib/#{ name }.rb", 'w') do |f|
    f.write(gem_body)
  end

  File.open('CHANGELOG.md', 'w') do |f|
    f.write(changelog)
  end

  File.open('VERSION', 'w') do |f|
    f.write(version)
  end

  File.open('.gitignore', 'w') do |f|
    f.write(gitignore)
  end

  File.open('Gemfile', 'w') do |f|
    f.write(gemfile)
  end

  File.open('LICENCE', 'w') do |f|
    f.write(licence)
  end

  File.open('Rakefile', 'w') do |f|
    f.write(rakefile)
  end

  File.open('spec/helper.rb', 'w') do |f|
    f.write(spec_helper)
  end

  File.open("spec/#{ name }_spec.rb", 'w') do |f|
    f.write(first_spec)
  end

  File.open("#{ name }.gemspec", 'w') do |f|
    f.write(gemspec)
  end

  File.open("README.md", 'w') do |f|
    f.write(readme)
  end
end