Module: SlsAdf

Defined in:
lib/sls_adf.rb,
lib/sls_adf/base.rb,
lib/sls_adf/util.rb,
lib/sls_adf/query.rb,
lib/sls_adf/version.rb,
lib/sls_adf/mutation.rb,
lib/sls_adf/template.rb,
lib/sls_adf/util/token.rb,
lib/sls_adf/util/adapter.rb,
lib/sls_adf/configuration.rb,
lib/sls_adf/template/query.rb,
lib/sls_adf/template/fragment.rb,
lib/sls_adf/template/mutation.rb

Overview

Provides configuration for the sls_adf gem.

Defined Under Namespace

Modules: Template, Util Classes: Base, Configuration, Mutation, Query

Constant Summary collapse

VERSION =
'0.0.4'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



6
7
8
# File 'lib/sls_adf/configuration.rb', line 6

def configuration
  @configuration
end

Class Method Details

.adapterObject



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

def self.adapter
  @adapter ||= SlsAdf::Util::Adapter.new
end

.clientObject



21
22
23
# File 'lib/sls_adf.rb', line 21

def self.client
  @client ||= GraphQL::Client.new(schema: schema, execute: adapter)
end

.configure {|configuration| ... } ⇒ Object

Helper function to configure the sls_adf gem.

Yields:

Yield Parameters:



13
14
15
16
# File 'lib/sls_adf/configuration.rb', line 13

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end

.query(template, vars = {}) ⇒ Object

Syntactic sugar to reduce verbosity of standard queries.

Parameters:

  • template (GraphQL::Client::Definition)

    The template to be used.

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

    Variables to be passed into the query.



20
21
22
# File 'lib/sls_adf/base.rb', line 20

def self.query(template, vars = {})
  SlsAdf.client.query(template, variables: vars)
end

.schemaObject



14
15
16
17
18
19
# File 'lib/sls_adf.rb', line 14

def self.schema
  @schema ||= begin
    schema_path = File.join(File.dirname(__FILE__), "sls_adf/schema/schema.json")
    GraphQL::Client.load_schema(schema_path)
  end
end