class Spectifly::Task

Attributes

configuration[RW]

Public Class Methods

new(task_name, *args, &block) click to toggle source
# File lib/spectifly/tasks.rb, line 10
def initialize(task_name, *args, &block)
  task task_name, *args do |task_name, task_args|
    configure!(task_args)
    block.call(configuration, task_args) if block
  end
end

Private Instance Methods

configure!(options = {}) click to toggle source
# File lib/spectifly/tasks.rb, line 19
def configure!(options = {})
  config_path = File.join(Rake.original_dir, 'config', 'spectifly.yml')
  config_hash = File.exist?(config_path) ? YAML.load_file(config_path) : {}

  # Stringify the options hash and merge it in to the config_hash
  config_hash.merge!(Hash[options.map{ |k, v| [k.to_s, v] }])
  @configuration = Spectifly::Configuration.new(config_hash)
end