Class: Base

Inherits:
Object
  • Object
show all
Defined in:
lib/okra/okra_products/base/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(okra_object = nil) ⇒ Base

method to initialize this class



13
14
15
16
17
18
# File 'lib/okra/okra_products/base/base.rb', line 13

def initialize(okra_object=nil)
    unless !okra_object.nil?
        raise ArgumentError, "Okra Object is required!!!"
    end
    @okra_object = okra_object
end

Instance Attribute Details

#okra_objectObject (readonly)

Returns the value of attribute okra_object.



8
9
10
# File 'lib/okra/okra_products/base/base.rb', line 8

def okra_object
  @okra_object
end

Instance Method Details

#check_passed_parameters(required_params, passed_params) ⇒ Object

method to check if the passed parameters is equal to the expected parameters



79
80
81
82
83
84
85
86
87
# File 'lib/okra/okra_products/base/base.rb', line 79

def check_passed_parameters(required_params, passed_params)

    # This is used to check if the passed authorization parameters matches the required parameters
    required_params.each do |k, v|
      if !passed_params.key?(k)
        raise IncompleteParameterError, "Parameters Incomplete, Missing Parameter: #{k}, Please pass in the complete parameter."
      end
    end
end

#delete_request(endpoint, data) ⇒ Object

method to make a delete request



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/okra/okra_products/base/base.rb', line 61

def delete_request(endpoint, data)
    begin
      response = HTTParty.delete(endpoint, {
        body: data,
        headers: {
          "Content-Type" => "application/json",
          "Authorization" =>  "Bearer #{okra_object.secret_key}"
        }
      })

      unless (response.code == 200 || response.code == 201)
        raise OkraServerError.new(response), "HTTP Code #{response.code}: #{response.body}"
      end
      return response
    end
end

#get_request(endpoint) ⇒ Object

method to make a get request



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/okra/okra_products/base/base.rb', line 22

def get_request(endpoint)

      begin
          response = HTTParty.get(endpoint, :headers => { "Authorization" => "Bearer #{okra_object.secret_key}" })
          unless (response.code ==200 || response.code == 201)
              raise OkraServerError.new(response), "HTTP Code #{response.code}: #{response.body}"
      end

      return response
      unless(response.code != 0)
          raise OkraServerError.new(response), "Server Message: #{response.Message}"
      end

  rescue JSON::ParserError => jsonerr
      raise OkraServerError.new(response), "Invalid result data. Could not parse JSON response body \n #{jsonerr.message}"
      return response
  end 
end

#post_request(endpoint, data) ⇒ Object

method to make a post request



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/okra/okra_products/base/base.rb', line 43

def post_request(endpoint, data)
    begin
        response = HTTParty.post(endpoint, {
            body: data,
            headers: {
                "Content-Type" => "application/json",
                "Authorization" => "Bearer #{okra_object.secret_key}"
            }
        })

        unless(response.code == 200 || response.code == 201)
            raise OkraServerError.new(response), "HTTP Code #{response.code}: #{response.body}"
        end
        return response
    end
end