Class: Inferno::DSL::FHIRClientBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/inferno/dsl/fhir_client_builder.rb

Overview

DSL for configuring FHIR clients

Instance Attribute Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



76
77
78
79
80
# File 'lib/inferno/dsl/fhir_client_builder.rb', line 76

def method_missing(name, *args, &block)
  return runnable.call(name, *args, &block) if runnable.respond_to? name

  super
end

Instance Attribute Details

#runnableObject

Returns the value of attribute runnable.



8
9
10
# File 'lib/inferno/dsl/fhir_client_builder.rb', line 8

def runnable
  @runnable
end

Instance Method Details

#bearer_token(bearer_token = nil) ⇒ void

This method returns an undefined value.

Define the bearer token for a client. A string or symbol can be provided. A string is interpreted as a token. A symbol is interpreted as the name of an input to the Runnable.

Parameters:

  • bearer_token (String, Symbol) (defaults to: nil)


44
45
46
47
48
49
50
51
# File 'lib/inferno/dsl/fhir_client_builder.rb', line 44

def bearer_token(bearer_token = nil)
  @bearer_token ||=
    if bearer_token.is_a? Symbol
      runnable.send(bearer_token)
    else
      bearer_token
    end
end

#headers(headers = nil) ⇒ void

This method returns an undefined value.

Define custom headers for a client

Parameters:

  • headers (Hash) (defaults to: nil)


71
72
73
# File 'lib/inferno/dsl/fhir_client_builder.rb', line 71

def headers(headers = nil)
  @headers ||= headers
end

#oauth_credentials(oauth_credentials = nil) ⇒ void

This method returns an undefined value.

Define OAuth credentials for a client. These can allow a client to automatically refresh its access token when it expires.

Parameters:



58
59
60
61
62
63
64
65
# File 'lib/inferno/dsl/fhir_client_builder.rb', line 58

def oauth_credentials(oauth_credentials = nil)
  @oauth_credentials ||=
    if oauth_credentials.is_a? Symbol
      runnable.send(oauth_credentials)
    else
      oauth_credentials
    end
end

#url(url = nil) ⇒ void

This method returns an undefined value.

Define the base FHIR url for a client. A string or symbol can be provided. A string is interpreted as a url. A symbol is interpreted as the name of an input to the Runnable.

Parameters:

  • url (String, Symbol) (defaults to: nil)


29
30
31
32
33
34
35
36
# File 'lib/inferno/dsl/fhir_client_builder.rb', line 29

def url(url = nil)
  @url ||=
    if url.is_a? Symbol
      runnable.send(url)
    else
      url
    end
end