Class: GrowthPush::Connection
- Inherits:
-
Object
- Object
- GrowthPush::Connection
- Defined in:
- lib/growth_push/connection.rb
Constant Summary collapse
- METHODS =
A Set of allowed HTTP verbs.
Set.new [:get, :post, :put]
Instance Attribute Summary collapse
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#is_auth ⇒ Object
readonly
Returns the value of attribute is_auth.
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
- #get(endpoint) ⇒ Object
-
#initialize(params = {}) ⇒ Connection
constructor
A new instance of Connection.
- #post(endpoint) ⇒ Object
- #put(endpoint) ⇒ Object
- #request(method, endpoint) ⇒ Object
Constructor Details
#initialize(params = {}) ⇒ Connection
Returns a new instance of Connection.
10 11 12 13 14 15 |
# File 'lib/growth_push/connection.rb', line 10 def initialize(params={}) user_agent = params.delete(:user_agent) @headers = setup_headers(user_agent) @headers["User-Agent"] ||= "GrowthPush Ruby Library v#{VERSION}" @params = setup_params(params) end |
Instance Attribute Details
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
8 9 10 |
# File 'lib/growth_push/connection.rb', line 8 def headers @headers end |
#is_auth ⇒ Object (readonly)
Returns the value of attribute is_auth.
8 9 10 |
# File 'lib/growth_push/connection.rb', line 8 def is_auth @is_auth end |
#params ⇒ Object (readonly)
Returns the value of attribute params.
8 9 10 |
# File 'lib/growth_push/connection.rb', line 8 def params @params end |
Instance Method Details
#get(endpoint) ⇒ Object
17 18 19 |
# File 'lib/growth_push/connection.rb', line 17 def get(endpoint) request(:get, endpoint) end |
#post(endpoint) ⇒ Object
21 22 23 |
# File 'lib/growth_push/connection.rb', line 21 def post(endpoint) request(:post, endpoint) end |
#put(endpoint) ⇒ Object
25 26 27 |
# File 'lib/growth_push/connection.rb', line 25 def put(endpoint) request(:put, endpoint) end |
#request(method, endpoint) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/growth_push/connection.rb', line 29 def request(method, endpoint) raise ArgumentError, "unknown HTTP method: #{method}" unless METHODS.include?(method) request = Request.new(method, "#{GrowthPush.configuration.api_version}/#{endpoint}", headers, params) response = http.start do |http| http.request request.create end Response.handle(response) end |