Class: Takeout::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/takeout/client.rb

Constant Summary collapse

FAILURES =

A constant specifying the kind of event callbacks to raise errors for

[:failure, :missing, :redirect]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

The main client initialization method.

Attributes

  • options - The main atrtibute and extra global options to set for the client

Options

  • :uri - A string defining the URI for the API to call.

  • :endpoints - A hash containing the endpoints by request type to generate methods for

  • :headers - A hash specifying the headers to apply to each request

  • :ssl - A boolean to specify whether or not SSL is turned on

  • :schemas - A hash specifying the custom per-endpoint schema templates

  • :extension - A string with the extension to be appended on each request



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/takeout/client.rb', line 48

def initialize(options={})
  if block_given?
    yield self
  else
    # Set instance variables
    @uri = options[:uri] ? options[:uri] : ''
    self.endpoints = options[:endpoints] ? options[:endpoints] : {}
    @headers = options[:headers] ? options[:headers] : {}
    @debug = options[:debug] ? options[:debug] : false
    @ssl = options[:ssl] ? options[:ssl] : false
    @schemas = options[:schemas] ? options[:schemas] : {}
    @extension =  options[:extension] ? options[:extension] : nil

    # Clean instance variables out of options hash and set that as options instance variable
    [:uri, :endpoints, :headers, :debug, :ssl, :schemas, :extension].each { |v| options.delete(v) }
    @options = options
  end
end

Instance Attribute Details

#debugBoolean

Returns a boolean specifying whether or not to run curl with teh verbose setting.

Returns:

  • (Boolean)

    a boolean specifying whether or not to run curl with teh verbose setting



10
11
12
# File 'lib/takeout/client.rb', line 10

def debug
  @debug
end

#endpointsHash

Returns the hash containing the endpoints by request type to generate methods for.

Returns:

  • (Hash)

    the hash containing the endpoints by request type to generate methods for



31
32
33
# File 'lib/takeout/client.rb', line 31

def endpoints
  @endpoints
end

#extensionString

Returns a string with the extension to be appended on each request.

Returns:

  • (String)

    a string with the extension to be appended on each request



19
20
21
# File 'lib/takeout/client.rb', line 19

def extension
  @extension
end

#headersHash

Returns a hash specifying the headers to apply to each request.

Returns:

  • (Hash)

    a hash specifying the headers to apply to each request



16
17
18
# File 'lib/takeout/client.rb', line 16

def headers
  @headers
end

#optionsHash

Returns a hash specifying the global options to apply to each request.

Returns:

  • (Hash)

    a hash specifying the global options to apply to each request



13
14
15
# File 'lib/takeout/client.rb', line 13

def options
  @options
end

#schemasHash

Returns a hash specifying the custom per-endpoint schema templates.

Returns:

  • (Hash)

    a hash specifying the custom per-endpoint schema templates



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

def schemas
  @schemas
end

#sslBoolean

Returns a boolean to specify whether or not SSL is turned on.

Returns:

  • (Boolean)

    a boolean to specify whether or not SSL is turned on



22
23
24
# File 'lib/takeout/client.rb', line 22

def ssl
  @ssl
end

#uriString

Returns the uri to send requests to.

Returns:

  • (String)

    the uri to send requests to



28
29
30
# File 'lib/takeout/client.rb', line 28

def uri
  @uri
end

Instance Method Details

#disable_sslObject

Flips the @ssl instance variable to false



86
87
88
# File 'lib/takeout/client.rb', line 86

def disable_ssl
  @ssl=false
end

#enable_sslObject

Flips the @ssl instance variable to true



81
82
83
# File 'lib/takeout/client.rb', line 81

def enable_ssl
  @ssl=true
end

#ssl?Boolean

Check if SSL is enabled.

Returns:

  • (Boolean)

    Returns true if SSL is enabled, false if disabled



69
70
71
# File 'lib/takeout/client.rb', line 69

def ssl?
  return @ssl
end