module Ccp::Commands::Resolvable
Public Instance Methods
resolve(klass)
click to toggle source
# File lib/ccp/commands/resolvable.rb, line 4 def resolve(klass) klass.is_a?(Class) or raise CommandNotFound, "expected Class or Module, but got #{klass.class}" if klass.ancestors.include?(Commands::Core) return klass # ok end if klass.must.duck?("#execute") # dynamically assign core klass.class_eval{ include Commands::Core } return klass end raise CommandNotFound, "#{klass} found but it misses 'execute' method" end