Module: Deimos::Configurable::ClassMethods

Defined in:
lib/deimos/config/configurable.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#after_configure(&block) ⇒ Object

Pass a block to run after configuration is done.



271
272
273
274
275
# File 'lib/deimos/config/configurable.rb', line 271

def after_configure(&block)
  mod = self
  config.class.set_callback(:configure, :after,
                            proc { mod.instance_eval(&block) })
end

#config ⇒ ConfigStruct

Returns:



266
267
268
# File 'lib/deimos/config/configurable.rb', line 266

def config
  @config ||= ConfigStruct.new('config')
end

#configure(&block) ⇒ Object

Configure the settings with values.



252
253
254
255
256
257
258
259
260
261
262
263
# File 'lib/deimos/config/configurable.rb', line 252

def configure(&block)
  if defined?(Rake) && defined?(Rake.application)
    tasks = Rake.application.top_level_tasks
    if tasks.any? { |t| %w(assets webpacker yarn).include?(t.split(':').first) }
      puts 'Skipping Deimos configuration since we are in JS/CSS compilation'
      return
    end
  end
  config.run_callbacks(:configure) do
    config.instance_eval(&block)
  end
end

#define_settings(&block) ⇒ Object

Define and redefine settings.



247
248
249
# File 'lib/deimos/config/configurable.rb', line 247

def define_settings(&block)
  config.instance_eval(&block)
end