Class: Flukso::Request

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
HTTParty
Defined in:
lib/flukso/request.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, method, path, options = {}) ⇒ Request

Returns a new instance of Request.



47
48
49
# File 'lib/flukso/request.rb', line 47

def initialize(client, method, path, options={})
  @client, @method, @path, @options = client, method, path, {:mash => true}.merge(options)
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



43
44
45
# File 'lib/flukso/request.rb', line 43

def client
  @client
end

#methodObject (readonly)

Returns the value of attribute method.



43
44
45
# File 'lib/flukso/request.rb', line 43

def method
  @method
end

#optionsObject (readonly)

Returns the value of attribute options.



43
44
45
# File 'lib/flukso/request.rb', line 43

def options
  @options
end

#pathObject (readonly)

Returns the value of attribute path.



43
44
45
# File 'lib/flukso/request.rb', line 43

def path
  @path
end

Class Method Details

.delete(client, path, options = {}) ⇒ Object



39
40
41
# File 'lib/flukso/request.rb', line 39

def self.delete(client, path, options={})
  new(client, :delete, path, options).perform
end

.get(client, path, options = {}) ⇒ Object



27
28
29
# File 'lib/flukso/request.rb', line 27

def self.get(client, path, options={})
  new(client, :get, path, options).perform
end

.post(client, path, options = {}) ⇒ Object



31
32
33
# File 'lib/flukso/request.rb', line 31

def self.post(client, path, options={})
  new(client, :post, path, options).perform
end

.put(client, path, options = {}) ⇒ Object



35
36
37
# File 'lib/flukso/request.rb', line 35

def self.put(client, path, options={})
  new(client, :put, path, options).perform
end

Instance Method Details

#performObject



63
64
65
# File 'lib/flukso/request.rb', line 63

def perform
  make_friendly(send("perform_#{method}"))
end

#uriObject



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/flukso/request.rb', line 51

def uri
  @uri ||= begin
             uri = URI.parse(path)

             if options[:query] && options[:query] != {}
               uri.query = to_query(options[:query])
             end

             uri.to_s
           end
end