Module: Facile::Api::RequestMethods

Includes:
Forwardable
Defined in:
lib/facile/api/request_methods.rb

Instance Method Summary collapse

Instance Method Details

#create_request(req_options = {}) ⇒ Object



18
19
20
21
22
# File 'lib/facile/api/request_methods.rb', line 18

def create_request(req_options = {})
  req = Facile::Request.new(req_options)

  req.go
end

#find(*args) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/facile/api/request_methods.rb', line 7

def find(*args)
  id, options = args[0] || nil, args[1] || {}

  url = generate_url(id, self.url)
  req_options = request_options(url)

  body = create_request(req_options).body

  create_instance(body)
end

#generate_url(id, url) ⇒ Object



24
25
26
27
28
29
# File 'lib/facile/api/request_methods.rb', line 24

def generate_url(id, url)
  template = Addressable::Template.new(url)
  expanded = template.partial_expand(:id => id)

  expanded.pattern
end

#request_options(url) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/facile/api/request_methods.rb', line 31

def request_options(url)
  {
    :url => url,
    :method => :get,
    :headers => self.headers || {},
    :options => self.options || {},
    :body => self.body,
    :params => self.params || {}
  }
end