Sha256: 04838d8913f0ddee1cb0c53f00f8d640d889aba360069d9151265d298fb7af04

Contents?: true

Size: 1.73 KB

Versions: 3

Compression:

Stored size: 1.73 KB

Contents

module RubyApiPackCloudways
    module Connection
        class CwToken

            # Cloudways - Token - Attributes
            attr_accessor :cw_api_url_base, :cw_url_path_auth, :cw_user_email, :cw_user_key

            # Cloudways - Token - Init
            def initialize(cw_api_url_base, cw_url_path_auth, cw_user_email, cw_user_key)  
                @cw_api_url_base = cw_api_url_base
                @cw_url_path_auth = cw_url_path_auth
                @cw_user_email = cw_user_email
                @cw_user_key = cw_user_key
            end 

            # Cloudways - Token - Connection
            def cw_api_token_connection

                # Cloudways - Token - Connection via Faraday
                Faraday.new url: @cw_api_url_base + @cw_url_path_auth do |cw_token_connection|
                    cw_token_connection.request  :url_encoded
                    cw_token_connection.response :logger
                    cw_token_connection.adapter  Faraday.default_adapter
                end

            end

            # Cloudways - Token - Request
            def cw_api_token

                # Cloudways - Token - Request From Above Connection Method
                cloudways_token_request = cw_api_token_connection.post do |cw_token_request|
                    cw_token_request.headers["Content-Type"] = "application/x-www-form-urlencoded"
                    cw_token_request.body = {
                        email: @cw_user_email,
                        api_key: @cw_user_key
                    }
                end

                # Cloudways - Token - Request Isolate and Get Token from Response via OJ
                return cw_api_token = Oj.load(cloudways_token_request.body)["access_token"]

            end

        end
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby_api_pack_cloudways-0.1.0.pre.1 lib/ruby_api_pack_cloudways/connection/cw_token.rb
ruby_api_pack_cloudways-0.1.0.beta.5 lib/ruby_api_pack_cloudways/connection/cw_token.rb
ruby_api_pack_cloudways-0.1.0.beta.4 lib/ruby_api_pack_cloudways/connection/cw_token.rb