Class: Elessar::Movie

Inherits:
Object
  • Object
show all
Includes:
APIOperations::Request
Defined in:
lib/elessar/resources/movie.rb

Constant Summary collapse

OBJECT_NAME =
"movie"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from APIOperations::Request

included, #request

Constructor Details

#initialize(id, data = {}) ⇒ Movie

Returns a new instance of Movie.



9
10
11
12
# File 'lib/elessar/resources/movie.rb', line 9

def initialize(id, data = {})
  @id = id
  @data = data
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



7
8
9
# File 'lib/elessar/resources/movie.rb', line 7

def data
  @data
end

#idObject

Returns the value of attribute id.



7
8
9
# File 'lib/elessar/resources/movie.rb', line 7

def id
  @id
end

Class Method Details

.list(filters = { limit: 10 }, opts = {}) ⇒ Object



22
23
24
25
# File 'lib/elessar/resources/movie.rb', line 22

def self.list(filters = { limit: 10 }, opts = {})
  resp = request(:get, resource_url, params = filters, opts = opts)
  new(nil, resp.data)
end

.resource_urlObject



33
34
35
# File 'lib/elessar/resources/movie.rb', line 33

def self.resource_url
  "#{OBJECT_NAME}"
end

.retrieve(id, opts = {}) ⇒ Object



16
17
18
19
20
# File 'lib/elessar/resources/movie.rb', line 16

def self.retrieve(id, opts = {})
  url = resource_url + "/#{id}"
  resp = request(:get, url, params = nil, opts = opts)
  new(id, resp.data)
end

Instance Method Details

#list_quotes(filters = { limit: 10 }, opts = {}) ⇒ Object



27
28
29
30
31
# File 'lib/elessar/resources/movie.rb', line 27

def list_quotes(filters = { limit: 10 }, opts = {})
  url = "#{resource_url}/#{id}/quote"
  resp = request(:get, url, params = filters, opts = opts)
  Elessar::Quote.new(nil, resp.data)
end

#resource_urlObject



37
38
39
# File 'lib/elessar/resources/movie.rb', line 37

def resource_url
  "#{OBJECT_NAME}"
end