Class: GitStats::StatsView::Charts::Chart
- Inherits:
-
Object
- Object
- GitStats::StatsView::Charts::Chart
show all
- Defined in:
- lib/git_stats/stats_view/charts/chart.rb
Instance Method Summary
collapse
Constructor Details
#initialize {|_self| ... } ⇒ Chart
Returns a new instance of Chart.
13
14
15
16
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 13
def initialize
@chart = LazyHighCharts::HighChart.new('graph')
yield self if block_given?
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
5
6
7
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 5
def method_missing(name, *args, &block)
@chart.send(name, *args, &block)
end
|
Instance Method Details
#column_hash_chart(params) ⇒ Object
30
31
32
33
34
35
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 30
def column_hash_chart(params)
simple_column_chart(params.merge(
data_x: params[:data].keys,
data_y: params[:data].values
))
end
|
#date_chart(params) ⇒ Object
37
38
39
40
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 37
def date_chart(params)
common_options(params)
series(date_series({name: params[:title], data: params[:data]}))
end
|
#date_column_chart(params) ⇒ Object
50
51
52
53
54
55
56
57
58
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 50
def date_column_chart(params)
common_options(params)
series(date_series({name: params[:title], data: params[:data]}, aggregated: false).merge(
{
type: 'column',
dataGrouping: {units: [['day', [1]], ['week', [1]]], forced: true}
}
))
end
|
#default_legend ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 60
def default_legend
legend(
enabled: true,
layout: 'vertical',
backgroundColor: '#FFFFFF',
align: 'left',
verticalAlign: 'top',
x: 100,
y: 70,
floating: true,
shadow: true
)
end
|
#multi_date_chart(params) ⇒ Object
42
43
44
45
46
47
48
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 42
def multi_date_chart(params)
common_options(params)
default_legend
params[:data].each do |s|
series(date_series(s))
end
end
|
#multiple_column_chart(params) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 23
def multiple_column_chart(params)
column_chart(params)
params[:data_y].each do |s|
series(name: s[:name], data: s[:data])
end
end
|
#no_legend ⇒ Object
74
75
76
77
78
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 74
def no_legend
legend(
enabled: false
)
end
|
#respond_to_missing?(name, include_private = false) ⇒ Boolean
9
10
11
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 9
def respond_to_missing?(name, include_private = false)
@chart.respond_to?(name, include_private)
end
|
#simple_column_chart(params) ⇒ Object
18
19
20
21
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 18
def simple_column_chart(params)
column_chart(params)
series(name: params[:title], data: params[:data_y])
end
|
#title(title) ⇒ Object
96
97
98
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 96
def title(title)
@chart.title!(text: title)
end
|
#type(type) ⇒ Object
80
81
82
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 80
def type(type)
@chart.chart!(type: type)
end
|
#x_categories(categories) ⇒ Object
84
85
86
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 84
def x_categories(categories)
@chart.xAxis!(categories: categories)
end
|
#x_text(text) ⇒ Object
88
89
90
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 88
def x_text(text)
@chart.xAxis!(title: {text: text})
end
|
#y_text(text) ⇒ Object
92
93
94
|
# File 'lib/git_stats/stats_view/charts/chart.rb', line 92
def y_text(text)
@chart.yAxis!(title: {text: text})
end
|