# Path: plumbing/cache.py
# def property_pickled_at(at):
#     """
#     Same thing as above, but you can specify the name of another property as
#     a string, that will be called on the instance once to determine the
#     path at which to write and load the pickle file from. This property should
#     hence return the same path for every equivalent instance.
#     """
#     def wrapper(function): return property_pickled(function, at=at)
#     return wrapper


import os
from plumbing.cache import property_pickled_at
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
Script to test the functionality of the property_pickled decorator.

Written by Lucas Sinclair. MIT Licensed.

Call it like this:

    $ ipython3 -i ~/repos/plumbing/test/cache/property_pickled_at.py
"""

# Built-in modules #

# Internal modules #

###############################################################################
class Square:
    def __init__(self, size):
        self.size = size


# Path: plumbing/cache.py
# def property_pickled_at(at):
#     """
#     Same thing as above, but you can specify the name of another property as
#     a string, that will be called on the instance once to determine the
#     path at which to write and load the pickle file from. This property should
#     hence return the same path for every equivalent instance.
#     """
#     def wrapper(function): return property_pickled(function, at=at)
#     return wrapper


# Path: testing/cache/property_pickled_at.py
import os
from plumbing.cache import property_pickled_at

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
Script to test the functionality of the property_pickled decorator.

Written by Lucas Sinclair. MIT Licensed.

Call it like this:

    $ ipython3 -i ~/repos/plumbing/test/cache/property_pickled_at.py
"""

# Built-in modules #

# Internal modules #

###############################################################################
class Square:
    def __init__(self, size):
        self.size = size


    @property_pickled_at("area_cache_path")