class CamaleonCms::Generators::ThemeGenerator
Public Class Methods
next_migration_number(dir)
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 49 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 else if 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 end
fix_text(text = "")
click to toggle source
# File lib/generators/camaleon_cms/theme_generator.rb, line 45 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 61 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