rails-data-explorer 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/README.md +116 -45
- data/doc/rails-data-explorer-screenshot-all-univariate.png +0 -0
- data/doc/rails-data-explorer-screenshot-plan-bivariate.png +0 -0
- data/lib/rails_data_explorer.rb +27 -2
- data/rails-data-explorer.gemspec +2 -1
- data/spec/rails_data_explorer/exploration_spec.rb +57 -46
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20fe7f28eccad4493c4587b62d14409ead5fe178
|
4
|
+
data.tar.gz: dcadfa97805704be5521ba0ba4985de64a29d981
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de90bf34ebed7445860e907e633d455b758addc56f9ae0e26ae47f2bb71895170ef86af84aa685312a00c1786d6e0aad26157eb2d0893a3dd2ac38cde3b84ef3
|
7
|
+
data.tar.gz: 267a938ca270d284756f5eb7b807887f3aaabdfafd74a7483c335fd31a12191485cf67d87b3b147ca1ff242ab573ac15e6d1a7af59a59f7b53df45449481ad43
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,11 @@ TODO:
|
|
3
3
|
* sampling for large ActiveRecord tables
|
4
4
|
* automatic clustering of records (using each row as a feature vector)
|
5
5
|
|
6
|
+
|
7
|
+
### 1.0.2
|
8
|
+
|
9
|
+
* Updated specs, documentation, and Gem dependencies.
|
10
|
+
|
6
11
|
### 1.0.1
|
7
12
|
|
8
13
|
* Added :note option to data series specs
|
@@ -12,7 +17,7 @@ TODO:
|
|
12
17
|
|
13
18
|
# 1.0.0
|
14
19
|
|
15
|
-
* New chart type: StackedBarChartCategorical to go with its percentage
|
20
|
+
* New chart type: StackedBarChartCategorical to go with its percentage cousin.
|
16
21
|
* Improved display of table of contents.
|
17
22
|
* Improved display of box plot groups: Auto scale charts to make best use of
|
18
23
|
screen space when there are extreme outliers.
|
data/README.md
CHANGED
@@ -1,17 +1,97 @@
|
|
1
1
|
# rails-data-explorer
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
rails-data-explorer (*RDE*) is a Rails engine plugin that makes it magically
|
4
|
+
easy to explore your app's data using charts and statistics.
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
and multi-variate analysis. It can even find correlations in your categorical data
|
10
|
-
using Pearson's Chi Squared test.
|
6
|
+
The purpose of *RDE* is to help you develop an intuition for your app's data
|
7
|
+
so that you can find patterns, correlations and anomalies in the data that
|
8
|
+
you can then further investigate and exploit.
|
11
9
|
|
12
|
-
See below for a screenshot of what you get.
|
13
10
|
|
14
|
-
|
11
|
+
|
12
|
+
## Examples
|
13
|
+
|
14
|
+
***
|
15
|
+
|
16
|
+
<table>
|
17
|
+
<tr>
|
18
|
+
<td>
|
19
|
+
<a href="https://raw.githubusercontent.com/jhund/rails-data-explorer/master/doc/rails-data-explorer-screenshot-all-univariate.png"><img src="https://github.com/jhund/rails-data-explorer/blob/master/doc/rails-data-explorer-screenshot-all-univariate.png" width="200" ></a>
|
20
|
+
<p>
|
21
|
+
The default charts rendered by rails-data-explorer: Univariate charts and
|
22
|
+
statistics for every column in your data.
|
23
|
+
<br/>
|
24
|
+
(Click image for full size screenshot)
|
25
|
+
</p>
|
26
|
+
</td>
|
27
|
+
<td>
|
28
|
+
<a href="https://raw.githubusercontent.com/jhund/rails-data-explorer/master/doc/rails-data-explorer-screenshot-plan-bivariate.png"><img src="https://github.com/jhund/rails-data-explorer/blob/master/doc/rails-data-explorer-screenshot-plan-bivariate.png" width="200" ></a>
|
29
|
+
<p>
|
30
|
+
All bivariate charts and statistics for the "Plan" column.
|
31
|
+
<br/>
|
32
|
+
(Click image for full size screenshot)
|
33
|
+
</p>
|
34
|
+
</td>
|
35
|
+
<tr/>
|
36
|
+
<table>
|
37
|
+
|
38
|
+
***
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
## Features
|
43
|
+
|
44
|
+
* **Optimized for simplicity and convenience**: All you have to do is provide
|
45
|
+
your data in tabular form. *RDE* then decides how to best visualize and
|
46
|
+
present your data.
|
47
|
+
* **Batteries included**: *RDE* includes everything required to render stunning
|
48
|
+
charts and visualizations. It is tightly integrated with Rails and doesn't
|
49
|
+
require knowledge of charting libraries, statistics, or data engineering.
|
50
|
+
* **Comprehensive data visualization and analysis**: Out of the box *RDE*
|
51
|
+
gives you univariate charts and statistics for each column of your data. It
|
52
|
+
also gives you single click access to all bivariate combinations
|
53
|
+
of your data columns. With a single config param, it will even generate
|
54
|
+
arbitrary multivariate charts for you.
|
55
|
+
* **Works with small- and medium-sized data**: *RDE* works great for up to ~100K records.
|
56
|
+
I'm thinking about ways to make it work for larger data series using sampling.
|
57
|
+
If you know how to do this correctly in ActiveRecord, please let me know.
|
58
|
+
|
59
|
+
Detailed features
|
60
|
+
|
61
|
+
* Integrates with ActiveRecord.
|
62
|
+
* Renders beautiful charts (using Vega/Nvd3 and d3.js).
|
63
|
+
* Uses best charting practices (using Vega visualization grammar).
|
64
|
+
* Automatically detects and handles categorical and quantitative data types.
|
65
|
+
(integer, decimal, and temporal)
|
66
|
+
* Automatically renders visualizations and statistics for univariate, bivariate
|
67
|
+
and multivariate analysis.
|
68
|
+
* Provides single click access to univarate and all possible combinations of
|
69
|
+
bivariate analyses.
|
70
|
+
* Automatically picks linear vs. logarithmic axes.
|
71
|
+
* Automatically finds top N values for categorical data to make charts easier
|
72
|
+
to read.
|
73
|
+
* Automatically sorts axis labels for maximum clarity.
|
74
|
+
* Performs Pearson's Chi squared test on bivariate analysis of categorical data.
|
75
|
+
This is super useful when analyzing and interpreting A/B test data, or to find
|
76
|
+
correlations in your data.
|
77
|
+
* Works well with the Filterrific gem for filtering data before it is fed to
|
78
|
+
*RDE*.
|
79
|
+
* Provides statistical utility methods, e.g., to bin or quantize your data.
|
80
|
+
|
81
|
+
*RDE* provides the following chart types:
|
82
|
+
|
83
|
+
* Bar chart (simple, stacked, percent distribution)
|
84
|
+
* Pie chart
|
85
|
+
* Histogram
|
86
|
+
* Box plot (single and group)
|
87
|
+
* Scatterplot
|
88
|
+
* Parallel coordinates
|
89
|
+
* Parallel set
|
90
|
+
* Contingency table with pearson's chi squared test (good to interpret A/B test data)
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
## Installation
|
15
95
|
|
16
96
|
`gem install rails-data-explorer`
|
17
97
|
|
@@ -20,16 +100,16 @@ or with bundler in your Gemfile:
|
|
20
100
|
`gem 'rails-data-explorer'`
|
21
101
|
|
22
102
|
|
23
|
-
### Usage
|
24
103
|
|
25
|
-
|
26
|
-
|
104
|
+
## Usage
|
105
|
+
|
106
|
+
Let's say you want to explore your app's `User` signup data. Create a route and
|
107
|
+
action for `users#signups`:
|
27
108
|
|
28
109
|
~~~ ruby
|
29
|
-
|
30
|
-
# DANGER! Make sure not to load too much data into memory!
|
31
|
-
user_data = User.all.to_a
|
110
|
+
# app/controllers/users_controller.rb
|
32
111
|
|
112
|
+
def signups
|
33
113
|
c_binner = RailsDataExplorer::Utils::DataBinner.new(
|
34
114
|
'0' => 0,
|
35
115
|
'1' => 1,
|
@@ -39,8 +119,8 @@ def signups
|
|
39
119
|
'101..1,000' => 1000,
|
40
120
|
'1,001..10,000' => 10000
|
41
121
|
)
|
42
|
-
@
|
43
|
-
|
122
|
+
@rde = RailsDataExplorer.new(
|
123
|
+
User.all.to_a, # DANGER! Make sure not to load too much data into memory!
|
44
124
|
[
|
45
125
|
{
|
46
126
|
name: "Session duration [Minutes]",
|
@@ -51,7 +131,6 @@ def signups
|
|
51
131
|
{
|
52
132
|
name: "Country",
|
53
133
|
data_method: Proc.new { |row| row.country },
|
54
|
-
multivariate: ['All'],
|
55
134
|
},
|
56
135
|
{
|
57
136
|
name: "Sign in count",
|
@@ -60,12 +139,10 @@ def signups
|
|
60
139
|
{
|
61
140
|
name: "Language",
|
62
141
|
data_method: Proc.new { |row| row.language },
|
63
|
-
multivariate: ['All'],
|
64
142
|
},
|
65
143
|
{
|
66
144
|
name: "Plan",
|
67
145
|
data_method: Proc.new { |row| row.plan },
|
68
|
-
multivariate: ['All'],
|
69
146
|
},
|
70
147
|
{
|
71
148
|
name: "Sign up date",
|
@@ -79,7 +156,8 @@ def signups
|
|
79
156
|
"#{ year } / Q#{ quarter }"
|
80
157
|
},
|
81
158
|
},
|
82
|
-
]
|
159
|
+
],
|
160
|
+
params[:rde]
|
83
161
|
)
|
84
162
|
end
|
85
163
|
~~~
|
@@ -89,62 +167,55 @@ Then create a view at `app/views/users/signups.html.erb`:
|
|
89
167
|
~~~erb
|
90
168
|
<div class="rails-data-explorer">
|
91
169
|
<h1>User signup data</h1>
|
92
|
-
<%= @
|
170
|
+
<%= rails_data_explorer(@rde) %>
|
93
171
|
</div>
|
94
172
|
~~~
|
95
173
|
|
96
|
-
With just a few lines of code you get comprehensive statistics and charts for
|
174
|
+
With just a few lines of code you get comprehensive statistics and charts for
|
175
|
+
your data (see screenshots above).
|
97
176
|
|
98
|
-
***
|
99
|
-
|
100
|
-
![Rails data exploration](https://github.com/jhund/rails-data-explorer/blob/master/doc/rails-data-explorer-screenshot.png)
|
101
|
-
|
102
|
-
***
|
103
177
|
|
104
178
|
|
105
|
-
|
179
|
+
## Ways to shoot yourself in the foot
|
106
180
|
|
107
181
|
* **Loading too many DB rows at once**: Remember that you are loading ActiveRecord
|
108
182
|
objects, and they can use a lot of ram. It's a cartesian product of number of
|
109
183
|
rows times columns per record. As a rule of thumb, for a medium sized model with
|
110
|
-
|
184
|
+
10 columns, you can load up to ~100K rows.
|
111
185
|
* **Using expensive operations in the `:data_method` option for a given data series**:
|
112
186
|
As a rule of thumb, it should be ok to run simple methods that don't require
|
113
187
|
DB access. Examples: `#.to_s`, `if` and `case`, and math operations should all
|
114
188
|
be fine.
|
115
|
-
* **Declaring too many charts**: The charts rendered are the sum of the following:
|
116
|
-
* univariate: one or more charts for each data series
|
117
|
-
* bivariate: the cartesian product of all data series in a bivariate group
|
118
|
-
* multivariate: one or more charts for each multivariate group
|
119
|
-
I have tested it with 70 charts on a single page. More are probably ok, I
|
120
|
-
just haven't tested it.
|
121
189
|
* **Drowning in detail**: rails-data-explorer makes it easy to generate a large
|
122
190
|
number of charts. Make sure you don't miss the important data in the noise.
|
123
191
|
|
124
192
|
|
125
|
-
### Dependencies
|
126
193
|
|
127
|
-
|
128
|
-
|
194
|
+
## Dependencies
|
195
|
+
|
196
|
+
* rails >= 3.1
|
129
197
|
* Asset pipeline (for batteries included, otherwise you'll have to pull in a number of assets manually)
|
130
|
-
* jQuery
|
131
198
|
|
132
|
-
### Resources
|
133
199
|
|
200
|
+
|
201
|
+
## Resources
|
202
|
+
|
203
|
+
* [API documentation](http://www.rubydoc.info/gems/rails-data-explorer/)
|
134
204
|
* [Changelog](https://github.com/jhund/rails-data-explorer/blob/master/CHANGELOG.md)
|
135
205
|
* [Source code (github)](https://github.com/jhund/rails-data-explorer)
|
136
206
|
* [Issues](https://github.com/jhund/rails-data-explorer/issues)
|
137
207
|
* [Rubygems.org](http://rubygems.org/gems/rails-data-explorer)
|
138
|
-
* [API documentation](http://www.rubydoc.info/gems/rails-data-explorer/)
|
139
208
|
|
140
209
|
[![Build Status](https://travis-ci.org/jhund/rails-data-explorer.svg?branch=master)](https://travis-ci.org/jhund/rails-data-explorer)
|
141
210
|
|
142
|
-
|
211
|
+
|
212
|
+
|
213
|
+
## License
|
143
214
|
|
144
215
|
[MIT licensed](https://github.com/jhund/rails-data-explorer/blob/master/MIT-LICENSE).
|
145
216
|
|
146
217
|
|
147
218
|
|
148
|
-
|
219
|
+
## Copyright
|
149
220
|
|
150
|
-
Copyright (c) 2015 Jo Hund. See [(MIT) LICENSE](https://github.com/jhund/rails-data-explorer/blob/master/MIT-LICENSE) for details.
|
221
|
+
Copyright (c) 2014 - 2015 Jo Hund. See [(MIT) LICENSE](https://github.com/jhund/rails-data-explorer/blob/master/MIT-LICENSE) for details.
|
Binary file
|
Binary file
|
data/lib/rails_data_explorer.rb
CHANGED
@@ -13,11 +13,31 @@ class RailsDataExplorer
|
|
13
13
|
attr_reader :explorations
|
14
14
|
attr_reader :data_series_names
|
15
15
|
|
16
|
-
# Top level initialization. This is what you
|
16
|
+
# Top level initialization. This is what you use to explore your data.
|
17
17
|
# @param data_collection [Array<Array>] Outer array is the container, inner
|
18
18
|
# array represents each record (row of data).
|
19
19
|
# @param data_series_specs [Array<Hash>] One Hash for each data series.
|
20
|
-
# @
|
20
|
+
# @option data_series_specs [String] :name the name of the data series
|
21
|
+
# @option data_series_specs [Proc] :data_method a proc that will return the
|
22
|
+
# data for this column. Valid types are
|
23
|
+
# String, Numeric or Date/Time.
|
24
|
+
# @option data_series_specs [String] :note any comment you want to make for
|
25
|
+
# this data series. Will be printed with
|
26
|
+
# each chart that uses this data series.
|
27
|
+
# @option data_series_specs [Boolean, String] :univariate override to always
|
28
|
+
# render univariate chart and statistics for
|
29
|
+
# this data series. Defaults to true.
|
30
|
+
# @option data_series_specs [Boolean, String] :bivariate override to always
|
31
|
+
# render bivariate chart and statistics for
|
32
|
+
# this data series. Defaults to false.
|
33
|
+
# @option data_series_specs [Boolean, String] :multivariate override to always
|
34
|
+
# render multivariate chart and statistics for
|
35
|
+
# this data series. Defaults to false.
|
36
|
+
# @option data_series_specs [Integer] :max_num_distinct_values override the
|
37
|
+
# max number of distinct values for
|
38
|
+
# categorical data. Default: 20.
|
39
|
+
# @param explorations_to_render [Hash] A hash to specify which explorations
|
40
|
+
# you want rendered. Example data structure:
|
21
41
|
# {
|
22
42
|
# "univariate" => {
|
23
43
|
# "1" => ["Hour of day"],
|
@@ -27,6 +47,7 @@ class RailsDataExplorer
|
|
27
47
|
# "2" => ["Year", "Timezone"],
|
28
48
|
# }
|
29
49
|
# }
|
50
|
+
#
|
30
51
|
def initialize(data_collection, data_series_specs, explorations_to_render)
|
31
52
|
@explorations = []
|
32
53
|
charts = {
|
@@ -115,18 +136,22 @@ class RailsDataExplorer
|
|
115
136
|
}
|
116
137
|
end
|
117
138
|
|
139
|
+
# @return [Array<Exploration>]
|
118
140
|
def explorations_with_charts_available
|
119
141
|
explorations.find_all { |e| e.charts.any? }
|
120
142
|
end
|
121
143
|
|
144
|
+
# @return [Array<Exploration>]
|
122
145
|
def explorations_with_charts_to_render
|
123
146
|
explorations_with_charts_available.find_all { |e| e.render_charts? }
|
124
147
|
end
|
125
148
|
|
149
|
+
# @return [Array<Exploration>]
|
126
150
|
def explorations_with_no_charts_available
|
127
151
|
explorations.find_all { |e| e.charts.empty? }
|
128
152
|
end
|
129
153
|
|
154
|
+
# @return [Integer]
|
130
155
|
def number_of_values
|
131
156
|
explorations.first.number_of_values
|
132
157
|
end
|
data/rails-data-explorer.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.name = 'rails-data-explorer'
|
6
|
-
gem.version = '1.0.
|
6
|
+
gem.version = '1.0.2'
|
7
7
|
gem.platform = Gem::Platform::RUBY
|
8
8
|
|
9
9
|
gem.authors = ['Jo Hund']
|
@@ -26,4 +26,5 @@ Gem::Specification.new do |gem|
|
|
26
26
|
gem.add_development_dependency 'minitest', '>= 0'
|
27
27
|
gem.add_development_dependency 'minitest-spec-expect', '>= 0'
|
28
28
|
gem.add_development_dependency 'rake', '>= 0'
|
29
|
+
gem.add_development_dependency 'yui-compressor', '>= 0'
|
29
30
|
end
|
@@ -3,53 +3,64 @@ require_relative '../helper_no_rails'
|
|
3
3
|
class RailsDataExplorer
|
4
4
|
describe Exploration do
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
Regexp.new(Regexp.escape("rde-#{ chart_name }"))
|
16
|
-
)
|
17
|
-
}
|
18
|
-
end
|
19
|
-
|
20
|
-
r
|
21
|
-
end
|
22
|
-
|
23
|
-
[
|
24
|
-
[
|
25
|
-
['Univariate Integer data', [1, 2, 3]],
|
26
|
-
{ has_charts: ['histogram-quantitative', 'descriptive-statistics-table'] }
|
27
|
-
],
|
28
|
-
[
|
29
|
-
['Univariate Decimal data', [1.0, 2.0, 3.0]],
|
30
|
-
{ has_charts: ['histogram-quantitative', 'descriptive-statistics-table'] }
|
31
|
-
],
|
32
|
-
[
|
33
|
-
['Univariate Temporal data', [DateTime.new(2015,2,7)]],
|
34
|
-
{ has_charts: ['histogram-temporal', 'descriptive-statistics-table'] }
|
35
|
-
],
|
36
|
-
[
|
37
|
-
['Univariate Categorical data', ['a', 'b', 'c']],
|
38
|
-
{ has_charts: ['histogram-categorical', 'pie-chart', 'descriptive-statistics-table'] }
|
39
|
-
],
|
40
|
-
].each { |(args, xpect_options)|
|
41
|
-
title, data_set_or_array, chart_specs = args
|
42
|
-
|
43
|
-
it "renders #{ title } correctly" do
|
44
|
-
check_render_expectations(
|
45
|
-
Exploration.new(*args, true).render,
|
46
|
-
xpect_options
|
47
|
-
)
|
48
|
-
end
|
49
|
-
|
50
|
-
}
|
51
|
-
|
6
|
+
let(:exploration) {
|
7
|
+
Exploration.new(
|
8
|
+
'the title',
|
9
|
+
[{ name: 'ds1', values: [1,2,3] }],
|
10
|
+
true
|
11
|
+
)
|
12
|
+
}
|
13
|
+
it 'computes a dom id' do
|
14
|
+
exploration.dom_id.must_match /rde-exploration-./
|
52
15
|
end
|
53
16
|
|
17
|
+
# describe "integration test" do
|
18
|
+
|
19
|
+
# def check_render_expectations(rendered_string, options)
|
20
|
+
# r = true
|
21
|
+
|
22
|
+
# if options[:has_charts]
|
23
|
+
# options[:has_charts].each { |chart_name|
|
24
|
+
# # TODO: use Nokogiri to test that it is a div class
|
25
|
+
# rendered_string.must_match(
|
26
|
+
# Regexp.new(Regexp.escape("rde-#{ chart_name }"))
|
27
|
+
# )
|
28
|
+
# }
|
29
|
+
# end
|
30
|
+
|
31
|
+
# r
|
32
|
+
# end
|
33
|
+
|
34
|
+
# [
|
35
|
+
# [
|
36
|
+
# ['Univariate Integer data', [1, 2, 3]],
|
37
|
+
# { has_charts: ['histogram-quantitative', 'descriptive-statistics-table'] }
|
38
|
+
# ],
|
39
|
+
# [
|
40
|
+
# ['Univariate Decimal data', [1.0, 2.0, 3.0]],
|
41
|
+
# { has_charts: ['histogram-quantitative', 'descriptive-statistics-table'] }
|
42
|
+
# ],
|
43
|
+
# [
|
44
|
+
# ['Univariate Temporal data', [DateTime.new(2015,2,7)]],
|
45
|
+
# { has_charts: ['histogram-temporal', 'descriptive-statistics-table'] }
|
46
|
+
# ],
|
47
|
+
# [
|
48
|
+
# ['Univariate Categorical data', ['a', 'b', 'c']],
|
49
|
+
# { has_charts: ['histogram-categorical', 'pie-chart', 'descriptive-statistics-table'] }
|
50
|
+
# ],
|
51
|
+
# ].each { |(args, xpect_options)|
|
52
|
+
# title, data_set_or_array, chart_specs = args
|
53
|
+
|
54
|
+
# it "renders #{ title } correctly" do
|
55
|
+
# check_render_expectations(
|
56
|
+
# Exploration.new(*args, true).render,
|
57
|
+
# xpect_options
|
58
|
+
# )
|
59
|
+
# end
|
60
|
+
|
61
|
+
# }
|
62
|
+
|
63
|
+
# end
|
64
|
+
|
54
65
|
end
|
55
66
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-data-explorer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jo Hund
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -166,6 +166,20 @@ dependencies:
|
|
166
166
|
- - ">="
|
167
167
|
- !ruby/object:Gem::Version
|
168
168
|
version: '0'
|
169
|
+
- !ruby/object:Gem::Dependency
|
170
|
+
name: yui-compressor
|
171
|
+
requirement: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ">="
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
176
|
+
type: :development
|
177
|
+
prerelease: false
|
178
|
+
version_requirements: !ruby/object:Gem::Requirement
|
179
|
+
requirements:
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
169
183
|
description: rails-data-explorer is a Rails Engine plugin that makes it easy to explore
|
170
184
|
the data in your app using charts and statistics.
|
171
185
|
email: jhund@clearcove.ca
|
@@ -183,6 +197,8 @@ files:
|
|
183
197
|
- app/assets/images/rails-data-explorer/multiple_bivariate_small.png
|
184
198
|
- doc/how_to/release.md
|
185
199
|
- doc/how_to/trouble_when_packaging_assets.md
|
200
|
+
- doc/rails-data-explorer-screenshot-all-univariate.png
|
201
|
+
- doc/rails-data-explorer-screenshot-plan-bivariate.png
|
186
202
|
- doc/rails-data-explorer-screenshot.png
|
187
203
|
- lib/rails-data-explorer-no-rails.rb
|
188
204
|
- lib/rails-data-explorer.rb
|