Openopus::Core::People

Model the real world of people in your application, making user interaction robust. By way of example, a person can have many email addresses, but this is not usually represented in applications. openopus/core/people creates the database structure, relations, and convenience functions for your application so you don't have to. Just connect your end user model, and away you go.

Usage

Install the gem, run migrations. This will create human structures, from Organization down to people (Person). More documentation and usage examples will be forthcoming.

  opus = Organization.where(name: "Opus Logica, Inc").first_or_create(nicknames_attributes: [{ nickname: "OPUS" }])
  bfox = User.lookup("[email protected]") ||
         User.create(person_attributes: { email: "[email protected]", name: "Brian Jhan Fox",
                                          address: "901 Olive St., Santa Barbara, CA, 93101",
                                          phone: "805.555.8642" },
                     organization: opus,
                     credentials_attributes: [{ password: "idtmp2tv" }])

Installation

Add this line to your application's Gemfile:

gem 'openopus-core-people', git: "https://github.com/openopus/openopus-core-people"

And then execute:

$ bundle install
$ ./bin/rake openopus_core_people_engine:install:migrations
$ ./bin/rake db:migrate

Or install it yourself as:

$ gem install openopus-core-people

Contributing

Got an idea for an improvement? Think this thing is almost good, but still kinda sucks? Create an issue, and we'll get back to you ASAP. Please discuss code contributions with us before hand so that we can agree on the architecture. Otherwise, we might not be able to take your improvements.

License

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