Class: Cubes::Client

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

Constant Summary collapse

DEFAULT_BASE_URL =
'http://localhost:5000'

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Cubes::Client

Initializes a new Client

Parameters:

  • options (Hash) (defaults to: {})


11
12
13
14
15
16
17
# File 'lib/cubes/client.rb', line 11

def initialize(options = {})
  @base_url = options[:base_url] || DEFAULT_BASE_URL
  @conn = Faraday.new(url: @base_url, headers: { 'Content-Type' => 'application/json' }) do |config|
    config.use Cubes::Middleware::RaiseError
    config.adapter :net_http_persistent
  end
end

Instance Method Details

#cube(name) ⇒ Cubes::Cube

Instantiating a cube api

Parameters:

  • name (String)

Returns:



44
45
46
# File 'lib/cubes/client.rb', line 44

def cube(name)
  Cubes::Cube.new(name, @conn)
end

#cubesArray

List all cubes

Returns:

  • (Array)


36
37
38
# File 'lib/cubes/client.rb', line 36

def cubes
  request.get('cubes')
end

#infoHash

Return server information

Returns:

  • (Hash)


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

def info
  request.get('info')
end

#versionHash

Return server version

Returns:

  • (Hash)


29
30
31
# File 'lib/cubes/client.rb', line 29

def version
  request.get('version')
end