Class: Cloudimage::Security

Inherits:
Object
  • Object
show all
Defined in:
lib/cloudimage/security.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri, **config) ⇒ Security

Returns a new instance of Security.



14
15
16
17
# File 'lib/cloudimage/security.rb', line 14

def initialize(uri, **config)
  @uri = uri
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



12
13
14
# File 'lib/cloudimage/security.rb', line 12

def config
  @config
end

#uriObject (readonly)

Returns the value of attribute uri.



12
13
14
# File 'lib/cloudimage/security.rb', line 12

def uri
  @uri
end

Instance Method Details

#seal_url(path, sealed_params) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/cloudimage/security.rb', line 24

def seal_url(path, sealed_params)
  query = uri.query_values || {}
  sealed_query = query.slice(*sealed_params)
  query.keep_if { |k, _| !sealed_query.key?(k) }
  eqs = eqs(sealed_query)
  query[:ci_eqs] = eqs unless eqs.empty?
  query[:ci_seal] = seal(path, eqs)
  uri.query_values = query
end

#sign_url(request_uri) ⇒ Object



19
20
21
22
# File 'lib/cloudimage/security.rb', line 19

def sign_url(request_uri)
  query = uri.query_values || {}
  uri.query_values = query.merge(ci_sign: signature(request_uri))
end