Class: SimpleGem::Gem

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, name) ⇒ Gem

Returns a new instance of Gem.



6
7
8
9
# File 'lib/simple_gem/gem.rb', line 6

def initialize(path, name)
  @root_path = path
  @name      = name
end

Instance Attribute Details

#root_pathObject (readonly)

Returns the value of attribute root_path.



4
5
6
# File 'lib/simple_gem/gem.rb', line 4

def root_path
  @root_path
end

Instance Method Details

#generate_gemspecObject



37
38
39
# File 'lib/simple_gem/gem.rb', line 37

def generate_gemspec
  Dir.chdir(gem_path) { `rake gemspec 2>&1` }
end

#generate_structureObject



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/simple_gem/gem.rb', line 23

def generate_structure
  generate_gem_directory
  generate_subdirectories
  generate_file('gitignore.erb', '.gitignore')
  generate_file('rvmrc.erb', '.rvmrc')
  generate_file('lib.rb.erb', "lib/#{ruby_name}.rb")
  generate_file('lib_version.rb.erb', "lib/#{ruby_name}/version.rb")
  generate_file('Rakefile.erb', 'Rakefile')
  generate_file('Gemfile.erb', 'Gemfile')
  generate_file('README.rdoc.erb', 'README.rdoc')
  generate_file('test_helper.rb.erb', 'test/test_helper.rb')
  generate_file('test.rb.erb', "test/unit/#{ruby_name}_test.rb")
end

#module_nameObject



15
16
17
# File 'lib/simple_gem/gem.rb', line 15

def module_name
  transform_name {|part| part.capitalize }
end

#nameObject



11
12
13
# File 'lib/simple_gem/gem.rb', line 11

def name
  sanitized_name
end

#ruby_nameObject



19
20
21
# File 'lib/simple_gem/gem.rb', line 19

def ruby_name
  transform_name('_') {|part| part.downcase }
end