Class: Jksinatra::Project

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

Overview

Class for generate all folders

Instance Method Summary collapse

Constructor Details

#initialize(name, options) ⇒ Project

Returns a new instance of Project.


4
5
6
7
8
9
10
11
12
13
# File 'lib/jksinatra/project.rb', line 4

def initialize(name, options)
  @name = name
  @options = options
  @folders = [
    @name,
    "#{@name}/config",
    "#{@name}/controllers",
    "#{@name}/specs"]
  @templates_file_list = Dir['templates/root/**/*.erb']
end

Instance Method Details

#generateObject


15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/jksinatra/project.rb', line 15

def generate
  if File.exist?(@name)
    message = "Folder #{@name} already exist on filesystem"
  else
    @folders.each { |folder| Dir.mkdir folder }
    @templates_file_list.each do |template|
      Template.new(@name, @options, template[15..-1]).generate
    end
    message = "Create #{@name}"
  end
  message
end