Sha256: abe385e90ac70f2bc6c7687926c6318533e39998af03968890dc3912c4a4aa22
Contents?: true
Size: 665 Bytes
Versions: 3
Compression:
Stored size: 665 Bytes
Contents
require 'thor' module Gritano module CLI class Thor < Thor def self.define_task(name, description="", &block) params = block.parameters.map { |type, name| name.upcase }.join(' ') desc("#{name} #{params}".rstrip, description) bf = before_filters define_method(name.to_sym) do |*params| instance_eval(&bf[name]) if bf[name] instance_exec(*params, &block) end end def self.before(methods, &block) methods.each do |method| before_filters[method] = block end end def self.before_filters @before_filters ||= {} end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gritano-2.0.2 | lib/gritano/thor.rb |
gritano-2.0.1 | lib/gritano/thor.rb |
gritano-2.0.0 | lib/gritano/thor.rb |