Class: Dugway::Cli::Create

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/dugway/cli/create.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



18
19
20
# File 'lib/dugway/cli/create.rb', line 18

def self.source_root
  File.join(File.dirname(__FILE__), 'templates')
end

Instance Method Details

#coreObject



27
28
29
30
# File 'lib/dugway/cli/create.rb', line 27

def core
  template('config.tt', "#{ @theme_dir }/config.ru")
  template('source/settings.json', "#{ source_dir }/settings.json")
end

#doneObject



47
48
49
# File 'lib/dugway/cli/create.rb', line 47

def done
  say("#{ name } is ready!", :blue)
end

#gitObject



41
42
43
44
45
# File 'lib/dugway/cli/create.rb', line 41

def git
  unless options['skip-git']
    copy_file('gitignore.tt', "#{ @theme_dir }/.gitignore")
  end
end

#sourceObject



32
33
34
35
36
37
38
39
# File 'lib/dugway/cli/create.rb', line 32

def source
  unless options['skip-source']
    Dir.glob("#{ self.class.source_root }/source/**/*.{html,jpg,png,js,coffee,css,sass}") do |file|
      file_name = file.gsub("#{ self.class.source_root }/source/", '')
      copy_file "source/#{ file_name }", "#{ source_dir }/#{ file_name }"
    end
  end
end

#variablesObject



22
23
24
25
# File 'lib/dugway/cli/create.rb', line 22

def variables
  @name = name.titleize
  @theme_dir = name.parameterize
end