class Azure::SAS

Generates an Azure Shared Access Signature @see docs.microsoft.com/en-us/rest/api/storageservices/fileservices/delegating-access-with-a-shared-access-signature

Constants

BLOB_RESOURCE
CONTAINER_RESOURCE
SIGNATURE
VERSION
WrongOptionsError

Public Class Methods

new(storage_access_key, storage_account, uri, options = {}) click to toggle source
# File lib/azure/sas.rb, line 36
def initialize(storage_access_key, storage_account, uri, options = {})
  @uri = Addressable::URI.parse(uri)
  @options = Options.new
  @storage_access_key = storage_access_key
  @storage_account = storage_account

  options.each do |key, value|
    @options.public_send("#{key}=", value)
  end
end

Public Instance Methods

generate() click to toggle source
# File lib/azure/sas.rb, line 47
def generate
  uri = @uri.dup
  uri.query_values = (uri.query_values || {}).merge(query_values)
  uri.to_s
end

Private Instance Methods

query_values() click to toggle source
# File lib/azure/sas.rb, line 55
def query_values
  @options
    .to_query_values
    .merge(SIGNATURE => signature)
end
signature() click to toggle source
# File lib/azure/sas.rb, line 61
def signature
  raise 'Not implemented'
end