class Middleman::Imageoptim::ResourceList
Attributes
app[R]
options[R]
Public Class Methods
manipulate(app, resources, options)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 6 def self.manipulate(app, resources, options) new(app, resources, options).manipulate_resources end
new(app, resources, options)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 10 def initialize(app, resources, options) @app = app @resources = resources @options = options end
Public Instance Methods
manipulate_resources()
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 16 def manipulate_resources modified_resources << manifest_resource end
Private Instance Methods
filename(filename)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 71 def filename(filename) if Gem::Version.new(Middleman::VERSION) >= Gem::Version.new('4.0.0') File.join(app.root, app.config[:build_dir], filename) else File.join(app.config[:build_dir], filename) end end
image_resource?(resource)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 51 def image_resource?(resource) options.image_extensions.include?(File.extname(resource.destination_path)) end
manifest_resource()
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 36 def manifest_resource resource_args = [app.sitemap, Manifest::MANIFEST_FILENAME] if File.exist?(filename(Manifest::MANIFEST_FILENAME)) resource_args << filename(Manifest::MANIFEST_FILENAME) end Middleman::Imageoptim::ManifestResource.new(*resource_args) end
modified_resources()
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 22 def modified_resources @resources.map do |resource| if resource_up_to_date?(resource) Middleman::Sitemap::Resource.new( app.sitemap, resource.destination_path, filename(resource.destination_path) ) else resource end end end
resource_build_path(resource)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 67 def resource_build_path(resource) filename(resource.destination_path) end
resource_current?(resource)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 63 def resource_current?(resource) File.mtime(resource_build_path(resource)) > File.mtime(resource.source_file) end
resource_exists?(resource)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 59 def resource_exists?(resource) File.exist?(resource_build_path(resource)) end
resource_up_to_date?(resource)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 44 def resource_up_to_date?(resource) image_resource?(resource) && sitemap_resource?(resource) && resource_exists?(resource) && resource_current?(resource) end
sitemap_resource?(resource)
click to toggle source
# File lib/middleman-imageoptim/resource_list.rb, line 55 def sitemap_resource?(resource) resource.class.name == 'Middleman::Sitemap::Resource' end