Module: Configuration::HandlerStatement::ConditionalInclusion

Included in:
Thumbnail::ThumbnailSpec::EditSpec
Defined in:
lib/httpimagestore/configuration/handler/statement.rb

Defined Under Namespace

Classes: ImageNameOn, VariableMatches

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.grab_conditions_with_remaining(attributes) ⇒ Object



80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/httpimagestore/configuration/handler/statement.rb', line 80

def self.grab_conditions_with_remaining(attributes)
  conditions = []
  attributes = attributes.dup

  if_image_name_on = attributes.delete('if-image-name-on')
  conditions << ConditionalInclusion::ImageNameOn.new(if_image_name_on) if if_image_name_on

  if_image_name_on = attributes.delete('if-variable-matches')
  conditions << ConditionalInclusion::VariableMatches.new(if_image_name_on) if if_image_name_on

  [conditions, attributes]
end

Instance Method Details

#excluded?(request_state) ⇒ Boolean



108
109
110
# File 'lib/httpimagestore/configuration/handler/statement.rb', line 108

def excluded?(request_state)
  not included? request_state
end

#included?(request_state) ⇒ Boolean



99
100
101
102
103
104
105
106
# File 'lib/httpimagestore/configuration/handler/statement.rb', line 99

def included?(request_state)
  return true if not @conditions or @conditions.empty?
  # some conditions may use local_configuration vars
  request_state = request_state.with_locals(local_configuration) if @local_configuration
  @conditions.all? do |matcher|
    matcher.included?(request_state)
  end
end

#with_conditions(conditions) ⇒ Object



93
94
95
96
97
# File 'lib/httpimagestore/configuration/handler/statement.rb', line 93

def with_conditions(conditions)
  @conditions ||= []
  @conditions.push(*conditions)
  self
end