Class: Rugular::New

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/rugular/tasks/new.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



11
12
13
# File 'lib/rugular/tasks/new.rb', line 11

def self.source_root
  __dir__.chomp('/tasks')
end

Instance Method Details

#create_application_directoryObject



15
16
17
# File 'lib/rugular/tasks/new.rb', line 15

def create_application_directory
  directory "#{lib_directory}/templates/new/", app_open_struct.name
end

#create_asset_directoryObject



35
36
37
# File 'lib/rugular/tasks/new.rb', line 35

def create_asset_directory
  empty_directory "#{app_name}/src/assets"
end

#create_component_directoryObject



31
32
33
# File 'lib/rugular/tasks/new.rb', line 31

def create_component_directory
  empty_directory "#{app_name}/src/components"
end

#create_custom_filesObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rugular/tasks/new.rb', line 19

def create_custom_files
  template_file_names.each do |(file_name, template_file_name)|
    create_file "#{app_name}/#{template_file_name.gsub('.erb', '')}" do
      pathname = Pathname.new(file_name)

      ERB.new(pathname.read).result(
        app_open_struct.instance_eval { binding }
      )
    end
  end
end

#create_dist_directoryObject



43
44
45
# File 'lib/rugular/tasks/new.rb', line 43

def create_dist_directory
  empty_directory "#{app_name}/dist"
end

#create_release_directoryObject



47
48
49
# File 'lib/rugular/tasks/new.rb', line 47

def create_release_directory
  empty_directory "#{app_name}/release"
end

#create_vendor_directoryObject



39
40
41
# File 'lib/rugular/tasks/new.rb', line 39

def create_vendor_directory
  empty_directory "#{app_name}/vendor"
end

#install_bourbonObject



51
52
53
54
# File 'lib/rugular/tasks/new.rb', line 51

def install_bourbon
  run "cd #{app_name}/vendor && bourbon install "\
    '&& neat install && bitters install'
end

#installation_completeObject



56
57
58
59
60
61
62
63
64
65
# File 'lib/rugular/tasks/new.rb', line 56

def installation_complete
  puts <<-POST_INSTALL_MESSAGE
♪┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓♪

Thank you for installing Rugular, please finish setting up your
project with: `cd #{app_open_struct.name} && rugular dependencies`

♪┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓♪
  POST_INSTALL_MESSAGE
end