module FilepickerRails::Tag

@private

Constants

FILEPICKER_OPTIONS_TO_CAMELIZE
FILEPICKER_OPTIONS_TO_DASHERIZE

Attributes

input_options[R]
type[R]

Private Instance Methods

define_input_options(options) click to toggle source
# File lib/filepicker_rails/tag.rb, line 17
def define_input_options(options)
  @type = options.delete(:dragdrop) ? 'filepicker-dragdrop' : 'filepicker'
  @input_options = retrieve_legacy_filepicker_options(options)
  @input_options['data-fp-apikey'] ||= ::Rails.application.config.filepicker_rails.api_key
  @input_options.merge!(secure_filepicker) unless @input_options['data-fp-policy'].present?
  @input_options['type'] = @type
  @input_options
end
filepicker_prefix() click to toggle source
# File lib/filepicker_rails/tag.rb, line 26
def filepicker_prefix
  'data-fp-'
end
retrieve_legacy_filepicker_options(options) click to toggle source
# File lib/filepicker_rails/tag.rb, line 30
def retrieve_legacy_filepicker_options(options)
  mappings = {}
  FILEPICKER_OPTIONS_TO_DASHERIZE.each do |option|
    mappings[option] = "#{filepicker_prefix}#{option.to_s.dasherize}"
  end
  FILEPICKER_OPTIONS_TO_CAMELIZE.each do |option|
    mappings[option] = "#{filepicker_prefix}#{option.to_s.camelize(:lower)}"
  end
  Hash[options.map {|k, v| [mappings[k] || k, v] }]
end
secure_filepicker() click to toggle source
# File lib/filepicker_rails/tag.rb, line 41
def secure_filepicker
  Policy.apply([:pick, :store], ['data-fp-policy', 'data-fp-signature'])
end