Class: Sequencescape::Api::ConnectionFactory

Inherits:
Object
  • Object
show all
Includes:
Actions
Defined in:
lib/sequencescape-api/connection_factory.rb

Defined Under Namespace

Modules: Actions, Helpers

Constant Summary collapse

ConnectionError =
Class.new(::Sequencescape::Api::Error)

Constants included from Actions

Actions::ServerError

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Actions

#create, #create_from_file, #perform_for_file, #read, #retrieve, #root, #update

Class Method Details

.create(options) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/sequencescape-api/connection_factory.rb', line 8

def self.create(options)
  required_options = []
  required_options.push(:user_api_key) if options[:authorisation].blank?
  required_options.push(:url) if default_url.blank?

  required_options.push(allow_blank: false)
  options.required!(*required_options) do |missing|
    raise ::Sequencescape::Api::Error, "No #{missing.or_sentence} set"
  end

  options[:url] ||= default_url
  new(options)
end

Instance Method Details

#url_for_uuid(uuid) ⇒ Object



33
34
35
# File 'lib/sequencescape-api/connection_factory.rb', line 33

def url_for_uuid(uuid)
  URI.join(url, uuid).to_s
end