Module: Julewire::Core::Integration::Configurable

Defined in:
lib/julewire/core/integration/configurable.rb

Instance Method Summary collapse

Instance Method Details

#configObject



14
15
16
# File 'lib/julewire/core/integration/configurable.rb', line 14

def config
  @config ||= build_config
end

#config=(configuration) ⇒ Object



18
19
20
21
# File 'lib/julewire/core/integration/configurable.rb', line 18

def config=(configuration)
  validate_config!(configuration)
  @config = configuration
end

#configurable_with(&configuration_class) ⇒ Object

Raises:

  • (ArgumentError)


8
9
10
11
12
# File 'lib/julewire/core/integration/configurable.rb', line 8

def configurable_with(&configuration_class)
  raise ArgumentError, "configuration class block required" unless configuration_class

  @julewire_configuration_class = configuration_class
end

#configure {|config| ... } ⇒ Object

Yields:

Raises:

  • (ArgumentError)


23
24
25
26
27
28
# File 'lib/julewire/core/integration/configurable.rb', line 23

def configure
  raise ArgumentError, "#{name}.configure requires a block" unless block_given?

  yield config
  config
end

#reset!Object



30
31
32
# File 'lib/julewire/core/integration/configurable.rb', line 30

def reset!
  @config = build_config
end