Sha256: eb8c6ff0a2e0e98440ce088036462e8eb7c9127fea453bcd61d8822fcd08f295

Contents?: true

Size: 1.05 KB

Versions: 7

Compression:

Stored size: 1.05 KB

Contents

# CollectionOf

Provides an Enumerable which acts as a collection of a certain type of object (and its subclasses,
unless `allow_subclasses` is set to `false` on initialization).

## Usage

    WidgetCollection = Collection[Widget]
    # OR WidgetCollection = Collection.of(Widget)
    # OR WidgetCollection = Collection.new(Widget)

    wc = WidgetCollection.new
    wc << Widget.new # all good!
    wc << Wadget.new # => ArgumentError, "can only add Widget objects"

When a `Collection` is cloned, any items contained within the collection are cloned as well.

    wc << Widget.new(:one)
    wc << Widget.new(:two)
    wc[:one] == wc.clone[:one] # => false

## Installation

Add this line to your application's Gemfile:

    gem 'collection_of'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install collection_of

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
collection_of-1.0.6 README.md
collection_of-1.0.5 README.md
collection_of-1.0.4 README.md
collection_of-1.0.3 README.md
collection_of-1.0.2 README.md
collection_of-1.0.1 README.md
collection_of-1.0.0 README.md