
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
GoogleCharts is a ruby wrapper to the Google Chart API (http://code.google.com/apis/charttools/)
For now, the plugin supports the following charts:
Basically, you can give the chart all the options you would give a GoogleChart when using the Google library: height, width, title, and so on...
For a detailed description of which options to use visit the Google Visualization API and check out the charts there: http://code.google.com/apis/visualization/documentation/gallery.html
System wide:
gem install google_charts
Or in your Gemfile:
gem 'google_charts'
GoogleCharts is based on a collection of elements. Usually they are records from the database, but can also just be an array.
The following Stock class is a Mongoid document and used to keep track of how much we have of any product in our online store. All we need is the product's name and the amount. For simplicity, we'll skip any default values or validations.
class Stock
include Mongoid::Document
field :name, type: String
field :amount, type: Integer
end
Now, let's supply some data for our store.
Stock.create name: "Apple", amount: 10
Stock.create name: "Pear", amount: 5
Stock.create name: "Banana", amount: 1
In order to figure out how much we have of any product, all we need to do is:
<%= pie_chart Stock.all do |c| %>
<% c.title "Total Stock" %>
<% c.label "Name", :name %>
<% c.value "Amount", :amount %>
<% end %>
In order to dynamically display labels or values within a chart, you may also pass a block:
<%= pie_chart Stock.all do |c| %>
<% c.title "Total Stock" %>
<% c.label("Name") { |s| "#{s.name} (percent)" } %>
<% c.value("Percentage") { |s| s.amount / Stock.sum(:amount) * 100 } %>
<% end %>
NOTE: I know that Stock.sum(:amount) is not good practice, but it serves the example.
Copyright © 2010 - 2012 Rudolf Schmidt, released under the MIT license.
FAQs
Unknown package
We found that google_charts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.