Sha256: 1f0c4fea391eabae9b69a88527dac30419c28ba321cbf65820659f22d937a2d4

Contents?: true

Size: 391 Bytes

Versions: 6

Compression:

Stored size: 391 Bytes

Contents

module Rulz
  class Action
    attr_accessor :name, :proc
    
    def initialize(name, klass, proc)
      @name = name
      @proc = proc
      klass.instance_exec self do |action|
        @rulz_actions ||= []
        @rulz_actions << action
      end
    end
    
    def self.find(klass, name)
      klass.instance_variable_get(:@rulz_actions).find {|c| c.name == name }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rulz-1.0.5 lib/rulz/action.rb
rulz-1.0.4 lib/rulz/action.rb
rulz-1.0.3 lib/rulz/action.rb
rulz-1.0.2 lib/rulz/action.rb
rulz-1.0.1 lib/rulz/action.rb
rulz-1.0.0 lib/rulz/action.rb