Sha256: 80b7e1494dc3a4ebedf318ea71221fa104e78f6d5761c81fe601fa0adaada7b4

Contents?: true

Size: 451 Bytes

Versions: 1

Compression:

Stored size: 451 Bytes

Contents

class AngryMob
  class Target
    class Defaults
      def initialize
        @contexts = Hash.new {|h,k| h[k] = []}
      end

      def defaults_for(name)
        @contexts[name].last || {}
        # TODO -> merge under some circumstances
      end

      def method_missing(method, *args, &blk)
        @contexts[method] << args.first

        if block_given?
          yield
          @contexts[method].pop
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
angry_mob-0.1.0 lib/angry_mob/target/defaults.rb