https://github.com/adjust/nvd3-rails
nvd3 reusable charts for rails 3
https://github.com/adjust/nvd3-rails
Last synced: about 1 year ago
JSON representation
nvd3 reusable charts for rails 3
- Host: GitHub
- URL: https://github.com/adjust/nvd3-rails
- Owner: adjust
- Archived: true
- Created: 2012-07-20T10:46:39.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2014-07-31T10:22:53.000Z (almost 12 years ago)
- Last Synced: 2025-03-22T07:51:27.603Z (about 1 year ago)
- Language: Ruby
- Size: 215 KB
- Stars: 23
- Watchers: 74
- Forks: 22
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NVD3 Rails - reusable charts for rails 3
## Install
To include nvd3-rails into your rails project add
gem "nvd3-rails", :git => "git@github.com:adeven/nvd3-rails.git", :submodules => true
To your Projects Gemfile.
To add the necessary javascript files into your asset pipeline add
//= require nvd3-rails
in ```app/assets/javascripts/application.js```
also add
*= require nvd3-rails
in ```app/assets/stylesheets/application.css```
Note as of today nvd3 clutters the model naming e.g. lineWithFisheyeChart.js and lineChart.js export their model both as lineChart.
If you only need a subset of models e.g. lineChart you can add
//= require nvd3/lib/d3.v2
//= require nvd3/src/core
//= require nvd3/src/tooltip
//= require nvd3/src/utils.js
//= require nvd3/src/models/lineChart
//= require nvd3/src/models/legend.js
//= require nvd3/src/models/axis.js
//= require nvd3/src/models/scatter.js
//= require nvd3/src/models/line.js
to your ```application.js```
## Contribution Guide
### Updating Submodules
The repository uses submodules following are the steps to manually get the submodules:
git clone https://github.com/adeven/nvd3-rails.git
cd nvd3-rails
git submodule init
git submodule update
Or:
git clone https://github.com/adeven/nvd3-rails.git
cd nvd3-rails
git submodule update --init
Or:
git clone --recursive https://github.com/adeven/nvd3-rails.git
cd nvd3-rails
If you want to work inside a submodule, it is possible, but first you need to checkout a branch:
cd vendor/assets/javascripts/nvd3
git checkout master
After you've committed your changes to the submodule, you'll update the nvd3-rails project to point to the new commit, but remember to push the submodule changes before pushing the new nvd3-rails commit:
cd vendor/assets/javascripts/nvd3
git push origin master
cd ..
git add vendor/assets/javascripts/nvd3
git commit
### cleaning
If you want to purge your working directory back to the status of upstream, following commands can be used (remember everything you've worked on is gone after these):
git reset --hard upstream/master
git clean -fdx
### Using a local copy during development
Nvd3-rails gets added as a Rails::Engine to your project.
Generally during development you want your main application to include a local development copy of your engine.
You should be able to add gem groups for each Rails environment to your Gemfile, like this:
```ruby
group :development do
gem "nvd3-rails", :path => "../nvd3-rails"
end
group :production do
gem "nvd3-rails", :git => "git://github.com/adeven/nvd3-rails.git"
end
```
In Bundler 1.1 and earlier, that generates this error message: "You cannot specify the same gem twice coming from different sources."
This should be fixed in 1.2 https://github.com/carlhuda/bundler/issues/751
There are several work arounds for this, however I sugest to update to the latest version of bundle.