Class ActiveResource::Connection
In: vendor/rails/activeresource/lib/active_resource/http_mock.rb
vendor/rails/activeresource/lib/active_resource/connection.rb
Parent: Object

Class to handle connections to remote web services. This class is used by ActiveResource::Base to interface with REST services.

Methods

delete   get   head   new   password=   post   proxy=   put   requests   site=   ssl_options=   timeout=   user=  

Constants

HTTP_FORMAT_HEADER_NAMES = { :get => 'Accept', :put => 'Content-Type', :post => 'Content-Type', :delete => 'Accept', :head => 'Accept'

Attributes

format  [RW] 
password  [R] 
proxy  [R] 
site  [R] 
ssl_options  [R] 
timeout  [R] 
user  [R] 

Public Class methods

The site parameter is required and will set the site attribute to the URI for the remote resource service.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 96
 96:     def initialize(site, format = ActiveResource::Formats[:xml])
 97:       raise ArgumentError, 'Missing site URI' unless site
 98:       @user = @password = nil
 99:       self.site = site
100:       self.format = format
101:     end

[Source]

    # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 89
89:       def requests
90:         @@requests ||= []
91:       end

Public Instance methods

Execute a DELETE request (see HTTP protocol documentation if unfamiliar). Used to delete resources.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 143
143:     def delete(path, headers = {})
144:       request(:delete, path, build_request_headers(headers, :delete))
145:     end

Execute a GET request. Used to get (find) resources.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 137
137:     def get(path, headers = {})
138:       format.decode(request(:get, path, build_request_headers(headers, :get)).body)
139:     end

Execute a HEAD request. Used to obtain meta-information about resources, such as whether they exist and their size (via response headers).

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 161
161:     def head(path, headers = {})
162:       request(:head, path, build_request_headers(headers, :head))
163:     end

Set password for remote service.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 121
121:     def password=(password)
122:       @password = password
123:     end

Execute a POST request. Used to create new resources.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 155
155:     def post(path, body = '', headers = {})
156:       request(:post, path, body.to_s, build_request_headers(headers, :post))
157:     end

Set the proxy for remote service.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 111
111:     def proxy=(proxy)
112:       @proxy = proxy.is_a?(URI) ? proxy : URI.parse(proxy)
113:     end

Execute a PUT request (see HTTP protocol documentation if unfamiliar). Used to update resources.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 149
149:     def put(path, body = '', headers = {})
150:       request(:put, path, body.to_s, build_request_headers(headers, :put))
151:     end

Set URI for remote service.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 104
104:     def site=(site)
105:       @site = site.is_a?(URI) ? site : URI.parse(site)
106:       @user = URI.decode(@site.user) if @site.user
107:       @password = URI.decode(@site.password) if @site.password
108:     end

Hash of options applied to Net::HTTP instance when site protocol is ‘https’.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 131
131:     def ssl_options=(opts={})
132:       @ssl_options = opts
133:     end

Set the number of seconds after which HTTP requests to the remote service should time out.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 126
126:     def timeout=(timeout)
127:       @timeout = timeout
128:     end

Set the user for remote service.

[Source]

     # File vendor/rails/activeresource/lib/active_resource/connection.rb, line 116
116:     def user=(user)
117:       @user = user
118:     end

[Validate]