class Pathway::Operation
Public Class Methods
inherited(subclass)
click to toggle source
Calls superclass method
# File lib/pathway.rb, line 24 def self.inherited(subclass) super subclass.const_set :DSL, Class.new(self::DSL) end
plugin(name, *args)
click to toggle source
# File lib/pathway.rb, line 12 def self.plugin(name, *args) require "pathway/plugins/#{Inflector.underscore(name)}" if name.is_a?(Symbol) plugin = name.is_a?(Module) ? name : Plugins.const_get(Inflector.camelize(name)) self.extend plugin::ClassMethods if plugin.const_defined? :ClassMethods self.include plugin::InstanceMethods if plugin.const_defined? :InstanceMethods self::DSL.include plugin::DSLMethods if plugin.const_defined? :DSLMethods plugin.apply(self, *args) if plugin.respond_to?(:apply) end