Sha256: 3a26692e7c29cfb389baef82e126c0b83323426944ed730e9a4b1dc4565bb7a6

Contents?: true

Size: 503 Bytes

Versions: 3

Compression:

Stored size: 503 Bytes

Contents

module Lev
  #   http://ducktypo.blogspot.com/2010/08/why-inheritance-sucks.html
  #   http://stackoverflow.com/a/1328093/1664216
  module Algorithm

    def self.included(base)
      base.extend(ClassMethods)
      base.class_eval do
        include Lev::RoutineNesting
      end
    end

    def call(*args, &block)
      in_transaction do
        exec(*args, &block)
      end
    end

    module ClassMethods
      def call(*args, &block)
        new.call(*args, &block)
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lev-0.0.3 lib/lev/algorithm.rb
lev-0.0.2 lib/lev/algorithm.rb
lev-0.0.1 lib/lev/algorithm.rb