Sha256: e9d1f63b0404dc618e16fdf1470bc3b96fb5ad16d4be271b37cb1368d2a9f474

Contents?: true

Size: 848 Bytes

Versions: 17

Compression:

Stored size: 848 Bytes

Contents

module MagLoft
  class TypeloftImage < RemoteResource
    endpoint "api/maglove/v1/typeloft_images"
    remote_attribute :title, :user_id, :typeloft_folder_id, :typeloft_theme_id, :remote_file, :md5
    attr_accessor :policy, :content_type

    def upload(file_path)
      return false if policy.nil?
      conn = Faraday.new(url: policy["url"]) do |f|
        f.ssl.verify = false
        f.headers = policy["headers"]
        f.adapter :net_http
      end
      response = conn.put(nil, File.read(file_path))
      return (response.status == 200)
    end

    def queue_upload(file_path, &block)
      return false if policy.nil?
      request = Typhoeus::Request.new(policy["url"], method: :put, headers: policy["headers"], body: File.read(file_path), timeout: 200_000)
      request.on_complete(&block) if block
      request
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
maglove-2.0.11 lib/magloft/typeloft_image.rb
maglove-2.0.10 lib/magloft/typeloft_image.rb
maglove-2.0.9 lib/magloft/typeloft_image.rb
maglove-2.0.8 lib/magloft/typeloft_image.rb
maglove-2.0.7 lib/magloft/typeloft_image.rb
maglove-1.1.5 lib/magloft/typeloft_image.rb
maglove-1.1.4 lib/magloft/typeloft_image.rb
maglove-1.1.3 lib/magloft/typeloft_image.rb
maglove-2.0.4 lib/magloft/typeloft_image.rb
maglove-2.0.2 lib/magloft/typeloft_image.rb
maglove-2.0.1 lib/magloft/typeloft_image.rb
maglove-1.1.2 lib/magloft/typeloft_image.rb
maglove-2.0.0 lib/magloft/typeloft_image.rb
maglove-1.1.1 lib/magloft/typeloft_image.rb
maglove-1.1.0 lib/magloft/typeloft_image.rb
maglove-1.0.9 lib/magloft/typeloft_image.rb
maglove-1.0.8 lib/magloft/typeloft_image.rb