class Uploadcare::Rails::Settings
Constants
- PUBLIC_ALLOWED_KEYS
TODO: ALL the keys god damn it
Public Class Methods
new(config)
click to toggle source
Calls superclass method
# File lib/uploadcare/rails/settings.rb, line 34 def initialize(config) # extract envaroments settings settings = config.with_indifferent_access[::Rails.env] unless settings.present? raise ArgumentError, 'config is empty or not given at all' end # build settings object (basicly openstruct) # merge defaults with actual settings # strip defaults suplied by uploadcare-ruby gem from private/pub key uc_defaults = Uploadcare::DEFAULT_SETTINGS.except(:public_key, :private_key) defaults = Uploadcare::Rails::DEFAULT_SETTINGS.merge(uc_defaults) settings = defaults.merge(settings) super settings # validates settings atributes. unless valid? raise ArgumentError, 'Private or public key options were not provided' end end
Public Instance Methods
api()
click to toggle source
# File lib/uploadcare/rails/settings.rb, line 66 def api @api ||= Uploadcare::Api.new(api_settings) end
api_settings()
click to toggle source
# File lib/uploadcare/rails/settings.rb, line 58 def api_settings @api_settings ||= build_api_settings end
widget_settings()
click to toggle source
# File lib/uploadcare/rails/settings.rb, line 62 def widget_settings @widget_settings ||= build_widget_settings end
Private Instance Methods
build_api_settings()
click to toggle source
# File lib/uploadcare/rails/settings.rb, line 76 def build_api_settings marshal_dump end
build_widget_settings()
click to toggle source
# File lib/uploadcare/rails/settings.rb, line 72 def build_widget_settings marshal_dump.slice(*PUBLIC_ALLOWED_KEYS) end