Class: DoneDone::Http

Inherits:
Object
  • Object
show all
Defined in:
lib/donedone/http.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(domain, username, password, options = {}) ⇒ Http

Returns a new instance of Http.



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/donedone/http.rb', line 14

def initialize(domain, username, password, options={})
  @domain = domain
  @_username = username
  @_password = password

  @put_class = options[:put_class] || Net::HTTP::Put
  @get_class = options[:get_class] || Net::HTTP::Get
  @post_class = options[:post_class] || Net::HTTP::Post
  @multipart_post_class = options[:multipart_post_class] || Multipart::Post
  @http_class = options[:http_class] || Net::HTTP
  @ssl_verify_mode = options[:ssl_verify_mode] || Constant::SSL_VERIFY_MODE
  @ssl_version = options[:ssl_version] || Constant::SSL_VERSION
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



7
8
9
# File 'lib/donedone/http.rb', line 7

def data
  @data
end

#domainObject (readonly)

Returns the value of attribute domain.



7
8
9
# File 'lib/donedone/http.rb', line 7

def domain
  @domain
end

#filesObject (readonly)

Returns the value of attribute files.



7
8
9
# File 'lib/donedone/http.rb', line 7

def files
  @files
end

#get_classObject (readonly)

Returns the value of attribute get_class.



12
13
14
# File 'lib/donedone/http.rb', line 12

def get_class
  @get_class
end

#http_classObject (readonly)

Returns the value of attribute http_class.



13
14
15
# File 'lib/donedone/http.rb', line 13

def http_class
  @http_class
end

#method_urlObject (readonly)

Returns the value of attribute method_url.



7
8
9
# File 'lib/donedone/http.rb', line 7

def method_url
  @method_url
end

#multipart_post_classObject (readonly)

Returns the value of attribute multipart_post_class.



12
13
14
# File 'lib/donedone/http.rb', line 12

def multipart_post_class
  @multipart_post_class
end

#post_classObject (readonly)

Returns the value of attribute post_class.



12
13
14
# File 'lib/donedone/http.rb', line 12

def post_class
  @post_class
end

#put_classObject (readonly)

Returns the value of attribute put_class.



12
13
14
# File 'lib/donedone/http.rb', line 12

def put_class
  @put_class
end

#ssl_verify_modeObject (readonly)

Returns the value of attribute ssl_verify_mode.



13
14
15
# File 'lib/donedone/http.rb', line 13

def ssl_verify_mode
  @ssl_verify_mode
end

#ssl_versionObject (readonly)

Returns the value of attribute ssl_version.



13
14
15
# File 'lib/donedone/http.rb', line 13

def ssl_version
  @ssl_version
end

Instance Method Details

#get(method_url, options = {}) ⇒ Object



46
47
48
49
50
# File 'lib/donedone/http.rb', line 46

def get(method_url, options={})
  @method_url = method_url
  reset(options)
  request(get_class)
end

#hostObject



39
40
41
42
43
44
# File 'lib/donedone/http.rb', line 39

def host
  unless @host
    @host = Constant.url_for('HOST', domain)
  end
  @host
end

#post(method_url, options = {}) ⇒ Object



60
61
62
63
64
65
66
# File 'lib/donedone/http.rb', line 60

def post(method_url, options={})
  @method_url = method_url
  reset(options)
  request(post_class) do
    files ? append_multipart_data : append_any_form_data
  end
end

#put(method_url, options = {}) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/donedone/http.rb', line 52

def put(method_url, options={})
  @method_url = method_url
  reset(options)
  request(put_class) do
    append_any_form_data
  end
end

#reset(options = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/donedone/http.rb', line 28

def reset(options = {})
  @data = options[:data]
  @files = options[:files]
  @_request = nil
  @uri = nil
  @base_url = nil
  @host = nil
  @http = nil
  @_debug = options.has_key?(:debug) ? options[:debug] : false
end