New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mapbox-gl-rails

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mapbox-gl-rails

  • 3.7.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Mapbox for Rails

Gem Version Build Status License

mapbox-gl-rails provides the Mapbox GL JS library as a Rails engine for use with the asset pipeline. It uses the same versioning as the Mapbox GL JS.

Supports Rails >= 3.2 (see Travis build matrix).

Installation

Add this to your Gemfile:

gem 'mapbox-gl-rails'

and run bundle install.

Usage

In your application.js, include the following:

//
//*= require mapbox-gl
//= require_tree .

In your application.css, include the css file:

/*
 *= require mapbox-gl
 */

Then restart your webserver if it was previously running.

Congrats! You now have Mapbox GL JS on board and check out the Mapbox Examples.

If you need to use any available plugins, then don't forget to add them to application.js and application.css:

JS:

//*= require mapbox-gl-geocoder
// ...

CSS:

/*
 *= require mapbox-gl-geocoder
 *= require mapbox-gl-draw
 *= require mapbox-gl-directions
 *= require mapbox-gl-compare
 ...
 */

Full list of integrated plugins you could find here.

Sass Support

If you prefer SCSS, add this to your application.css.scss file:

@import 'mapbox-gl';

If you use the Sass indented syntax, add this to your application.css.sass file:

@import mapbox-gl

Misc

Rails engines

When building a Rails engine that includes mapbox-gl-rails as a dependency, be sure to require "mapbox-gl-rails" somewhere during the intialization of your engine. Otherwise, Rails will not automatically pick up the load path of the mapbox-gl-rails assets and helpers.

Deploying to sub-folders

It is sometimes the case that deploying a Rails application to a production environment requires the application to be hosted at a sub-folder on the server. This may be the case, for example, if Apache HTTPD or Nginx is being used as a front-end proxy server, with Rails handling only requests that come in to a sub-folder such as http://example.com/myrailsapp. In this case, the MapboxRails gem (and other asset-serving engines) needs to know the sub-folder, otherwise you can experience a problem roughly described as "my app works fine in development, but fails when I deploy it".

To fix this, set the relative URL root for the application. In the environment file for the deployed version of the app, for example config/environments/production.rb, set the config option action_controller.relative_url_root:

MyApp::Application.configure do
  ...

  # set the relative root, because we're deploying to /myrailsapp
  config.action_controller.relative_url_root  = "/myrailsapp"

  ...
end

The default value of this variable is taken from ENV['RAILS_RELATIVE_URL_ROOT'], so configuring the environment to define RAILS_RELATIVE_URL_ROOT is an alternative strategy.

In addition you need to indicate the subfolder when you precompile the assets:

RAILS_ENV=production bundle exec rake assets:precompile RAILS_RELATIVE_URL_ROOT=/myrailsapp

Rails 3.2

Note: In Rails 3.2, make sure mapbox-gl-rails is outside the bundler asset group so that these helpers are automatically loaded in production environments.

Versioning

Versioning follows the core releases of Mapbox GL JS which follows Semantic Versioning 2.0 as defined at http://semver.org. We will do our best not to make any breaking changes until Mapbox core makes a major version bump.

Additional build number can be added to fix internal gem errors (like 0.43.0.0).

Releasing

  1. Update gem version in lib/mapbox-gl/rails/version.rb to match latest MapBox GL version.
  2. Run bundle exec rake update (this will automatically load and convert assets).
  3. Commit
  4. Create gem and push it to Rubygems
  5. Create a GitHub release.

License

FAQs

Package last updated on 14 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc