Sha256: 2f3754cfb4b03add8d6a69a9ee44d884125e96401a419864e69e47984a91e8fd
Contents?: true
Size: 1.65 KB
Versions: 4
Compression:
Stored size: 1.65 KB
Contents
# frozen_string_literal: true require 'singleton' module Uploadcare module Rails # A class for storing config parameters class Configuration include Singleton CONFIG_GLOBAL_PARAMS = %w[ public_key secret_key cache_files cache_expires_in cache_namespace cdn_hostname store_files_after_save store_files_async delete_files_after_destroy delete_files_async ].freeze WIDGET_PARAMS = %w[ public_key images_only preview_step crop image_shrink clearable tabs input_accept_types preferred_types system_dialog multipart_min_size preview_proxy cdn_base do_not_store audio_bits_per_second video_preferred_mime_types video_bits_per_second camera_mirror_default live manual_start locale locale_translations locale_pluralize ].freeze attr_accessor(*(CONFIG_GLOBAL_PARAMS + WIDGET_PARAMS).uniq) def uploader_parameters WIDGET_PARAMS.map do |param_name| param_value = instance_variable_get("@#{param_name}") next if param_value.nil? param_value = handle_param_value(param_value) "UPLOADCARE_#{param_name.upcase} = #{param_value};" end.compact.join("\n") end def widget OpenStruct.new(WIDGET_PARAMS.map { |param| [param, public_send(param)] }.to_h) end private def handle_param_value(param_value) case param_value when Hash param_value.deep_stringify_keys.to_json when Array "'#{param_value.join(' ')}'" when TrueClass, FalseClass param_value else "'#{param_value}'" end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems