这是indexloc提供的服务,不要输入任何密码
Skip to content
This repository was archived by the owner on May 14, 2019. It is now read-only.

ryantownsend/mongoid-nested-serialization

Repository files navigation

MongoidNestedSerialization

Loads nested Mongoid documents using JSON serialization.

Build Status Code Climate

Installation

Add this line to your application's Gemfile:

gem "mongoid-nested-serialization"

And then execute:

$ bundle

Or install it yourself as:

$ gem install mongoid-nested-serialization

Usage

The module will be automatically loaded into your Mongoid::Document objects:

class User
  include Mongoid::Document
  # also performs:
  # include Mongoid::NestedSerialization
  
  # objects may be embedded within others
  embedded_in :account, inverse_of: :users
end

# find the root object
account = Account.first
# create a persisted object within it
user = account.users.create # => <User id:123>
# load the JSON needed to find the object
json = user.finder_json
# => { class_name: "Account", id: 456, embedded: { collection: "users", id: 123 } }
User.find_by_json(json)
# => <User id:123>

You can also talk directly with our classes:

json = Mongoid::NestedSerialization::Serializer.new(user).to_json
# => { class_name: "Account", id: 456, embedded: { collection: "users", id: 123 } }
Mongoid::NestedSerialization::Finder.find(json)
# => <User id:123>

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Add your code and tests
  4. Run the full test suite (bundle exec rake) and ensure it passes 100%
  5. Commit your changes (git commit -am 'Added some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create new Pull Request

About

Loads nested Mongoid documents using JSON serialization.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages