class Rugular::New
Public Class Methods
source_root()
click to toggle source
# File lib/rugular/tasks/new.rb, line 11 def self.source_root __dir__.chomp('/tasks') end
Public Instance Methods
create_application_directory()
click to toggle source
# File lib/rugular/tasks/new.rb, line 15 def create_application_directory directory "#{lib_directory}/templates/new/", app_open_struct.name end
create_asset_directory()
click to toggle source
# File lib/rugular/tasks/new.rb, line 35 def create_asset_directory empty_directory "#{app_name}/src/assets" end
create_component_directory()
click to toggle source
# File lib/rugular/tasks/new.rb, line 31 def create_component_directory empty_directory "#{app_name}/src/components" end
create_custom_files()
click to toggle source
# 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_directory()
click to toggle source
# File lib/rugular/tasks/new.rb, line 43 def create_dist_directory empty_directory "#{app_name}/dist" end
create_release_directory()
click to toggle source
# File lib/rugular/tasks/new.rb, line 47 def create_release_directory empty_directory "#{app_name}/release" end
create_vendor_directory()
click to toggle source
# File lib/rugular/tasks/new.rb, line 39 def create_vendor_directory empty_directory "#{app_name}/vendor" end
install_bourbon()
click to toggle source
# File lib/rugular/tasks/new.rb, line 51 def install_bourbon run "cd #{app_name}/vendor && bourbon install "\ '&& neat install && bitters install' end
installation_complete()
click to toggle source
# 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
Private Instance Methods
app_open_struct()
click to toggle source
# File lib/rugular/tasks/new.rb, line 69 def app_open_struct @_app_open_struct ||= OpenStruct.new(name: app_name) end
lib_directory()
click to toggle source
# File lib/rugular/tasks/new.rb, line 73 def lib_directory __dir__.chomp('/tasks') end
template_file_names()
click to toggle source
# File lib/rugular/tasks/new.rb, line 77 def template_file_names real_file_names = Dir.glob( "#{lib_directory}/templates/new_erb/**/*.erb" ) abbreviated_file_names = real_file_names.map do |file_name| file_name.gsub("#{lib_directory}/templates/new_erb/", '') end real_file_names.zip(abbreviated_file_names) end