Sha256: 52426374ff61b48fab0a7df942a1484d6e09055ac4ba33a6ab6db32ffb5ec7dc
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
module Jellyfish module Fog module AWS class Storage < ::Provisioner def provision instance_name = "id-#{order_item.uuid[0..9]}" begin storage = connection.directories.create(key: instance_name, public: true) rescue Excon::Errors::BadRequest, Excon::Errors::Forbidden => e raise e, 'Bad request. Check for valid credentials and proper permissions.', e.backtrace end order_item.payload_response = storage.to_json order_item.provision_status = 'ok' end def retire connection.delete_bucket(storage_key) order_item.provision_status = 'retired' rescue Excon::Errors::BadRequest, Excon::Errors::Forbidden => e raise e, 'Bad request. Check for valid credentials and proper permissions.', e.backtrace end private def connection ::Fog::Storage.new( provider: 'AWS', aws_access_key_id: aws_settings.fetch(:access_key), aws_secret_access_key: aws_settings.fetch(:secret_key) ) end def storage_key order_item.payload_response['key'] end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jellyfish_fog_aws-0.1.0 | lib/jellyfish_fog_aws/storage.rb |
jellyfish_fog_aws-0.0.1 | lib/jellyfish_fog_aws/storage.rb |