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 87
def initialize(*values)
  @directives = []
  values.each do |directive_key|
    if directive_key.is_a? 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 106
def <<(directive)
  @directives << directive if directive.valid?
end
each(&block) click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/directives.rb, line 100
def each(&block)
  @directives.each(&block)
end
join(separator) click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/directives.rb, line 120
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 112
def values
  @directives.delete_if do |directive|
    directive.name == :public && @directives.map(&:name).include?(:private)
  end
end