Sha256: f7ab7dbdccb01630cd59ccbd34f0ab50bee75daa0d33dd3fe72f22e16d2d602c

Contents?: true

Size: 675 Bytes

Versions: 3

Compression:

Stored size: 675 Bytes

Contents

# frozen_string_literal: true

begin
  require 'GiphyClient'

  module Giphy
    module Config
      extend self

      attr_writer :api_key
      attr_writer :rating

      def api_key
        @api_key ||= ENV['GIPHY_API_KEY']
      end

      def rating
        @rating ||= 'G'
      end
    end

    class << self
      def configure
        block_given? ? yield(Config) : Config
      end

      def config
        Config
      end

      def client
        @client ||= GiphyClient::DefaultApi.new
      end

      def random(keywords)
        client.gifs_random_get(config.api_key, tag: keywords, rating: config.rating).data
      end
    end
  end
rescue LoadError
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
slack-ruby-bot-0.15.0 lib/initializers/giphy_client.rb
slack-ruby-bot-0.14.0 lib/initializers/giphy_client.rb
slack-ruby-bot-0.13.0 lib/initializers/giphy_client.rb