class CamaleonCms::Generators::ThemeGenerator
Public Class Methods
next_migration_number(_dir)
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 48 def self.next_migration_number(_dir) Time.now.utc.strftime('%Y%m%d%H%M%S') end
Public Instance Methods
create_initializer_file()
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 10 def create_initializer_file theme_folder = Rails.root.join('app', 'apps', 'themes', get_theme_name) if behavior == :revoke if Dir.exist?(theme_folder) FileUtils.rm_rf(theme_folder) puts 'Theme destroyed successfully' else puts "This theme doesn't exist" end elsif Dir.exist?(theme_folder) puts 'This theme already exist' else theme_folder = Rails.root.join('app', 'apps', 'themes', get_theme_name) return puts("There is already a theme with the same name in: #{theme_folder}") if Dir.exist?(theme_folder) # tmp copy FileUtils.mkdir_p(theme_folder) FileUtils.copy_entry(File.join($camaleon_engine_dir, 'lib', 'generators', 'camaleon_cms', 'theme_template'), theme_folder) # configuration t = fix_text(File.read(File.join(theme_folder, 'config', 'config.json'))) File.open(File.join(theme_folder, 'config', 'config.json'), 'w') { |f| f << t } # helper t = fix_text(File.read(File.join(theme_folder, 'main_helper.rb'))) File.open(File.join(theme_folder, 'main_helper.rb'), 'w') { |f| f << t } puts "Theme successfully created in: #{theme_folder}" end end
fix_text(text = '')
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 44 def fix_text(text = '') text.gsub('themeTitle', get_theme_title).gsub('ThemeClass', get_theme_class).gsub('themeKey', get_theme_name) end
Private Instance Methods
get_theme_class()
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 62 def get_theme_class get_theme_name.classify end
get_theme_name()
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 54 def get_theme_name theme_name.underscore.singularize end
get_theme_title()
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 58 def get_theme_title theme_name.titleize end