class Jekyll::Assets::Extensible

Attributes

args[R]
asset[R]
ctx[R]
env[R]
jekyll[R]

Public Class Methods

for?(type:, args:) click to toggle source

– @note a type is a “content type” Allows you to use types to determine if this class fits. @param [String] type the content type. @param [Hash] args the arguments. @return [true, false] –

# File lib/jekyll/assets/extensible.rb, line 66
def self.for?(type:, args:)
  for_type?(type) && for_args?(args)
end
for_args?(args) click to toggle source

# File lib/jekyll/assets/extensible.rb, line 71
def self.for_args?(args)
  return true if arg_keys.empty?
  arg_keys.collect { |k| args.key?(k) }.none? do |k|
    k == false
  end
end
for_type?(type) click to toggle source

# File lib/jekyll/assets/extensible.rb, line 79
def self.for_type?(type)
  return true if content_types.empty?
  content_types.any? do |k|
    k.is_a?(Regexp) ? type =~ k : k.to_s == type.to_s
  end
end
inherited(kls = nil) click to toggle source

– Allows us to keep track of inheritence. @note you should be using this when using extensible. @param [<Any>] kls the class. @return [Array<Class>] –

# File lib/jekyll/assets/extensible.rb, line 29
def self.inherited(kls = nil)
  @inherited ||= []
  return @inherited if kls.nil?
  @inherited << kls
end
internal!() click to toggle source

# File lib/jekyll/assets/extensible.rb, line 46
def self.internal!
  if name.start_with?("Jekyll::Assets")
    requirements[:internal] = true
  end
end
internal?() click to toggle source

# File lib/jekyll/assets/extensible.rb, line 53
def self.internal?
  requirements[
    :internal
  ]
end
new(asset:, args:, ctx:) click to toggle source

# File lib/jekyll/assets/extensible.rb, line 15
def initialize(asset:, args:, ctx:)
  @args = args
  @env = ctx.registers[:site].sprockets
  @jekyll = @env.jekyll
  @asset = asset
  @ctx = ctx
end
requirements() click to toggle source

# File lib/jekyll/assets/extensible.rb, line 36
def self.requirements
  @requirements ||= {
    internal: false,
    args: [], types: [
      #
    ]
  }
end