class Assets::Rule::Concat
Rule
that concatenates assets from other rules
Attributes
mime[R]
Return mime
@return [Mime]
@api private
name[R]
Return name
@return [String]
@api private
Public Class Methods
build(name, *rules)
click to toggle source
Build concat rules
@param [String] name
@return [Rule::Concat]
@api private
# File lib/assets/rule/concat.rb, line 43 def self.build(name, *rules) new(name, rules) end
detect_mime(rules)
click to toggle source
Detect mime type
@param [Rules] rules
@return [Mime]
@api private
# File lib/assets/rule/concat.rb, line 83 def self.detect_mime(rules) raise "No mime type for empty rules" if rules.empty? mime = rules.first.mime unless rules.all? { |rule| rule.mime == mime } raise 'Rules do not share mime type!' end mime end
new(name, rules)
click to toggle source
Instantiate object
@param [String] name @param [Enumerable<Rule>] rules
@api private
Calls superclass method
# File lib/assets/rule/concat.rb, line 30 def self.new(name, rules) mime = detect_mime(rules) super(name, mime, rules) end
Public Instance Methods
body()
click to toggle source
Return body
@return [String]
@api private
# File lib/assets/rule/concat.rb, line 53 def body rules.map(&:body).join end
updated_at()
click to toggle source
Return updated_at
@return [Time]
@api private
# File lib/assets/rule/concat.rb, line 63 def updated_at rules = self.rules time = rules.first.updated_at rules.each do |rule| updated_at = rule.updated_at if time < updated_at time = updated_at end end time end