module Spectre::Mixin
Public Class Methods
mixin(desc, &block)
click to toggle source
# File lib/spectre/mixin.rb, line 9 def mixin desc, &block @@mixins[desc] = block end
run(desc, with: [])
click to toggle source
# File lib/spectre/mixin.rb, line 13 def run desc, with: [] raise "no mixin with desc '#{desc}' defined" unless @@mixins.key? desc Spectre::Logger.log_debug "running mixin '#{desc}'" params = with || {} if params.is_a? Array @@mixins[desc].call *params elsif params.is_a? Hash @@mixins[desc].call OpenStruct.new(params) else @@mixins[desc].call params end end