class AWS::Core::Policy::OperatorBuilder

Convenient syntax for expressing operators in statement condition blocks. For example, the following:

policy.allow.where(:s3_prefix).not("forbidden").
  where(:current_time).lte(Date.today+1)

is equivalent to:

conditions = Policy::ConditionBlock.new
conditions.add(:not, :s3_prefix, "forbidden")
conditions.add(:lte, :current_time, Date.today+1)
policy.allow(:conditions => conditions)

@see AWS::Core::Policy::ConditionBlock#add

Public Class Methods

new(condition_builder, key) click to toggle source

@private

# File lib/aws/core/policy.rb, line 167
def initialize(condition_builder, key)
  @condition_builder = condition_builder
  @key = key
end

Public Instance Methods

method_missing(m, *values) click to toggle source
# File lib/aws/core/policy.rb, line 172
def method_missing(m, *values)
  @condition_builder.conditions.add(m, @key, *values)
  @condition_builder
end