module Jekyll::Favicon::StaticFile::Sourceable

Add source to a static file

Public Class Methods

source_filter(options) click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 41
def self.source_filter(options)
  options.fetch "source", {}
end
source_normalize(options) click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 30
def self.source_normalize(options)
  case options
  when String
    source_dir, source_name = File.split options
    {"dir" => source_dir, "name" => source_name}
  when Hash
    Utils.compact options
  else {}
  end
end

Public Instance Methods

path() click to toggle source

overrides Jekyll::StaticFile method

# File lib/jekyll/favicon/static_file/sourceable.rb, line 22
def path
  File.join(*[@base, source_relative_path].compact)
end
source() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 17
def source
  Utils.merge sourceable_defaults, source_site, source_asset
end
source_relative_path() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 26
def source_relative_path
  source_relative_pathname.to_s
end
sourceable?() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 13
def sourceable?
  source.any? && File.file?(path)
end

Private Instance Methods

source_asset() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 67
def source_asset
  Sourceable.source_normalize source_spec
end
source_defaults() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 53
def source_defaults
  sourceable_defaults
end
source_relative_pathname() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 47
def source_relative_pathname
  Pathname.new(source["dir"])
    .join(source["name"])
    .cleanpath
end
source_site() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 57
def source_site
  site_config = Configuration.merged @site
  config = Sourceable.source_filter site_config
  Sourceable.source_normalize config
end
source_spec() click to toggle source
# File lib/jekyll/favicon/static_file/sourceable.rb, line 63
def source_spec
  Sourceable.source_filter spec
end