Class: FileTurn::File

Inherits:
Resource show all
Defined in:
lib/fileturn/resources/file.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

conn, #errors

Constructor Details

#initialize(params = {}) ⇒ File

instance



73
74
75
# File 'lib/fileturn/resources/file.rb', line 73

def initialize(params={})
  parse_json_params(params)
end

Instance Attribute Details

#convert_toObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def convert_to
  @convert_to
end

#created_atObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def created_at
  @created_at
end

#download_urlObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def download_url
  @download_url
end

#idObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def id
  @id
end

#notificationsObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def notifications
  @notifications
end

#paramsObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def params
  @params
end

#statusObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def status
  @status
end

#urlObject

vars



69
70
71
# File 'lib/fileturn/resources/file.rb', line 69

def url
  @url
end

Class Method Details

.allObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/fileturn/resources/file.rb', line 13

def all
  conn.get("files.json", {}, 200) do |params|
    files = Array(params['files']).map { |p| File.new(p) }
    OpenStruct.new(
      :files => files, 
      :total_files => params['total_files'],
      :current_page => params['current_page'],
      :per_page => params['per_page'],
      :total_pages => params['total_pages']
    )
  end
end

.convert(params) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/fileturn/resources/file.rb', line 26

def convert(params)
  file = params['file'] || params[:file]
  return upload_file(file, params) unless file.nil?

  conn.post("files.json", params, 201) do |params|
    File.new(params)
  end
end

.find(id, &block) ⇒ Object



7
8
9
10
11
# File 'lib/fileturn/resources/file.rb', line 7

def find(id, &block)
  conn.get("/files/#{id}.json", {}, 200) do |params|
    block ? block.call(params) : File.new(params)
  end
end

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/fileturn/resources/file.rb', line 81

def failed?
  status == 'failed'
end

#queued?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/fileturn/resources/file.rb', line 85

def queued?
  status == 'queued'
end

#reloadObject



89
90
91
92
# File 'lib/fileturn/resources/file.rb', line 89

def reload
  File.find(id) { |params| parse_json_params(params) }
  self
end

#success?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/fileturn/resources/file.rb', line 77

def success?
  status == 'processed'
end

#time_takenObject



94
95
96
# File 'lib/fileturn/resources/file.rb', line 94

def time_taken
  notifications.last && notifications.last.time_taken
end