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.



8
9
10
11
# File 'lib/simple_gem/gem.rb', line 8

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

Instance Attribute Details

#nameObject

Returns the value of attribute name.



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

def name
  @name
end

#root_pathObject (readonly)

Returns the value of attribute root_path.



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

def root_path
  @root_path
end

Instance Method Details

#generateObject



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

def generate
  generate_root_directory
  generate_subdirectories
  generate_file('gitignore.erb', '.gitignore')
  generate_file('lib.rb.erb', "lib/#{self.ruby_name}.rb")
  generate_file('lib_version.rb.erb', "lib/#{self.ruby_name}/version.rb")
  generate_file('Rakefile.erb', 'Rakefile')
  generate_file('README.rdoc.erb', 'README.rdoc')
  generate_file('test_helper.rb.erb', 'test/test_helper.rb')
  generate_file('test.rb.erb', "test/unit/#{self.ruby_name}_test.rb")
  generate_file('feature.feature.erb', "test/features/#{self.ruby_name}.feature")
  generate_file('feature_steps.rb.erb', "test/features/step_definitions/#{self.ruby_name}_steps.rb")
  generate_file('feature_env.rb.erb', "test/features/step_definitions/support/env.rb")
end

#module_nameObject



17
18
19
# File 'lib/simple_gem/gem.rb', line 17

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

#ruby_nameObject



21
22
23
# File 'lib/simple_gem/gem.rb', line 21

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