Organizer

A Rails Engine providing some tools to organize your application records, e.g. lists, tags, flags, etc.

Usage

Identifiable

Presuming MyModel has a unique name attribute:

class MyModel < ApplicationRecord
  include Organizer::Identifiable.by :name
end

MyModel.names                   # => ["my_name", "other_name", …]
MyModel[:my_name]               # => #<MyModel id: 1, name: "my_name">
MyModel[:my_name, :other_name]  # => [#<MyModel id: 1, name: "my_name">, #<MyModel id: 2, name: "other_name">]
MyModel[%w[my_name other_name]] # => #<ActiveRecord::Relation …>

To expose identifiers as symbols:

class MyModel < ApplicationRecord
  include Organizer::Identifiable.by :name, symbolized: true
end

MyModel.names # => [:my_name, :other_name, ...]

Installation

Add this line to your application's Gemfile:

gem "organizer-rails", require: "organizer"

And then execute:

$ bundle

Or install it yourself as:

$ gem install organizer-rails

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

License

The gem is available as open source under the terms of the MIT License.