Sha256: f899ce4057729ca5f5a2ba75d633a86481f3830794d62ac3c27b014aa3f3fff9

Contents?: true

Size: 459 Bytes

Versions: 2

Compression:

Stored size: 459 Bytes

Contents

require 'uri'

module InkFilePicker
  # Public: Takes a file url, adds action to the path (if any), and includes params.
  class UrlBuilder
    include Assignable

    attr_accessor :file_url, :action, :params

    def initialize(attributes = {})
      assign attributes
    end

    def url
      url = [file_url, action].compact.join '/'
      url = [url, URI.encode_www_form(params)].join '?' if params.any?

      url
    end
    alias to_s url
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ink_file_picker-0.0.5 lib/ink_file_picker/url_builder.rb
ink_file_picker-0.0.4 lib/ink_file_picker/url_builder.rb