Sha256: 08d37c60eee30259c77e62a556b451f677b04fba41c095b425bd155297924146

Contents?: true

Size: 489 Bytes

Versions: 2

Compression:

Stored size: 489 Bytes

Contents

module Commandos
  class IAmACommand
    module ClassMethods
      def use(plugin, *args, &block)
        unless plugins.include? plugin
          plugins << plugin
          extend  plugin::ClassMethods    if plugin.const_defined? :ClassMethods
          include plugin::InstanceMethods if plugin.const_defined? :InstanceMethods
        end

        self
      end

    private
      def plugins
        @@pluglins ||= []
      end
    end

    extend ClassMethods
    use self
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
commandos-0.1.5 lib/commandos/command.rb
commandos-0.1.4 lib/commandos/command.rb