1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/lib/fog/aws/requests/sns/add_permission.rb
Josh Lane 07b1e458de workaround 1.8.7 Hash#select
* References #94
2015-05-13 09:54:58 -07:00

34 lines
957 B
Ruby

module Fog
module AWS
class SNS
class Real
require 'fog/aws/parsers/sns/add_permission'
def add_permission(options = {})
request({
'Action' => 'AddPermission',
:parser => Fog::Parsers::AWS::SNS::AddPermission.new
}.merge!(options))
end
end
class Mock
def add_permission(options = {})
topic_arn = options.delete('TopicArn')
label = options.delete('Label')
actions = Hash[options.select { |k,v| k.match(/^ActionName/) }].values
members = Hash[options.select { |k,v| k.match(/^AWSAccountId/) }].values
self.data[:permissions][topic_arn][label] = {
:members => members,
:actions => actions,
}
response = Excon::Response.new
response.body = {"RequestId" => Fog::AWS::Mock.request_id}
response
end
end
end
end
end