Module: Natero

Defined in:
lib/natero.rb,
lib/natero/version.rb

Defined Under Namespace

Classes: Account, Configuration, Response

Constant Summary collapse

PRODUCTION_URI =
'https://api.natero.com'
API_VERSION_URI =
'/api/v2'
VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.api_key_uriObject



41
42
43
# File 'lib/natero.rb', line 41

def self.api_key_uri
  '?api_key=' + Natero.configuration.
end

.configurationObject



21
22
23
# File 'lib/natero.rb', line 21

def self.configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



25
26
27
# File 'lib/natero.rb', line 25

def self.configure
  yield(configuration) if block_given?
end

.full_endpoint_uri(endpoint, *params) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/natero.rb', line 29

def self.full_endpoint_uri(endpoint, *params)
  base = self.uri + '/' + endpoint

  params.each { |param| base << '/' + param } unless params.flatten.empty?

  base + self.api_key_uri
end

.to_records_json(objects) ⇒ Object



45
46
47
# File 'lib/natero.rb', line 45

def self.to_records_json(objects)
  "{\"records\": #{Array(objects).map(&:serialize)}}".to_s.delete('\\').gsub('"{', '{').gsub('}"', '}')
end

.uriObject



37
38
39
# File 'lib/natero.rb', line 37

def self.uri
  Natero.configuration.base_uri + API_VERSION_URI
end