Module: ShareMeowClient
- Extended by:
- Configuration
- Defined in:
- lib/share_meow_client.rb,
lib/share_meow_client/version.rb
Constant Summary collapse
- VERSION =
'0.1.2'
Class Method Summary collapse
-
.image_url(template:, options:) ⇒ String
Generates a ShareMeow URL.
Instance Method Summary collapse
-
#base_url ⇒ Object
Set the configuration variables.
Methods included from Configuration
Class Method Details
.image_url(template:, options:) ⇒ String
Generates a ShareMeow URL
Usage
image_url = ShareMeowClient.image_url(template: 'HelloWorld', options: { message: 'Hi' })
37 38 39 40 41 42 43 44 45 |
# File 'lib/share_meow_client.rb', line 37 def self.image_url(template:, options:) json_params = .merge(template: template).to_json encoded_params = Base64.urlsafe_encode64(json_params) hmac = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'.freeze), secret_key, encoded_params) hmac_digest = Base64.urlsafe_encode64([hmac].pack('H*'.freeze)) "#{base_url}/v1/#{encoded_params}/#{hmac_digest}/image.jpg" end |
Instance Method Details
#base_url ⇒ Object
Set the configuration variables
Usage
# config/initializers/share_meow.rb
ShareMeowClient.configuration do |config|
config.base_url = 'https://your-share-meow.example.com'
config.secret_key = 'a_very_long_secret_key'
end
19 |
# File 'lib/share_meow_client.rb', line 19 define_setting :base_url |