Class: FileTurn::Conversion

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

conn

Constructor Details

#initialize(params) ⇒ Conversion

Returns a new instance of Conversion.



5
6
7
# File 'lib/fileturn/resources/conversion.rb', line 5

def initialize(params)
  @params = RecursiveOpenStruct.new(params, recurse_over_arrays: true)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &block) ⇒ Object



9
10
11
# File 'lib/fileturn/resources/conversion.rb', line 9

def method_missing(m, *args, &block)
  @params.send(m)
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



3
4
5
# File 'lib/fileturn/resources/conversion.rb', line 3

def params
  @params
end

Class Method Details

.all(per: 20, page: 1) ⇒ Object



33
34
35
36
37
38
# File 'lib/fileturn/resources/conversion.rb', line 33

def all(per: 20, page: 1)
  conn.get("conversions.json", { per: per, page: page }, 200) do |params|
    params['conversions'].map! { |conv| FileTurn::Conversion.new(conv) }
    RecursiveOpenStruct.new(params, recurse_over_arrays: true)
  end
end

.find(id, &block) ⇒ Object



27
28
29
30
31
# File 'lib/fileturn/resources/conversion.rb', line 27

def find(id, &block)
  conn.get("/conversions/#{id}.json", {}, 200) do |params|
    FileTurn::Conversion.new(params)
  end
end

.process!(params) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'lib/fileturn/resources/conversion.rb', line 40

def process!(params)
  if params[:file]
    params[:url] ||= Upload.process!(params[:file]).download_url
    params[:file] = nil
  end

  conn.post("conversions.json", params, 200) do |params|
    FileTurn::Conversion.new(params)
  end
end

Instance Method Details

#reload!Object



13
14
15
16
# File 'lib/fileturn/resources/conversion.rb', line 13

def reload!
  @params = FileTurn::Conversion.find(id).params
  self
end