Class: Hecks::Bluebook::DSL::AdapterBuilder

Inherits:
Object
  • Object
show all
Includes:
WordGate
Defined in:
lib/hecks/bluebook/dsl/adapter_builder.rb

Constant Summary collapse

GRAMMAR_CONTEXT =
"Adapter"

Constants included from WordGate

WordGate::NOT_ADMITTED

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ AdapterBuilder

Returns a new instance of AdapterBuilder.



10
11
12
13
14
# File 'lib/hecks/bluebook/dsl/adapter_builder.rb', line 10

def initialize(name)
  @name    = name
  @fields  = []
  @secrets = []
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Hecks::Bluebook::DSL::WordGate

Class Method Details

.build(name, &block) ⇒ Object



26
27
28
29
30
# File 'lib/hecks/bluebook/dsl/adapter_builder.rb', line 26

def self.build(name, &block)
  builder = new(name)
  builder.instance_eval(&block) if block
  builder.build
end

Instance Method Details

#buildObject



22
23
24
# File 'lib/hecks/bluebook/dsl/adapter_builder.rb', line 22

def build
  MetaValidator.call_adapter(Adapter.new(name: @name, port: @port, fields: @fields, secrets: @secrets))
end

#field(name) ⇒ Object



18
# File 'lib/hecks/bluebook/dsl/adapter_builder.rb', line 18

def field(name) = @fields << name.to_sym

#port(value) ⇒ Object



16
# File 'lib/hecks/bluebook/dsl/adapter_builder.rb', line 16

def port(value) = @port = value.to_s

#secret(name) ⇒ Object



20
# File 'lib/hecks/bluebook/dsl/adapter_builder.rb', line 20

def secret(name) = @secrets << name.to_sym