Sha256: eb801e9d8c35522db42c231c27c65839d7af399c4666f52d703107d5be732fe6
Contents?: true
Size: 1.48 KB
Versions: 22
Compression:
Stored size: 1.48 KB
Contents
class Ey::Core::Client class Real def create_untracked_address(params={}) request( :body => params, :method => :post, :path => "/untracked-addresses", :url => params.delete("url"), ) end end # Real class Mock def create_untracked_address(params={}) url = params["url"] provider_id ||= params["provider"] || (url && path_params(url)["providers"]) find(:providers, provider_id) resource = params["untracked_address"].dup require_parameters(resource, "location", "provisioned_id", "provisioner_id") existing_address = self.data[:addresses].find {|id, a| a['provisioned_id'] == resource["provisioned_id"] } if existing_address existing_id, existing_address = existing_address response( :body => {"errors" => ["Address '#{resource['provisioned_id']}' is tracked."], "address" => url_for("/addresses/#{existing_id}")}, :status => 409, ) else tracked_address = self.addresses.create!(resource.merge("provider" => provider_id)).resource! resource.merge!( "provider" => url_for("/providers/#{provider_id}"), "location" => resource['location'], "address" => url_for("/addresses/#{tracked_address.id}"), ) response( :body => { "untracked_address" => resource }, :status => 201, ) end end end # Mock end # Ey::Core::Client
Version data entries
22 entries across 22 versions & 1 rubygems