chartkick-remote 1.0.2 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2e2aecd2927354c657db8bd089ea21ae93c195b8
4
- data.tar.gz: a82b9562e69548bb9ebe01c86dc78d6e946d760c
3
+ metadata.gz: b23f76a69dd77e75b2e4a692ecfb52dc48273c63
4
+ data.tar.gz: d2eed42d77b27092177b8fc6d4da6d38bb3b9d08
5
5
  SHA512:
6
- metadata.gz: 132590888dad96644b1409a157b0fb1e616df4f8e73e8c4246fd9f540c18cb3d892136bb08446111a952b8e6d788712ae7d3dda11fcf11fbf0fd9e4738641f2d
7
- data.tar.gz: 7689dabb3a643727d697ceafff7357ea1faf50fb6276d94e82b967a0404a9ccf331c1a4f8a248c31f27ccc7784cc7a10949cb545d5986ec872feebcfe1359130
6
+ metadata.gz: ba0639eda196a091f434ae52a6603f3e8a78f5a806d43b4a8f01256069685551560b6be29d56ef19c354619a76b4daa5ebc19972c27ed07939b41f4497e729ad
7
+ data.tar.gz: 004a0af71d3e2bc386dea0caa3e66e0c7e61cbaf6e73b7973acd2e5a41cd7bd35011ba7ff3edec45f099a460cd6a14fa00a124f0e3a81e77a3eda1dc47447a65
data/README.md CHANGED
@@ -1,12 +1,9 @@
1
- # Chartkick Remote
2
-
3
- [![Travis CI Status](https://travis-ci.org/dontfidget/chartkick-remote.svg?branch=master)](https://travis-ci.org/dontfidget/chartkick-remote)
4
-
5
- [![Code Climate](https://codeclimate.com/github/dontfidget/chartkick-remote.png)](https://codeclimate.com/github/dontfidget/chartkick-remote)
1
+ # Chartkick Remote [![Travis CI Status](https://travis-ci.org/dontfidget/chartkick-remote.png?branch=master)](https://travis-ci.org/dontfidget/chartkick-remote) [![Code Climate](https://codeclimate.com/github/dontfidget/chartkick-remote.png)](https://codeclimate.com/github/dontfidget/chartkick-remote) [![Code Climate](https://codeclimate.com/github/dontfidget/chartkick-remote/coverage.png)](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
 
@@ -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", "~> 1.3"
22
- spec.add_development_dependency "rake"
23
- spec.add_development_dependency "minitest"
24
- spec.add_development_dependency "chartkick"
25
- spec.add_development_dependency "activesupport"
26
- spec.add_development_dependency "rspec"
27
- spec.add_development_dependency "rspec-rails"
28
- spec.add_development_dependency "pry"
29
- spec.add_development_dependency "pry-doc"
30
- spec.add_development_dependency "travis-lint"
31
- spec.add_development_dependency "codeclimate-test-reporter"
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
- if chart_id # json request
34
- controller.chartkick_remote_blocks ||= {}
35
- controller.chartkick_remote_blocks[@remote_chart_id] = block
36
- skip = standalone && chart_id.to_s != @remote_chart_id.to_s
37
- else
38
- data_source = url_for(params.merge(_chartkick_remote_chart_id: @remote_chart_id, format: :json))
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
- result = send(:"#{type}_without_remote", data_source, options)
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))
@@ -1,5 +1,5 @@
1
1
  module Chartkick
2
2
  module Remote
3
- VERSION = "1.0.2"
3
+ VERSION = "1.1.6"
4
4
  end
5
5
  end
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.0.2
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
207
+ version: '1.9'
216
208
  required_rubygems_version: !ruby/object:Gem::Requirement
217
209
  requirements:
218
210
  - - ">="