Sitelet https://github.com/Aaron2Ti/memor
Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Memor

USAGE

This lib has one utility method called memor which takes binding as an argument, see the following example:

  require 'memor'

  class Foo
    include Memor

    attr_accessor :age

    def slow_method1
      memor binding do
        # slow stuff
      end
    end

    def slow_method2(a, b)
      memor binding do
        # slow stuff
      end
    end

    def slow_method3(a, *args)
      memor binding do
        # slow stuff
      end
    end

    def double_age
      # this block would explicitly depend on the 'age' state of current instance
      memor binding, :age do
        age * 2
      end
    end

  end

  foo = Foo.new

  foo.age = 2
  foo.double_age # 4

  foo.age = 3
  foo.double_age # 6

Tested in ruby 1.9.3, 2.0.0 and 2.1.1 Build Status

About

Simple memoize function without alias method chain

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages