Class: Nautilus::Create

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project_path) ⇒ Create

Returns a new instance of Create.



13
14
15
16
17
# File 'lib/nautilus/create.rb', line 13

def initialize(project_path)
  self.project_path = project_path
  validate_project_path
  validate_project_name
end

Instance Attribute Details

#project_pathObject

Returns the value of attribute project_path.



6
7
8
# File 'lib/nautilus/create.rb', line 6

def project_path
  @project_path
end

Class Method Details

.run!(project_path) ⇒ Object



8
9
10
11
# File 'lib/nautilus/create.rb', line 8

def self.run!(project_path)
  creator = self.new(project_path)
  creator.create_project!
end

Instance Method Details

#create_project!Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/nautilus/create.rb', line 19

def create_project!
  Nautilus.run("git clone [email protected]:newtonlabs/nautilus-project.git #{project_path}")

  Dir.glob("#{project_path}/**/*").each do |file|
    Nautilus.search_and_replace(file, "nautilus", project_path)
    Nautilus.search_and_replace(file, "Nautilus", project_path.capitalize)
  end

  # Clear git history
  FileUtils.rm_rf("#{project_path}/.git")

  # TODO Change the secret_token.rb
  # Nautilus.search_and_replace secret_token.rb

  Dir.chdir(project_path) or fail("Couldn't change to #{project_path}")

  puts readme

end