Class: Gupshup::REST::Version
- Inherits:
-
Object
- Object
- Gupshup::REST::Version
- Defined in:
- lib/gupshup-rb/framework/rest/version.rb
Direct Known Subclasses
Defined Under Namespace
Classes: RecordStream
Instance Attribute Summary collapse
-
#domain ⇒ Object
Returns the value of attribute domain.
Instance Method Summary collapse
- #absolute_url(uri) ⇒ Object
- #create(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
- #delete(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
- #exception(response, header) ⇒ Object
- #fetch(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
-
#initialize(domain) ⇒ Version
constructor
A new instance of Version.
- #page(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
- #read_limits(limit = nil, page_size = nil) ⇒ Object
- #relative_uri(uri) ⇒ Object
- #request(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil) ⇒ Object
- #stream(page, limit: nil, page_limit: nil) ⇒ Object
- #update(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
Constructor Details
#initialize(domain) ⇒ Version
Returns a new instance of Version.
36 37 38 39 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 36 def initialize(domain) @domain = domain @version = nil end |
Instance Attribute Details
#domain ⇒ Object
Returns the value of attribute domain.
6 7 8 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 6 def domain @domain end |
Instance Method Details
#absolute_url(uri) ⇒ Object
41 42 43 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 41 def absolute_url(uri) @domain.absolute_url(relative_uri(uri)) end |
#create(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
142 143 144 145 146 147 148 149 150 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 142 def create(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) response = request(method, uri, params, data, headers, auth, timeout) if response.status_code < 200 || response.status_code >= 300 raise exception(response, 'Unable to create record') end response.body end |
#delete(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 97 def delete(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) response = request( method, uri, params, data, headers, auth, timeout ) if response.status_code < 200 || response.status_code >= 300 raise exception(response, 'Unable to delete record') end response.status_code == 204 end |
#exception(response, header) ⇒ Object
56 57 58 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 56 def exception(response, header) Gupshup::REST::RestError.new(header, response) end |
#fetch(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 60 def fetch(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) response = request( method, uri, params, data, headers, auth, timeout ) # Note that 3XX response codes are allowed for fetches. if response.status_code < 200 || response.status_code >= 400 raise exception(response, 'Unable to fetch record') end response.body end |
#page(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 126 def page(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) request( method, uri, params, data, headers, auth, timeout ) end |
#read_limits(limit = nil, page_size = nil) ⇒ Object
115 116 117 118 119 120 121 122 123 124 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 115 def read_limits(limit = nil, page_size = nil) unless limit.nil? || page_size page_size = limit end { limit: limit || nil, page_size: page_size || nil } end |
#relative_uri(uri) ⇒ Object
45 46 47 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 45 def relative_uri(uri) "#{@version.chomp('/').gsub(/^\//, '')}/#{uri.chomp('/').gsub(/^\//, '')}" end |
#request(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 49 def request(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil) url = relative_uri(uri) params = params.delete_if { |_k, v| v.nil? } data = data @domain.request(method, url, params, data, headers, auth, timeout) end |
#stream(page, limit: nil, page_limit: nil) ⇒ Object
138 139 140 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 138 def stream(page, limit: nil, page_limit: nil) RecordStream.new(page, limit: limit, page_limit: page_limit) end |
#update(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/gupshup-rb/framework/rest/version.rb', line 79 def update(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil) response = request( method, uri, params, data, headers, auth, timeout ) if response.status_code < 200 || response.status_code >= 300 raise exception(response, 'Unable to update record') end response.body end |