iruby-chartkick 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/Gemfile.lock +1 -1
- data/lib/iruby/chartkick.rb +31 -6
- data/lib/iruby/chartkick/area_chart.rb +10 -0
- data/lib/iruby/chartkick/bar_chart.rb +2 -2
- data/lib/iruby/chartkick/base_chart.rb +19 -9
- data/lib/iruby/chartkick/column_chart.rb +10 -0
- data/lib/iruby/chartkick/geo_chart.rb +10 -0
- data/lib/iruby/chartkick/line_chart.rb +2 -2
- data/lib/iruby/chartkick/pie_chart.rb +2 -2
- data/lib/iruby/chartkick/scatter_chart.rb +10 -0
- data/lib/iruby/chartkick/timeline.rb +10 -0
- data/lib/iruby/chartkick/version.rb +1 -1
- data/vendor/assets/javascripts/{adapter.js → google_charts_loader.js} +0 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a78992ca43fcea6c314ac7077715a188c746c70348421e1f250fe29c94d189cd
|
4
|
+
data.tar.gz: cb831487f58bd14401306e246c26bb64fec4747c00f90caca9be0f9a76c470da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b26b52e8bb5cef58f5f08530836a1bce7a087d0d0613997c584c9637ff843d169697824085efe94653a88e679490ff5bd0e74ab4968e22992a6817d43d3a4e7
|
7
|
+
data.tar.gz: 5da7b82186832677bd1a1bbf6f9fa50a92855832998c128fb4c36dbbd8984a961586c427d0297f7ea3cfb45e979183e8bf370b25e901964f0f8b8de3ca1ec285
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
### HEAD (not released yet)
|
4
|
+
|
5
|
+
### v0.2.0
|
6
|
+
|
7
|
+
* Support for area charts
|
8
|
+
* Support for scatter plots
|
9
|
+
* Support for timeline
|
10
|
+
* Support for geo charts
|
11
|
+
* Support for column charts
|
12
|
+
* Support keyword arguments for charts like heigth, width etc.
|
13
|
+
|
14
|
+
### v0.1.0
|
15
|
+
|
16
|
+
* Initial version
|
17
|
+
* Support for line chart, bar chart and pie chart
|
data/Gemfile.lock
CHANGED
data/lib/iruby/chartkick.rb
CHANGED
@@ -5,20 +5,45 @@ require "iruby/chartkick/version"
|
|
5
5
|
require "iruby/chartkick/base_chart"
|
6
6
|
require "iruby/chartkick/line_chart"
|
7
7
|
require "iruby/chartkick/bar_chart"
|
8
|
+
require "iruby/chartkick/column_chart"
|
8
9
|
require "iruby/chartkick/pie_chart"
|
10
|
+
require "iruby/chartkick/area_chart"
|
11
|
+
require "iruby/chartkick/scatter_chart"
|
12
|
+
require "iruby/chartkick/geo_chart"
|
13
|
+
require "iruby/chartkick/timeline"
|
9
14
|
|
10
15
|
module IRuby
|
11
16
|
module Chartkick
|
12
|
-
def line_chart(data)
|
13
|
-
LineChart.new(data).plot
|
17
|
+
def line_chart(data, **args)
|
18
|
+
LineChart.new(data).plot(**args)
|
14
19
|
end
|
15
20
|
|
16
|
-
def bar_chart(data)
|
17
|
-
BarChart.new(data).plot
|
21
|
+
def bar_chart(data, **args)
|
22
|
+
BarChart.new(data).plot(**args)
|
18
23
|
end
|
19
24
|
|
20
|
-
def
|
21
|
-
|
25
|
+
def column_chart(data, **args)
|
26
|
+
ColumnChart.new(data).plot(**args)
|
27
|
+
end
|
28
|
+
|
29
|
+
def pie_chart(data, **args)
|
30
|
+
PieChart.new(data).plot(**args)
|
31
|
+
end
|
32
|
+
|
33
|
+
def area_chart(data, **args)
|
34
|
+
AreaChart.new(data).plot(**args)
|
35
|
+
end
|
36
|
+
|
37
|
+
def scatter_chart(data, **args)
|
38
|
+
ScatterChart.new(data).plot(**args)
|
39
|
+
end
|
40
|
+
|
41
|
+
def geo_chart(data, **args)
|
42
|
+
GeoChart.new(data).plot(**args)
|
43
|
+
end
|
44
|
+
|
45
|
+
def timeline(data, **args)
|
46
|
+
Timeline.new(data).plot(**args)
|
22
47
|
end
|
23
48
|
end
|
24
49
|
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
module IRuby
|
3
3
|
module Chartkick
|
4
4
|
class BarChart < IRuby::Chartkick::BaseChart
|
5
|
-
def plot
|
6
|
-
::IRuby.html(js_prefix + bar_chart(@data,
|
5
|
+
def plot(*args)
|
6
|
+
::IRuby.html(js_prefix + bar_chart(@data, **ArgumentModifier[args, self]))
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
@@ -4,19 +4,29 @@ module IRuby
|
|
4
4
|
class BaseChart
|
5
5
|
include ::Chartkick::Helper
|
6
6
|
|
7
|
+
ArgumentModifier = ->(args, callee) do
|
8
|
+
modified = args.inject({}) do |sum, item|
|
9
|
+
item.each do |k, v|
|
10
|
+
sum[k] = v
|
11
|
+
end
|
12
|
+
sum
|
13
|
+
end
|
14
|
+
modified[:id] = callee.randomized_dom_id
|
15
|
+
modified
|
16
|
+
end
|
17
|
+
|
7
18
|
def initialize(data)
|
8
19
|
@data = data
|
9
20
|
end
|
10
21
|
|
11
22
|
def js_prefix
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
JS
|
23
|
+
javascripts.map do |js|
|
24
|
+
<<-JS
|
25
|
+
<script type="text/javascript">
|
26
|
+
#{js}
|
27
|
+
</script>
|
28
|
+
JS
|
29
|
+
end.join("\n")
|
20
30
|
end
|
21
31
|
|
22
32
|
def javascripts
|
@@ -27,7 +37,7 @@ module IRuby
|
|
27
37
|
end
|
28
38
|
|
29
39
|
def adapter_javascript
|
30
|
-
adapter_js_path = File.join(File.dirname(__FILE__), "..", "..", "..", "vendor", "assets", "javascripts", "
|
40
|
+
adapter_js_path = File.join(File.dirname(__FILE__), "..", "..", "..", "vendor", "assets", "javascripts", "google_charts_loader.js")
|
31
41
|
File.read(adapter_js_path)
|
32
42
|
end
|
33
43
|
|
@@ -2,8 +2,8 @@
|
|
2
2
|
module IRuby
|
3
3
|
module Chartkick
|
4
4
|
class LineChart < IRuby::Chartkick::BaseChart
|
5
|
-
def plot
|
6
|
-
::IRuby.html(js_prefix + line_chart(@data,
|
5
|
+
def plot(*args)
|
6
|
+
::IRuby.html(js_prefix + line_chart(@data, **ArgumentModifier[args, self]))
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
module IRuby
|
3
3
|
module Chartkick
|
4
4
|
class PieChart < IRuby::Chartkick::BaseChart
|
5
|
-
def plot
|
6
|
-
::IRuby.html(js_prefix + pie_chart(@data,
|
5
|
+
def plot(*args)
|
6
|
+
::IRuby.html(js_prefix + pie_chart(@data, **ArgumentModifier[args, self]))
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iruby-chartkick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 'Robin Neumann
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-11-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: iruby
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- ".rspec"
|
94
94
|
- ".ruby-version"
|
95
95
|
- ".travis.yml"
|
96
|
+
- CHANGELOG.md
|
96
97
|
- Gemfile
|
97
98
|
- Gemfile.lock
|
98
99
|
- LICENSE.txt
|
@@ -102,13 +103,18 @@ files:
|
|
102
103
|
- bin/setup
|
103
104
|
- iruby-chartkick.gemspec
|
104
105
|
- lib/iruby/chartkick.rb
|
106
|
+
- lib/iruby/chartkick/area_chart.rb
|
105
107
|
- lib/iruby/chartkick/bar_chart.rb
|
106
108
|
- lib/iruby/chartkick/base_chart.rb
|
109
|
+
- lib/iruby/chartkick/column_chart.rb
|
110
|
+
- lib/iruby/chartkick/geo_chart.rb
|
107
111
|
- lib/iruby/chartkick/line_chart.rb
|
108
112
|
- lib/iruby/chartkick/pie_chart.rb
|
113
|
+
- lib/iruby/chartkick/scatter_chart.rb
|
114
|
+
- lib/iruby/chartkick/timeline.rb
|
109
115
|
- lib/iruby/chartkick/version.rb
|
110
|
-
- vendor/assets/javascripts/adapter.js
|
111
116
|
- vendor/assets/javascripts/chartkick.js
|
117
|
+
- vendor/assets/javascripts/google_charts_loader.js
|
112
118
|
homepage: https://github.com/Absolventa/iruby-chartkick
|
113
119
|
licenses: []
|
114
120
|
metadata: {}
|