class Hanami::Action::Cache::Directives

Collection of value and non value directives

@since 0.3.0 @api private

Public Class Methods

new(*values) click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/directives.rb, line 85
def initialize(*values)
  @directives = []
  values.each do |directive_key|
    if directive_key.kind_of? Hash
      directive_key.each { |name, value| self.<< ValueDirective.new(name, value) }
    else
      self.<< NonValueDirective.new(directive_key)
    end
  end
end

Public Instance Methods

<<(directive) click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/directives.rb, line 104
def <<(directive)
  @directives << directive if directive.valid?
end
each() { |d| ... } click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/directives.rb, line 98
def each
  @directives.each { |d| yield d }
end
join(separator) click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/directives.rb, line 118
def join(separator)
  values.join(separator)
end
values() click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/directives.rb, line 110
def values
  @directives.delete_if do |directive|
    directive.name == :public && @directives.map(&:name).include?(:private)
  end
end