iruby-chartkick 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: {}
|