Sha256: 6e4c225ebede8e0e8788eb9d485237185bd42bd360b4f39de7051c2c03580420

Contents?: true

Size: 1.61 KB

Versions: 5

Compression:

Stored size: 1.61 KB

Contents

module Uploadcare::Rails::SimpleForm
  class UploadcareInput < SimpleForm::Inputs::HiddenInput
    include Uploadcare::Rails::ActionView::UploaderTags

    def input
      @options = uploadcare_uploader_options(@options)
      super
    end

    def role
      "#{@input_html_options[:role]} uploadcare-uploader".strip
    end

    def input_html_options
      @input_html_options.merge role: role, data: @options[:data]
    end

    def is_file?
      @builder.object.try("has_#{@attribute}_as_uploadcare_file?".to_sym) && !@builder.object.try("has_#{@attribute}_as_uploadcare_group?".to_sym)
    end

    def is_group?
      @builder.object.try("has_#{@attribute}_as_uploadcare_file?".to_sym) && !@builder.object.try("has_#{@attribute}_as_uploadcare_group?".to_sym)
    end
  end



  class UploadcareUploaderInput < Uploadcare::Rails::SimpleForm::UploadcareInput
    def input
      @options ||= {}
      @options[:uploadcare] ||= {}
      if is_file?
        @options[:uploadcare][:multiple] = false
      elsif is_group?
        @options[:uploadcare][:multiple] = true
      end
      super
    end
  end

  class UploadcareSingleUploaderInput < Uploadcare::Rails::SimpleForm::UploadcareInput 
    def input
      @options ||= {}
      @options[:uploadcare] ||= {}
      @options[:uploadcare][:multiple] = false
      super
    end   
  end

  class UploadcareMultipleUploaderInput < Uploadcare::Rails::SimpleForm::UploadcareInput
    def input
      @options ||= {}
      @options[:uploadcare] ||= {}
      @options[:uploadcare][:multiple] = true
      super
    end 
  end
end

SimpleForm::Inputs.send :include, Uploadcare::Rails::SimpleForm

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
uploadcare-rails-1.0.5 lib/uploadcare/rails/simple_form/simple_form.rb
uploadcare-rails-1.0.4 lib/uploadcare/rails/simple_form/simple_form.rb
uploadcare-rails-1.0.3 lib/uploadcare/rails/simple_form/simple_form.rb
uploadcare-rails-1.0.2 lib/uploadcare/rails/simple_form/simple_form.rb
uploadcare-rails-1.0.1 lib/uploadcare/rails/simple_form/simple_form.rb