Class: Uploadcare::Rails::Settings
- Inherits:
-
OpenStruct
- Object
- OpenStruct
- Uploadcare::Rails::Settings
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/uploadcare/rails/settings.rb
Constant Summary collapse
- PUBLIC_ALLOWED_KEYS =
TODO: ALL the keys god damn it
[ :public_key, :locale, :images_only , :multiple, :multiple_min , :multiple_max, :preview_step, :crop, :clearable, :tabs, :autostore, :live, :manual_start, :path_value ]
Instance Method Summary collapse
- #api ⇒ Object
- #api_settings ⇒ Object
-
#initialize(config) ⇒ Settings
constructor
A new instance of Settings.
- #widget_settings ⇒ Object
Constructor Details
#initialize(config) ⇒ Settings
Returns a new instance of Settings.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/uploadcare/rails/settings.rb', line 35 def initialize(config) # extract envaroments settings settings = config[::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 |
Instance Method Details
#api ⇒ Object
67 68 69 |
# File 'lib/uploadcare/rails/settings.rb', line 67 def api @api ||= Uploadcare::Api.new(api_settings) end |
#api_settings ⇒ Object
59 60 61 |
# File 'lib/uploadcare/rails/settings.rb', line 59 def api_settings @api_settings ||= build_api_settings end |
#widget_settings ⇒ Object
63 64 65 |
# File 'lib/uploadcare/rails/settings.rb', line 63 def @widget_settings ||= end |