Repository inheritance

@mike: I'm trying to abstract core methods into a parent repository class that all of our csv repos inherit from. I have the first two working, complete with tests (sorry for the massive amount of files), but the last two I am struggling with abstracting them out into find and find_all methods that can be reused. I tried using .call(attribute), but i'm not sure that works. Luke vetoed the method_missing tactic.

the two questions I have are:
 1. how do I even play around with this? I can't exactly drop a self method into irb (and my pry foo is limited)
 2. is this the right approach? is there something else that I should be considering?
You may want to consider creating a DSL that looks like this to clean up the collection methods that are pretty redundant amongst all of your `Repository` subclasses:

```ruby
class CustomerRepository < Repository
  model Customer
  file 'customers.csv'
end
```

This DSL can be defined in your `Repository` class, and might look like this:

```ruby
class Repository
  def self.model(klass)
    @model = klass
  end

  def self.file(filename)
    @file = filename
  end

  def self.collection
    unless @model && @file
      raise ArgumentError.new('You must define a model and file.')
    end

    @collection ||= load_entries(@model, @file)
  end
end
```

I haven't tested this code, but this is the idea.