lazy_high_charts 1.0.8 → 1.0.9
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.
- data/CHANGELOG.md +3 -0
- data/README.md +8 -17
- data/lazy_high_charts.gemspec +3 -3
- data/lib/generators/lazy_high_charts/install/install_generator.rb +1 -2
- data/lib/lazy_high_charts.rb +1 -1
- data/lib/lazy_high_charts/high_chart.rb +1 -2
- data/lib/lazy_high_charts/layout_helper.rb +51 -0
- data/lib/lazy_high_charts/railtie.rb +5 -8
- data/lib/lazy_high_charts/version.rb +1 -1
- data/spec/lazy_high_charts_spec.rb +3 -4
- data/spec/spec_helper.rb +1 -1
- metadata +8 -30
- data/lib/lazy_high_charts/high_charts_helper.rb +0 -46
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,19 +1,11 @@
|
|
1
1
|
LazyHighCharts
|
2
2
|
=======
|
3
|
-
|
4
|
-
bumping version to gem 0.0.3
|
5
|
-
|
6
|
-
- Test Environment
|
7
|
-
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
|
8
|
-
rspec 2.0
|
9
|
-
rails 3.0.1
|
10
|
-
- Result(autotest)
|
11
|
-
Finished in 0.01502 seconds
|
12
|
-
9 examples, 0 failures
|
3
|
+
LazyHighCharts is Rails 3.x Gem for displaying Highcharts graphs.
|
13
4
|
|
14
|
-
|
15
|
-
|
5
|
+
Compatibility:
|
6
|
+
lazy_high_charts 1.x is only compatible with Rails 3.x
|
16
7
|
|
8
|
+
Current Version: 1.0.9
|
17
9
|
Usage
|
18
10
|
=======
|
19
11
|
In your Gemfile, add this line:
|
@@ -74,10 +66,9 @@ Usage
|
|
74
66
|
|
75
67
|
|
76
68
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
69
|
+
Contributors
|
70
|
+
=======
|
71
|
+
LazyHighCharts gem is maintained by "Deshi Xiao":https://github.com/xiaods
|
72
|
+
git shortlog -n -s --no-merges
|
82
73
|
|
83
74
|
Copyright (c) 2010 Miguel Michelson Martinez, released under the MIT license
|
data/lazy_high_charts.gemspec
CHANGED
@@ -17,16 +17,16 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.extra_rdoc_files = [ "README.md", "CHANGELOG.md" ]
|
18
18
|
s.rdoc_options = [ "--charset=UTF-8" ]
|
19
19
|
|
20
|
-
s.required_rubygems_version = "
|
20
|
+
s.required_rubygems_version = "~> 1.3"
|
21
21
|
|
22
22
|
s.add_dependency "bundler", "~> 1.0"
|
23
23
|
|
24
|
-
s.add_development_dependency "webrat",
|
24
|
+
s.add_development_dependency "webrat","~> 0.7"
|
25
25
|
s.add_development_dependency "rspec", "~> 2.0"
|
26
26
|
s.add_development_dependency "rails", "~> 3.0"
|
27
27
|
|
28
28
|
s.description = <<-DESC
|
29
|
-
|
29
|
+
lazy_high_charts is a Rails 3.x gem for displaying Highcharts graphs.
|
30
30
|
DESC
|
31
31
|
|
32
32
|
s.files = `git ls-files`.split("\n")
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module LazyHighCharts
|
2
2
|
class InstallGenerator < Rails::Generators::Base
|
3
3
|
desc "This generator install highcharts javascripts"
|
4
|
-
@@version = "2.1.1"
|
5
4
|
|
6
5
|
def install_highcharts
|
7
6
|
say_status("installing", "Highcharts javascript (github HEAD)", :green)
|
@@ -11,4 +10,4 @@ module LazyHighCharts
|
|
11
10
|
end
|
12
11
|
|
13
12
|
end
|
14
|
-
end
|
13
|
+
end
|
data/lib/lazy_high_charts.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module LazyHighCharts
|
2
2
|
class HighChart
|
3
|
-
CANVAS_DEFAULT_HTML_OPTIONS = {:style => "height: 300px, width:615px" }
|
4
3
|
SERIES_OPTIONS = %w(lines points bars shadowSize colors)
|
5
4
|
|
6
5
|
attr_accessor :data, :options, :placeholder, :html_options
|
@@ -15,7 +14,7 @@ module LazyHighCharts
|
|
15
14
|
high_chart.data ||= []
|
16
15
|
high_chart.options ||= {}
|
17
16
|
high_chart.defaults_options
|
18
|
-
high_chart.html_options = html_opts
|
17
|
+
high_chart.html_options = html_opts
|
19
18
|
high_chart.canvas = canvas if canvas
|
20
19
|
yield high_chart if block_given?
|
21
20
|
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module LazyHighCharts
|
4
|
+
module LayoutHelper
|
5
|
+
|
6
|
+
def high_chart(placeholder, object, &block)
|
7
|
+
if object
|
8
|
+
object.html_options.merge!({:id=>placeholder})
|
9
|
+
object.options[:chart][:renderTo] = placeholder
|
10
|
+
high_graph(placeholder,object , &block).concat(content_tag("div","", object.html_options))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def high_graph(placeholder, object, &block)
|
15
|
+
@options = {
|
16
|
+
"chart" => object.options[:chart],
|
17
|
+
"title" => object.options[:title],
|
18
|
+
"legend" => object.options[:legend],
|
19
|
+
"xAxis" => object.options[:xAxis],
|
20
|
+
"yAxis" => object.options[:yAxis],
|
21
|
+
"credits" => object.options[:credits],
|
22
|
+
"plotOptions" => object.options[:plotOptions],
|
23
|
+
"series" => object.options[:series],
|
24
|
+
"subtitle" => object.options[:subtitle]
|
25
|
+
}.reject{|k,v| v.nil?}
|
26
|
+
|
27
|
+
graph =<<-EOJS
|
28
|
+
<script type="text/javascript">
|
29
|
+
jQuery(function() {
|
30
|
+
var options = { #{format_options} };
|
31
|
+
#{capture(&block) if block_given?}
|
32
|
+
var chart = new Highcharts.Chart(options);
|
33
|
+
});
|
34
|
+
</script>
|
35
|
+
EOJS
|
36
|
+
|
37
|
+
return raw(graph)
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
def format_options
|
42
|
+
options = []
|
43
|
+
@options.each do |k,v|
|
44
|
+
options << "#{k}: #{v.to_json}"
|
45
|
+
end
|
46
|
+
options << "tooltip:{}"
|
47
|
+
options.join(', ')
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
@@ -1,15 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require 'lazy_high_charts'
|
4
|
-
require 'lazy_high_charts/high_charts_helper.rb'
|
5
|
-
|
6
|
-
require 'rails'
|
7
|
-
|
8
3
|
module LazyHighCharts
|
4
|
+
# @private
|
9
5
|
class Railtie < Rails::Railtie
|
10
|
-
initializer 'lazy_high_charts.initialize'
|
11
|
-
|
12
|
-
|
6
|
+
initializer 'lazy_high_charts.initialize' do
|
7
|
+
ActiveSupport.on_load(:action_view) do
|
8
|
+
include LazyHighCharts::LayoutHelper
|
9
|
+
end
|
13
10
|
end
|
14
11
|
end
|
15
12
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
3
|
-
require 'pp'
|
4
3
|
|
5
|
-
describe
|
6
|
-
include
|
4
|
+
describe LazyHighCharts::LayoutHelper do
|
5
|
+
include LazyHighCharts::LayoutHelper
|
7
6
|
|
8
7
|
before(:each) do
|
9
8
|
@class = "stylin"
|
@@ -13,7 +12,7 @@ describe HighChartsHelper do
|
|
13
12
|
@options = "options"
|
14
13
|
end
|
15
14
|
|
16
|
-
describe "
|
15
|
+
describe "layout_helper" do
|
17
16
|
it "should return a div with an id of high_chart object" do
|
18
17
|
hc = LazyHighCharts::HighChart.new("placeholder", :class => 'stylin')
|
19
18
|
high_chart(hc.placeholder, hc).should have_selector('div', :id => hc.placeholder, :class => 'stylin')
|
data/spec/spec_helper.rb
CHANGED
@@ -10,7 +10,7 @@ require 'action_controller'
|
|
10
10
|
#require 'action_mailer'
|
11
11
|
|
12
12
|
require File.expand_path(File.join(File.dirname(__FILE__), '../lib/lazy_high_charts'))
|
13
|
-
require File.expand_path(File.join(File.dirname(__FILE__), '../lib/lazy_high_charts/
|
13
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '../lib/lazy_high_charts/layout_helper'))
|
14
14
|
|
15
15
|
require 'webrat'
|
16
16
|
require 'rspec'
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazy_high_charts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 0
|
8
|
-
- 8
|
9
|
-
version: 1.0.8
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.9
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Miguel Michelson Martinez
|
@@ -15,7 +11,7 @@ autorequire:
|
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
13
|
|
18
|
-
date:
|
14
|
+
date: 2011-03-19 00:00:00 +08:00
|
19
15
|
default_executable:
|
20
16
|
dependencies:
|
21
17
|
- !ruby/object:Gem::Dependency
|
@@ -26,9 +22,6 @@ dependencies:
|
|
26
22
|
requirements:
|
27
23
|
- - ~>
|
28
24
|
- !ruby/object:Gem::Version
|
29
|
-
segments:
|
30
|
-
- 1
|
31
|
-
- 0
|
32
25
|
version: "1.0"
|
33
26
|
type: :runtime
|
34
27
|
version_requirements: *id001
|
@@ -40,9 +33,6 @@ dependencies:
|
|
40
33
|
requirements:
|
41
34
|
- - ~>
|
42
35
|
- !ruby/object:Gem::Version
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
- 7
|
46
36
|
version: "0.7"
|
47
37
|
type: :development
|
48
38
|
version_requirements: *id002
|
@@ -54,9 +44,6 @@ dependencies:
|
|
54
44
|
requirements:
|
55
45
|
- - ~>
|
56
46
|
- !ruby/object:Gem::Version
|
57
|
-
segments:
|
58
|
-
- 2
|
59
|
-
- 0
|
60
47
|
version: "2.0"
|
61
48
|
type: :development
|
62
49
|
version_requirements: *id003
|
@@ -68,13 +55,10 @@ dependencies:
|
|
68
55
|
requirements:
|
69
56
|
- - ~>
|
70
57
|
- !ruby/object:Gem::Version
|
71
|
-
segments:
|
72
|
-
- 3
|
73
|
-
- 0
|
74
58
|
version: "3.0"
|
75
59
|
type: :development
|
76
60
|
version_requirements: *id004
|
77
|
-
description: "
|
61
|
+
description: " lazy_high_charts is a Rails 3.x gem for displaying Highcharts graphs.\n"
|
78
62
|
email:
|
79
63
|
- miguelmichelson@gmail.com
|
80
64
|
- xiaods@gmail.com
|
@@ -99,7 +83,7 @@ files:
|
|
99
83
|
- lib/generators/lazy_high_charts/install/install_generator.rb
|
100
84
|
- lib/lazy_high_charts.rb
|
101
85
|
- lib/lazy_high_charts/high_chart.rb
|
102
|
-
- lib/lazy_high_charts/
|
86
|
+
- lib/lazy_high_charts/layout_helper.rb
|
103
87
|
- lib/lazy_high_charts/railtie.rb
|
104
88
|
- lib/lazy_high_charts/version.rb
|
105
89
|
- rails/init.rb
|
@@ -120,23 +104,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
104
|
requirements:
|
121
105
|
- - ">="
|
122
106
|
- !ruby/object:Gem::Version
|
123
|
-
segments:
|
124
|
-
- 0
|
125
107
|
version: "0"
|
126
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
109
|
none: false
|
128
110
|
requirements:
|
129
|
-
- -
|
111
|
+
- - ~>
|
130
112
|
- !ruby/object:Gem::Version
|
131
|
-
|
132
|
-
- 1
|
133
|
-
- 3
|
134
|
-
- 6
|
135
|
-
version: 1.3.6
|
113
|
+
version: "1.3"
|
136
114
|
requirements: []
|
137
115
|
|
138
116
|
rubyforge_project:
|
139
|
-
rubygems_version: 1.
|
117
|
+
rubygems_version: 1.5.2
|
140
118
|
signing_key:
|
141
119
|
specification_version: 3
|
142
120
|
summary: lazy higcharts plugin for rails
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
module LazyHighCharts
|
4
|
-
module LayoutHelper
|
5
|
-
# ActiveSupport::JSON.unquote_hash_key_identifiers = false
|
6
|
-
def high_chart(placeholder, object , &block)
|
7
|
-
object.html_options.merge!({:id=>placeholder})
|
8
|
-
object.options[:chart][:renderTo] = placeholder
|
9
|
-
high_graph(placeholder,object , &block).concat(content_tag("div","", object.html_options))
|
10
|
-
end
|
11
|
-
|
12
|
-
|
13
|
-
def high_graph(placeholder, object, &block)
|
14
|
-
graph =<<-EOJS
|
15
|
-
<script type="text/javascript">
|
16
|
-
jQuery(function() {
|
17
|
-
// 1. Define JSON options
|
18
|
-
var options = {
|
19
|
-
chart: #{object.options[:chart].to_json},
|
20
|
-
title: #{object.options[:title].to_json},
|
21
|
-
legend: #{object.options[:legend].to_json},
|
22
|
-
xAxis: #{object.options[:x_axis].to_json},
|
23
|
-
yAxis: #{object.options[:y_axis].to_json},
|
24
|
-
tooltip: #{object.options[:tooltip].to_json},
|
25
|
-
credits: #{object.options[:credits].to_json},
|
26
|
-
plotOptions: #{object.options[:plot_options].to_json},
|
27
|
-
series: #{object.data.to_json},
|
28
|
-
subtitle: #{object.options[:subtitle].to_json}
|
29
|
-
};
|
30
|
-
|
31
|
-
// 2. Add callbacks (non-JSON compliant)
|
32
|
-
#{capture(&block) if block_given?}
|
33
|
-
// 3. Build the chart
|
34
|
-
var chart = new Highcharts.Chart(options);
|
35
|
-
});
|
36
|
-
</script>
|
37
|
-
EOJS
|
38
|
-
if defined?(raw)
|
39
|
-
return raw(graph)
|
40
|
-
else
|
41
|
-
return graph
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|