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 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
  - - ">="