class GallerizeCli::Directory
Attributes
root_path[R]
Public Class Methods
new(path)
click to toggle source
# File lib/gallerize_cli/directory.rb, line 14 def initialize(path) @root_path = File.expand_path(path) end
Public Instance Methods
app_install_path()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 49 def app_install_path File.join(root_path, '.gallerize_cli') end
assets_path()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 37 def assets_path @assets_path ||= File.join(output_path, 'assets') end
config()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 33 def config @config ||= OpenStruct.new(YAML.load(File.read(File.join(app_install_path, 'config/gallerize_cli.yml')))) end
images()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 29 def images @images ||= load_images end
images_path()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 41 def images_path @images_path ||= File.join(output_path, 'images') end
javascripts_min_path()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 53 def javascripts_min_path @javascripts_min_path ||= compile_javascripts.gsub(output_path, config.site_url) end
output_path()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 45 def output_path @output_path ||= File.expand_path(config.output_path) end
process()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 18 def process install Parallel.each(images, in_processes: config.parallel['in_processes']) do |image| image.process end end
stylesheets_min_path()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 57 def stylesheets_min_path @stylesheets_min_path ||= compile_stylesheets.gsub(output_path, config.site_url) end
total_images_count()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 25 def total_images_count images.count end
Private Instance Methods
compile_javascripts()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 63 def compile_javascripts # compile files load_path = File.join(app_install_path, 'assets/javascripts') output = Dir.glob(File.join(load_path, '**/*.js')).collect do |js_file| Uglifier.new.compile(File.read(js_file)) end.join # delete previous payload(s) Dir.glob(File.join(assets_path, "gallerize_cli-*.min.js")){|f| rm(f) } # write minified file output_file = File.join(assets_path, "gallerize_cli-#{Digest::MD5.hexdigest(output)}.min.js") GallerizeCli.logger.debug("generated #{output_file}") File.write(output_file, output) output_file end
compile_stylesheets()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 78 def compile_stylesheets # configure load_paths load_path = File.join(app_install_path, 'assets/stylesheets') # this is undefined for some unknown reason Sass.define_singleton_method(:load_paths) { [load_path] } # compile styles.scss scss_file = File.join(load_path, 'styles.scss') source = File.read(scss_file) output = Sass::Engine.new(source, style: :compressed, syntax: :scss).render # delete previous payload(s) Dir.glob(File.join(assets_path, "gallerize_cli-*.min.css")){|f| rm(f) } # write new file output_file = File.join(assets_path, "gallerize_cli-#{Digest::MD5.hexdigest(output)}.min.css") GallerizeCli.logger.debug("generated #{output_file}") File.write(output_file, output) output_file end
install()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 108 def install cp_r(GallerizeCli.app_source_path, app_install_path) unless Dir.exists?(app_install_path) mkdir_p(output_path) unless Dir.exists?(output_path) mkdir_p(images_path) unless Dir.exists?(images_path) mkdir_p(assets_path) unless Dir.exists?(assets_path) cp_r(File.join(app_install_path, 'assets/images'), File.join(assets_path)) end
load_images()
click to toggle source
# File lib/gallerize_cli/directory.rb, line 96 def load_images output = [] Dir.chdir(root_path) do config.file_patterns.each do |file_pattern| Dir.glob(file_pattern) do |file_path| output << GallerizeCli::Image.new(self, file_path) end end end output end