Class: AWS::S3::PresignedPost::ConditionBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/aws/s3/presigned_post.rb

Overview

Lets you specify conditions on a field. See #where for usage examples.

Instance Method Summary collapse

Constructor Details

#initialize(post, field) ⇒ ConditionBuilder

Returns a new instance of ConditionBuilder.



240
241
242
243
# File 'lib/aws/s3/presigned_post.rb', line 240

def initialize(post, field)
  @post = post
  @field = field
end

Instance Method Details

#in(range) ⇒ Object

Specifies that the value of the field must be in the given range. This may only be used to constrain the :content_length field, e.g. presigned_post.with(:conent_length).in(1..4).



278
279
280
# File 'lib/aws/s3/presigned_post.rb', line 278

def in(range)
  @post.refine(:content_length => range)
end

#is(value) ⇒ Object

Specifies that the value of the field must equal the provided value.



247
248
249
250
251
252
253
# File 'lib/aws/s3/presigned_post.rb', line 247

def is(value)
  if @field == :content_length
    self.in(value)
  else
    @post.with_equality_condition(@field, value)
  end
end

#starts_with(prefix) ⇒ Object

Specifies that the value of the field must begin with the provided value. If you are specifying a condition on the “key” field, note that this check takes place after the ${filename} variable is expanded. This is only valid for the following fields:



270
271
272
# File 'lib/aws/s3/presigned_post.rb', line 270

def starts_with(prefix)
  @post.with_prefix_condition(@field, prefix)
end