chartkick-remote 1.0.2 → 1.1.6
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/README.md +11 -9
- data/chartkick_remote.gemspec +13 -13
- data/lib/chartkick/remote/helper.rb +11 -10
- data/lib/chartkick/remote/version.rb +1 -1
- metadata +43 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b23f76a69dd77e75b2e4a692ecfb52dc48273c63
|
4
|
+
data.tar.gz: d2eed42d77b27092177b8fc6d4da6d38bb3b9d08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba0639eda196a091f434ae52a6603f3e8a78f5a806d43b4a8f01256069685551560b6be29d56ef19c354619a76b4daa5ebc19972c27ed07939b41f4497e729ad
|
7
|
+
data.tar.gz: 004a0af71d3e2bc386dea0caa3e66e0c7e61cbaf6e73b7973acd2e5a41cd7bd35011ba7ff3edec45f099a460cd6a14fa00a124f0e3a81e77a3eda1dc47447a65
|
data/README.md
CHANGED
@@ -1,12 +1,9 @@
|
|
1
|
-
# Chartkick Remote
|
2
|
-
|
3
|
-
[](https://travis-ci.org/dontfidget/chartkick-remote)
|
4
|
-
|
5
|
-
[](https://codeclimate.com/github/dontfidget/chartkick-remote)
|
1
|
+
# Chartkick Remote [](https://travis-ci.org/dontfidget/chartkick-remote) [](https://codeclimate.com/github/dontfidget/chartkick-remote) [](https://codeclimate.com/github/dontfidget/chartkick-remote)
|
6
2
|
|
7
3
|
## Usage
|
8
4
|
|
9
|
-
This is an add-on to ankane's Chartkick to allow the user to specify chart data in a block and have it automatically sourced remotely to avoid making too many queries in the original page render.
|
5
|
+
This is an add-on to ankane's Chartkick to allow the user to specify chart data in a block and have it automatically sourced remotely to avoid making too many queries in the original page render. Check out the demo at http://chartkick-remote-demo.heroku.com.
|
6
|
+
|
10
7
|
|
11
8
|
For more on the fabulous Chartkick library, see http://ankane.github.io/chartkick/.
|
12
9
|
|
@@ -53,7 +50,7 @@ First, set up 'chartkick' as described at http://ankane.github.io/chartkick/.
|
|
53
50
|
|
54
51
|
Then, add this line to your application's Gemfile:
|
55
52
|
|
56
|
-
```
|
53
|
+
```ruby
|
57
54
|
gem 'chartkick-remote'
|
58
55
|
```
|
59
56
|
|
@@ -68,10 +65,15 @@ This gem works by *not* executing "remote" blocks when initially rendering your
|
|
68
65
|
|
69
66
|
Using this methodology, it's easy to write a page that makes many, many json requests, which may swamp your server and possibly even time out if you have a global `timeout` value set for your ajax requests. @maccman's jquery.ajax.queue.coffee script provides a basic queueing transport layer for ajax requests which I've modified to provide an option to set the maximum number of requests that can be made in parallel (see https://gist.github.com/dontfidget/1ad9ab33971b64fe6fef). If you include the javascript in this gist on your page, you can then specify the maximum number of allowable requests globally for your page as follows:
|
70
67
|
|
71
|
-
```
|
68
|
+
```javascript
|
72
69
|
$.ajaxSetup({queue: true, queueMaxConcurrency: 2});
|
73
70
|
```
|
74
71
|
|
72
|
+
## Standalone Mode (for debugging)
|
75
73
|
|
76
|
-
|
74
|
+
Sometimes it's useful to be able to be able to debug a single chart at a time even though there may be several on the page. Use the `standalone` option to add a link to each chart that opens the page in standalone mode, where only the single chart is shown.
|
75
|
+
|
76
|
+
```ruby
|
77
|
+
chartkick_remote standalone: true
|
78
|
+
```
|
77
79
|
|
data/chartkick_remote.gemspec
CHANGED
@@ -10,24 +10,24 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["andrew@dontfidget.com"]
|
11
11
|
spec.description = %q{Automatically generate remote json for chartkick}
|
12
12
|
spec.summary = %q{Automatically generate remote json for chartkick}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/dontfidget/chartkick-remote"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
|
+
spec.required_ruby_version = '>= 1.9'
|
20
21
|
|
21
|
-
spec.add_development_dependency "bundler",
|
22
|
-
spec.add_development_dependency "rake"
|
23
|
-
spec.add_development_dependency "
|
24
|
-
spec.add_development_dependency "
|
25
|
-
spec.add_development_dependency "
|
26
|
-
spec.add_development_dependency "rspec"
|
27
|
-
spec.add_development_dependency "
|
28
|
-
spec.add_development_dependency "pry"
|
29
|
-
spec.add_development_dependency "
|
30
|
-
spec.add_development_dependency "
|
31
|
-
spec.add_development_dependency "
|
32
|
-
spec.add_development_dependency "rspec-html-matchers"
|
22
|
+
spec.add_development_dependency "bundler", '~> 1.3'
|
23
|
+
spec.add_development_dependency "rake", '~> 10.3'
|
24
|
+
spec.add_development_dependency "chartkick", '~> 1.2'
|
25
|
+
spec.add_development_dependency "activesupport", '~> 4.1'
|
26
|
+
spec.add_development_dependency "rspec", '~> 3.0'
|
27
|
+
spec.add_development_dependency "rspec-rails", '~> 3.0'
|
28
|
+
spec.add_development_dependency "pry", '~> 0'
|
29
|
+
spec.add_development_dependency "pry-doc", '~> 0'
|
30
|
+
spec.add_development_dependency "travis-lint", '~> 1.8'
|
31
|
+
spec.add_development_dependency "codeclimate-test-reporter", '~> 0.3'
|
32
|
+
spec.add_development_dependency "rspec-html-matchers", '~> 0.6.1', '>= 0.6.1'
|
33
33
|
end
|
@@ -30,22 +30,23 @@ module Chartkick::Remote
|
|
30
30
|
if remote
|
31
31
|
@remote_chart_id = (@remote_chart_id || 0) + 1
|
32
32
|
chart_id = controller.params[:_chartkick_remote_chart_id]
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
end
|
33
|
+
skip = params[:_chartkick_remote_standalone] && chart_id.to_s != @remote_chart_id.to_s
|
34
|
+
controller.chartkick_remote_blocks ||= {}
|
35
|
+
controller.chartkick_remote_blocks[@remote_chart_id] = block
|
36
|
+
data_source = url_for(params.
|
37
|
+
except(:_chartkick_remote_standalone).
|
38
|
+
merge(_chartkick_remote_chart_id: @remote_chart_id, format: :json))
|
40
39
|
elsif block_given?
|
41
40
|
data_source = block.call
|
42
41
|
end
|
43
42
|
|
44
|
-
|
43
|
+
if skip
|
44
|
+
result = '<div>Skipped</div>'.html_safe
|
45
|
+
else
|
46
|
+
result = send(:"#{type}_without_remote", data_source, options)
|
47
|
+
end
|
45
48
|
|
46
49
|
if remote && standalone
|
47
|
-
result = '<div>Skipped</div>'.html_safe if skip
|
48
|
-
|
49
50
|
standalone_link = link_to 'Standalone',
|
50
51
|
url_for(params.merge(_chartkick_remote_chart_id: @remote_chart_id,
|
51
52
|
_chartkick_remote_standalone: 1))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chartkick-remote
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew S. Brown
|
@@ -28,156 +28,148 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '10.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: minitest
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
40
|
+
version: '10.3'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: chartkick
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
|
-
- - "
|
45
|
+
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
47
|
+
version: '1.2'
|
62
48
|
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- - "
|
52
|
+
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
54
|
+
version: '1.2'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: activesupport
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- - "
|
59
|
+
- - "~>"
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
61
|
+
version: '4.1'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- - "
|
66
|
+
- - "~>"
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
68
|
+
version: '4.1'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rspec
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- - "
|
73
|
+
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
75
|
+
version: '3.0'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- - "
|
80
|
+
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
82
|
+
version: '3.0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: rspec-rails
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
|
-
- - "
|
87
|
+
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
89
|
+
version: '3.0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- - "
|
94
|
+
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
96
|
+
version: '3.0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: pry
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
|
-
- - "
|
101
|
+
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
|
-
- - "
|
108
|
+
- - "~>"
|
123
109
|
- !ruby/object:Gem::Version
|
124
110
|
version: '0'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: pry-doc
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
|
-
- - "
|
115
|
+
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
117
|
version: '0'
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
|
-
- - "
|
122
|
+
- - "~>"
|
137
123
|
- !ruby/object:Gem::Version
|
138
124
|
version: '0'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: travis-lint
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
|
-
- - "
|
129
|
+
- - "~>"
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
131
|
+
version: '1.8'
|
146
132
|
type: :development
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
|
-
- - "
|
136
|
+
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
138
|
+
version: '1.8'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: codeclimate-test-reporter
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
|
-
- - "
|
143
|
+
- - "~>"
|
158
144
|
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
145
|
+
version: '0.3'
|
160
146
|
type: :development
|
161
147
|
prerelease: false
|
162
148
|
version_requirements: !ruby/object:Gem::Requirement
|
163
149
|
requirements:
|
164
|
-
- - "
|
150
|
+
- - "~>"
|
165
151
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
152
|
+
version: '0.3'
|
167
153
|
- !ruby/object:Gem::Dependency
|
168
154
|
name: rspec-html-matchers
|
169
155
|
requirement: !ruby/object:Gem::Requirement
|
170
156
|
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.6.1
|
171
160
|
- - ">="
|
172
161
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
162
|
+
version: 0.6.1
|
174
163
|
type: :development
|
175
164
|
prerelease: false
|
176
165
|
version_requirements: !ruby/object:Gem::Requirement
|
177
166
|
requirements:
|
167
|
+
- - "~>"
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: 0.6.1
|
178
170
|
- - ">="
|
179
171
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
172
|
+
version: 0.6.1
|
181
173
|
description: Automatically generate remote json for chartkick
|
182
174
|
email:
|
183
175
|
- andrew@dontfidget.com
|
@@ -200,7 +192,7 @@ files:
|
|
200
192
|
- spec/controllers/views/anonymous/index.html.erb
|
201
193
|
- spec/helpers/helper_spec.rb
|
202
194
|
- spec/spec_helper.rb
|
203
|
-
homepage:
|
195
|
+
homepage: https://github.com/dontfidget/chartkick-remote
|
204
196
|
licenses:
|
205
197
|
- MIT
|
206
198
|
metadata: {}
|
@@ -212,7 +204,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
204
|
requirements:
|
213
205
|
- - ">="
|
214
206
|
- !ruby/object:Gem::Version
|
215
|
-
version: '
|
207
|
+
version: '1.9'
|
216
208
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
209
|
requirements:
|
218
210
|
- - ">="
|