Skip to content
This repository has been archived by the owner on May 12, 2022. It is now read-only.

enova/landable

Repository files navigation

Landable

Gem Version Build Status Coverage Status Dependency Status

Landable is an API for building your CMS. It's implemented as a Rails Engine. We like to use Landable with Publicist, a great UI for managing content.

Installation

Landable requires Postgres. Make sure you have Postgres installed and configured in your app.

Add gem 'landable' to your project's Gemfile and run bundle.

Run bundle exec rails g landable:install, and update the landable initializer to taste.

Open your routes file, and ensure that the engine is mounted properly. Typically, this will be your final, catch-all route:

My::Application.routes.draw do
  mount Landable::Engine => '/'
end

Install Landable's migrations:

rake landable:install:migrations
rake db:migrate

Checkout the wiki for steps on configuration.

Rails 4.2+

Landable relies heavily on ActionController::Responder, which as of Rails 4.2 has been extracted into the responders gem.

If you are running on Rails 4.2 or later, you will need to manually add the gem to your Gemfile:

gem 'responders'

Visit Tracking

Landable includes the ability to track visits.

Landable.configure do |config|
  # To enable tracking, put one of the following in your Landable initializer:
  config.traffic_enabled = true  # Enables tracking for all requests.  (:all is also accepted here.)
  config.traffic_enabled = :html # Enables tracking for only HTML requests.
end

Read more about Visit Tracking

Development

Run ./script/redb to refresh the dummy app's database.

Run the test suite with rake landable.

We use Rubocop, so your test must all pass Rubocops Tests in order for your PR to be accepted!

Contributing

Contributions are welcome - submit a pull request.

  • Do include specs to back up all code changes.
  • Do add your changes to the "unreleased" section of CHANGELOG.md (adding this section if it does not exist). Include the pull request number.
  • Don't bump Landable's version number.

License

Landable is released under the MIT License.