Class: ActiveResource::Connection
- Inherits:
- 
      Object
      
        - Object
- ActiveResource::Connection
 
- Defined in:
- lib/active_resource/connection.rb
Overview
Class to handle connections to remote web services. This class is used by ActiveResource::Base to interface with REST services.
Constant Summary collapse
- HTTP_FORMAT_HEADER_NAMES =
- { :get => 'Accept', :put => 'Content-Type', :post => 'Content-Type', :patch => 'Content-Type', :delete => 'Accept', :head => 'Accept' } 
Instance Attribute Summary collapse
- 
  
    
      #auth_type  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute auth_type. 
- 
  
    
      #format  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute format. 
- 
  
    
      #password  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute password. 
- 
  
    
      #proxy  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute proxy. 
- 
  
    
      #site  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute site. 
- 
  
    
      #ssl_options  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute ssl_options. 
- 
  
    
      #timeout  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute timeout. 
- 
  
    
      #user  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute user. 
Class Method Summary collapse
Instance Method Summary collapse
- 
  
    
      #delete(path, headers = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Executes a DELETE request (see HTTP protocol documentation if unfamiliar). 
- 
  
    
      #get(path, headers = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Executes a GET request. 
- 
  
    
      #head(path, headers = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Executes a HEAD request. 
- 
  
    
      #initialize(site, format = ActiveResource::Formats::JsonFormat)  ⇒ Connection 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    The siteparameter is required and will set thesiteattribute to the URI for the remote resource service.
- 
  
    
      #patch(path, body = '', headers = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Executes a PATCH request (see HTTP protocol documentation if unfamiliar). 
- 
  
    
      #post(path, body = '', headers = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Executes a POST request. 
- 
  
    
      #put(path, body = '', headers = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Executes a PUT request (see HTTP protocol documentation if unfamiliar). 
Constructor Details
#initialize(site, format = ActiveResource::Formats::JsonFormat) ⇒ Connection
The site parameter is required and will set the site attribute to the URI for the remote resource service.
| 34 35 36 37 38 39 | # File 'lib/active_resource/connection.rb', line 34 def initialize(site, format = ActiveResource::Formats::JsonFormat) raise ArgumentError, 'Missing site URI' unless site @proxy = @user = @password = nil self.site = site self.format = format end | 
Instance Attribute Details
#auth_type ⇒ Object
Returns the value of attribute auth_type.
| 23 24 25 | # File 'lib/active_resource/connection.rb', line 23 def auth_type @auth_type end | 
#format ⇒ Object
Returns the value of attribute format.
| 24 25 26 | # File 'lib/active_resource/connection.rb', line 24 def format @format end | 
#password ⇒ Object
Returns the value of attribute password.
| 23 24 25 | # File 'lib/active_resource/connection.rb', line 23 def password @password end | 
#proxy ⇒ Object
Returns the value of attribute proxy.
| 23 24 25 | # File 'lib/active_resource/connection.rb', line 23 def proxy @proxy end | 
#site ⇒ Object
Returns the value of attribute site.
| 23 24 25 | # File 'lib/active_resource/connection.rb', line 23 def site @site end | 
#ssl_options ⇒ Object
Returns the value of attribute ssl_options.
| 23 24 25 | # File 'lib/active_resource/connection.rb', line 23 def @ssl_options end | 
#timeout ⇒ Object
Returns the value of attribute timeout.
| 23 24 25 | # File 'lib/active_resource/connection.rb', line 23 def timeout @timeout end | 
#user ⇒ Object
Returns the value of attribute user.
| 23 24 25 | # File 'lib/active_resource/connection.rb', line 23 def user @user end | 
Class Method Details
.requests ⇒ Object
| 27 28 29 | # File 'lib/active_resource/connection.rb', line 27 def requests @@requests ||= [] end | 
Instance Method Details
#delete(path, headers = {}) ⇒ Object
Executes a DELETE request (see HTTP protocol documentation if unfamiliar). Used to delete resources.
| 87 88 89 | # File 'lib/active_resource/connection.rb', line 87 def delete(path, headers = {}) with_auth { request(:delete, path, build_request_headers(headers, :delete, self.site.merge(path))) } end | 
#get(path, headers = {}) ⇒ Object
Executes a GET request. Used to get (find) resources.
| 81 82 83 | # File 'lib/active_resource/connection.rb', line 81 def get(path, headers = {}) with_auth { request(:get, path, build_request_headers(headers, :get, self.site.merge(path))) } end | 
#head(path, headers = {}) ⇒ Object
Executes a HEAD request. Used to obtain meta-information about resources, such as whether they exist and their size (via response headers).
| 111 112 113 | # File 'lib/active_resource/connection.rb', line 111 def head(path, headers = {}) with_auth { request(:head, path, build_request_headers(headers, :head, self.site.merge(path))) } end | 
#patch(path, body = '', headers = {}) ⇒ Object
Executes a PATCH request (see HTTP protocol documentation if unfamiliar). Used to update resources.
| 93 94 95 | # File 'lib/active_resource/connection.rb', line 93 def patch(path, body = '', headers = {}) with_auth { request(:patch, path, body.to_s, build_request_headers(headers, :patch, self.site.merge(path))) } end | 
#post(path, body = '', headers = {}) ⇒ Object
Executes a POST request. Used to create new resources.
| 105 106 107 | # File 'lib/active_resource/connection.rb', line 105 def post(path, body = '', headers = {}) with_auth { request(:post, path, body.to_s, build_request_headers(headers, :post, self.site.merge(path))) } end | 
#put(path, body = '', headers = {}) ⇒ Object
Executes a PUT request (see HTTP protocol documentation if unfamiliar). Used to update resources.
| 99 100 101 | # File 'lib/active_resource/connection.rb', line 99 def put(path, body = '', headers = {}) with_auth { request(:put, path, body.to_s, build_request_headers(headers, :put, self.site.merge(path))) } end |