Class: AlacrityRails::Transaction::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/alacrity-rails/transaction/base.rb

Direct Known Subclasses

ConnectionTest, ServerStartup, WebTransaction

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.authorization_header_valueObject



20
21
22
# File 'lib/alacrity-rails/transaction/base.rb', line 20

def self.authorization_header_value
  @authorization_header_value ||= ActionController::HttpAuthentication::Token.encode_credentials(AlacrityRails::Config.api_token)
end

.endpointObject



15
16
17
# File 'lib/alacrity-rails/transaction/base.rb', line 15

def self.endpoint
  raise 'Must implement'
end

.net_http_start_argumentsObject



10
11
12
# File 'lib/alacrity-rails/transaction/base.rb', line 10

def self.net_http_start_arguments
  @net_http_start_arguments ||= [endpoint.host, endpoint.port, use_ssl: endpoint.scheme == 'https']
end

Instance Method Details

#authorization_header_valueObject



23
# File 'lib/alacrity-rails/transaction/base.rb', line 23

def authorization_header_value; self.class.authorization_header_value end

#endpointObject



18
# File 'lib/alacrity-rails/transaction/base.rb', line 18

def endpoint; self.class.endpoint end

#net_http_start_argumentsObject



13
# File 'lib/alacrity-rails/transaction/base.rb', line 13

def net_http_start_arguments; self.class.net_http_start_arguments end

#post_requestObject



3
4
5
6
7
8
# File 'lib/alacrity-rails/transaction/base.rb', line 3

def post_request
  Net::HTTP::Post.new(endpoint, {
    "Authorization" => authorization_header_value,
    "Content-Type" => "application/json"
  }).tap { |request| request.body = to_json }
end

#to_jsonObject



25
26
27
# File 'lib/alacrity-rails/transaction/base.rb', line 25

def to_json
  @to_json ||= super.to_json
end