:source-highlighter: pygments
image:https://img.shields.io/gem/v/object_path.svg["Gem Version", link="https://rubygems.org/gems/object_path"] image:https://img.shields.io/travis/riboseinc/object_path/master.svg["Build Status", link="https://travis-ci.org/riboseinc/object_path"] image:https://img.shields.io/codecov/c/github/riboseinc/object_path.svg["Test Coverage", link="https://codecov.io/gh/riboseinc/object_path"] image:https://img.shields.io/codeclimate/github/riboseinc/object_path.svg["Code Climate", link="https://codeclimate.com/github/riboseinc/object_path"]
This gem defines the ObjectPath::Mixin to be included in any ruby class where the path/url of an ActiveRecord model is useful.
The path/url generated by the ObjectPath::Mixin will be the same as generated by Rails according to the routes defined in your Rails application.
Installation
Add this line to your application’s Gemfile:
[source,ruby]
----
gem 'object_path'
----
And then execute:
....
$ bundle
....
Or install it yourself as:
....
$ gem install object_path
....
Usage
class Notification include ObjectPath::Mixin end
n = Notification.new
Include ObjectPath::Mixin in the class you want. The path of the model/collection and action will be generated according to the routes defined in your Rails application by calling the object_path method. You can also call the object_url method with exactly the same arguments if you want to get the url of the model/collection instead.
Development
After checking out the repo, run `bin/setup` to install dependencies.
Then, run `rake spec` to run the tests. You can also run `bin/console`
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run
`bundle exec rake install`. To release a new version, update the version
number in `version.rb`, and then run `bundle exec rake release`, which
will create a git tag for the version, push git commits and tags, and
push the `.gem` file to https://rubygems.org[rubygems.org].
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/riboseinc/object_path. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the http://contributor-covenant.org[Contributor Covenant] code of conduct.
License
The gem is available as open source under the terms of the
https://opensource.org/licenses/MIT[MIT License].
Code of Conduct
Everyone interacting in the ObjectPath project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the https://github.com/riboseinc/object_path/blob/master/CODE_OF_CONDUCT.md[code of conduct].