Class: Ammado::FundraiserCover

Inherits:
ApiResource show all
Defined in:
lib/ammado/fundraiser_cover.rb

Overview

Instance Attribute Summary

Attributes inherited from ApiResource

#params

Instance Method Summary collapse

Methods inherited from ApiResource

api, #api, create, #errors, #initialize, #method_missing

Constructor Details

This class inherits a constructor from Ammado::ApiResource

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Ammado::ApiResource

Instance Method Details

#calculate_signatureObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/ammado/fundraiser_cover.rb', line 20

def calculate_signature
  Rails.logger.info('Calculate signature for ' + @params.to_s)
  signature_parts = []
  signature_parts << fundraiser_id
  signature_parts << Base64.strict_encode64(file_name)
  signature_parts << api.secret
  plain_signature = signature_parts.flatten.join('.')
  Rails.logger.info('Plain signature is ' + plain_signature)
  return Digest::SHA1.hexdigest(plain_signature).upcase
end

#createObject



6
7
8
9
10
11
12
13
14
# File 'lib/ammado/fundraiser_cover.rb', line 6

def create
   File.open(api.default_images_folder + file_name) do |file|
    file_postfix = file_name.split('.').last
    upload_io_file = UploadIO.new(file, AMMADO_FILE_POSTFIX_TO_TYPE[file_postfix], file_name)
    code, response = api.post_multipart(resource_create_path, params.merge(coverImage: upload_io_file, signature: calculate_signature, apiKey: api.key))
    @params.merge!(response)
    return code == '201'
  end
end

#resource_create_pathObject



16
17
18
# File 'lib/ammado/fundraiser_cover.rb', line 16

def resource_create_path
  "/v1/fundraiser/#{fundraiser_id}/coverimage"
end