Sha256: 7787eaf574d477c4fba4f397a8e65d6480c0a4df3978a438265d0e4a6457b2b2

Contents?: true

Size: 789 Bytes

Versions: 1

Compression:

Stored size: 789 Bytes

Contents

module Uploadcare
  module Rails
    class Settings
      @@keys = [
        :public_key, :private_key, :upload_url_base,
        :api_url_base, :static_url_base, :api_version,
        :widget_version
      ]
      cattr_reader :keys

      keys.each { |key| attr_accessor key }
      attr_reader :api, :uploader
      

      def initialize(settings = {})
        self.class.keys.each do |key|
          send "#{key}=", settings[key] if settings[key].present?
        end
      end

      def get_settings
        Hash[self.class.keys.select{|k| send(k).present? }.map{|k| [k, send(k)]}]
      end

      def make_api
        @api = Uploadcare::Api.new(get_settings)
      end

      def make_uploader
        @uploader = Uploadcare::Uploader.new(get_settings)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
uploadcare-rails-0.2.2 lib/uploadcare/rails/settings.rb