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