Module: LinkedData::Client

Extended by:
Client
Included in:
Client
Defined in:
lib/ontologies_api_client/base.rb,
lib/ontologies_api_client/http.rb,
lib/ontologies_api_client/config.rb,
lib/ontologies_api_client/collection.rb,
lib/ontologies_api_client/read_write.rb,
lib/ontologies_api_client/models/note.rb,
lib/ontologies_api_client/models/user.rb,
lib/ontologies_api_client/models/class.rb,
lib/ontologies_api_client/models/group.rb,
lib/ontologies_api_client/models/reply.rb,
lib/ontologies_api_client/models/slice.rb,
lib/ontologies_api_client/link_explorer.rb,
lib/ontologies_api_client/models/review.rb,
lib/ontologies_api_client/models/mapping.rb,
lib/ontologies_api_client/models/metrics.rb,
lib/ontologies_api_client/models/project.rb,
lib/ontologies_api_client/models/category.rb,
lib/ontologies_api_client/models/ontology.rb,
lib/ontologies_api_client/models/ontology_submission.rb

Defined Under Namespace

Modules: Collection, HTTP, Models, ReadWrite Classes: Base, LinkExplorer

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#settingsObject (readonly)

Returns the value of attribute settings.



9
10
11
# File 'lib/ontologies_api_client/config.rb', line 9

def settings
  @settings
end

Instance Method Details

#config {|@settings| ... } ⇒ Object

Yields:



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ontologies_api_client/config.rb', line 15

def config(&block)
  return if @settings_run
  @settings_run = true

  yield @settings if block_given?

  # Set defaults
  @settings.rest_url                ||= "http://stagedata.bioontology.org"
  @settings.apikey                  ||= "4ea81d74-8960-4525-810b-fa1baab576ff"
  @settings.links_attr              ||= "links"
  @settings.cache                   ||= false
  @settings.enable_long_request_log ||= false
  @settings.purl_prefix             ||= "http://purl.example.org"

  # Remove trailing slash
  @settings.rest_url    = @settings.rest_url.chomp("/")
  @settings.purl_prefix = @settings.purl_prefix.chomp("/")

  @settings_run = true
end

#config_connection(options = {}) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/ontologies_api_client/config.rb', line 36

def config_connection(options = {})
  return if @settings_run_connection
  store = options[:cache_store]
  @settings.conn = Faraday.new(@settings.rest_url) do |faraday|
    if @settings.enable_long_request_log
      require_relative 'middleware/faraday-long-requests'
      faraday.use :long_requests
    end

    require_relative 'middleware/faraday-user-apikey'
    faraday.use :user_apikey

    require_relative 'middleware/faraday-slices'
    faraday.use :ncbo_slices

    if @settings.cache
      begin
        require_relative 'middleware/faraday-object-cache'
        faraday.use :object_cache, store: store
        puts "=> faraday caching enabled"
        puts "=> faraday cache store:"
        pp store
      rescue LoadError
        puts "=> WARNING: faraday http cache gem is not available, caching disabled"
      end
    end

    faraday.request :multipart
    faraday.request :url_encoded
    faraday.adapter :excon
    faraday.headers = {
      "Accept" => "application/json",
      "Authorization" => "apikey token=#{@settings.apikey}",
      "User-Agent" => "NCBO API Ruby Client v0.1.0"
    }
  end
  @settings_run_connection = true
end

#connection_configured?Boolean

Returns:

  • (Boolean)


75
76
77
# File 'lib/ontologies_api_client/config.rb', line 75

def connection_configured?
  @settings_run_connection
end