pageflow-chart 2.1.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +12 -8
  4. data/README.md +2 -2
  5. data/app/assets/javascripts/pageflow/chart/consent.js +16 -0
  6. data/app/assets/javascripts/pageflow/chart/editor/config.js +7 -0
  7. data/app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js +11 -50
  8. data/app/assets/javascripts/pageflow/chart/editor/views/configuration_editor.js +6 -4
  9. data/app/assets/javascripts/pageflow/chart/editor/views/embedded/iframe_embedded_view.js +32 -16
  10. data/app/assets/javascripts/pageflow/chart/editor/views/inputs/scraped_url_input_view.js +18 -39
  11. data/app/assets/javascripts/pageflow/chart/editor.js +4 -3
  12. data/app/assets/javascripts/pageflow/chart/page_type.js +61 -53
  13. data/app/assets/javascripts/pageflow/chart.js +2 -3
  14. data/app/assets/stylesheets/pageflow/chart/editor.scss +3 -20
  15. data/app/assets/stylesheets/pageflow/chart/themes/default.scss +3 -0
  16. data/app/assets/stylesheets/pageflow/chart.scss +9 -16
  17. data/app/helpers/pageflow/chart/scraped_sites_helper.rb +17 -8
  18. data/app/jobs/pageflow/chart/scrape_site_job.rb +14 -4
  19. data/app/models/pageflow/chart/scraped_site.rb +37 -4
  20. data/app/views/pageflow/chart/editor/scraped_sites/_scraped_site.json.jbuilder +1 -0
  21. data/app/views/pageflow/chart/page.html.erb +9 -2
  22. data/chart.gemspec +2 -2
  23. data/config/locales/de.yml +4 -0
  24. data/config/locales/en.yml +4 -0
  25. data/db/migrate/20190531141820_add_file_attributes_to_scraped_sites.rb +8 -0
  26. data/db/migrate/20190531145431_insert_file_usages_for_scraped_sites.rb +59 -0
  27. data/db/migrate/20200507141608_add_javascript_body_attachment_to_scraped_site.rb +5 -0
  28. data/lib/pageflow/chart/configuration.rb +6 -3
  29. data/lib/pageflow/chart/downloader.rb +4 -1
  30. data/lib/pageflow/chart/page_type.rb +17 -0
  31. data/lib/pageflow/chart/plugin.rb +10 -0
  32. data/lib/pageflow/chart/refresh_tag_following_downloader.rb +3 -3
  33. data/lib/pageflow/chart/scraper.rb +25 -13
  34. data/lib/pageflow/chart/version.rb +1 -1
  35. data/lib/pageflow/chart.rb +4 -0
  36. data/spec/factories/scraped_sites.rb +17 -3
  37. data/spec/fixtures/all.css +3 -0
  38. data/spec/fixtures/all.js +1 -0
  39. data/spec/fixtures/all_body.js +1 -0
  40. data/spec/fixtures/data.csv +1 -0
  41. data/spec/fixtures/index.html +7 -0
  42. data/spec/helpers/pageflow/chart/scraped_sites_helper_spec.rb +59 -0
  43. data/spec/integration/file_type_spec.rb +10 -0
  44. data/spec/jobs/pageflow/chart/scrape_site_job_spec.rb +14 -1
  45. data/spec/models/pageflow/chart/scraped_site_spec.rb +54 -0
  46. data/spec/pageflow/chart/downloader_spec.rb +13 -3
  47. data/spec/pageflow/chart/refresh_tag_following_downloader_spec.rb +23 -10
  48. data/spec/pageflow/chart/scraper_spec.rb +201 -63
  49. metadata +28 -20
  50. data/app/assets/javascripts/pageflow/chart/editor/collections/scraped_sites_collection.js +0 -23
  51. data/app/assets/javascripts/pageflow/chart/editor/initializers/setup_collections.js +0 -1
  52. data/app/assets/javascripts/pageflow/chart/editor/templates/scraped_site_status.jst.ejs +0 -2
  53. data/app/assets/javascripts/pageflow/chart/editor/templates/url_input.jst.ejs +0 -7
  54. data/app/assets/javascripts/pageflow/chart/editor/views/scraped_site_status_view.js +0 -18
  55. data/app/controllers/pageflow/chart/application_controller.rb +0 -6
  56. data/app/controllers/pageflow/chart/scraped_sites_controller.rb +0 -25
  57. data/config/routes.rb +0 -3
  58. data/spec/controllers/pageflow/chart/scraped_sites_controller_spec.rb +0 -35
  59. data/spec/requests/scraping_site_spec.rb +0 -23
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pageflow-chart
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Codevise Solutions Ltd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-08 00:00:00.000000000 Z
11
+ date: 2022-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pageflow
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 14.x
19
+ version: 15.7.x
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 14.x
26
+ version: 15.7.x
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 14.x
61
+ version: 15.x
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 14.x
68
+ version: 15.x
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -179,29 +179,25 @@ files:
179
179
  - app/assets/images/pageflow/ov-chart.png
180
180
  - app/assets/javascripts/pageflow/chart.js
181
181
  - app/assets/javascripts/pageflow/chart/asset_urls.js.erb
182
+ - app/assets/javascripts/pageflow/chart/consent.js
182
183
  - app/assets/javascripts/pageflow/chart/editor.js
183
- - app/assets/javascripts/pageflow/chart/editor/collections/scraped_sites_collection.js
184
- - app/assets/javascripts/pageflow/chart/editor/initializers/setup_collections.js
184
+ - app/assets/javascripts/pageflow/chart/editor/config.js
185
185
  - app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
186
186
  - app/assets/javascripts/pageflow/chart/editor/templates/datawrapper_ad.jst.ejs
187
- - app/assets/javascripts/pageflow/chart/editor/templates/scraped_site_status.jst.ejs
188
- - app/assets/javascripts/pageflow/chart/editor/templates/url_input.jst.ejs
189
187
  - app/assets/javascripts/pageflow/chart/editor/views/configuration_editor.js
190
188
  - app/assets/javascripts/pageflow/chart/editor/views/datawrapper_ad_view.js
191
189
  - app/assets/javascripts/pageflow/chart/editor/views/embedded/iframe_embedded_view.js
192
190
  - app/assets/javascripts/pageflow/chart/editor/views/inputs/scraped_url_input_view.js
193
- - app/assets/javascripts/pageflow/chart/editor/views/scraped_site_status_view.js
194
191
  - app/assets/javascripts/pageflow/chart/page_type.js
195
192
  - app/assets/stylesheets/pageflow/chart.scss
196
193
  - app/assets/stylesheets/pageflow/chart/custom.scss
197
194
  - app/assets/stylesheets/pageflow/chart/editor.scss
198
195
  - app/assets/stylesheets/pageflow/chart/themes/default.scss
199
196
  - app/assets/stylesheets/pageflow/chart/transparent_background.css.erb
200
- - app/controllers/pageflow/chart/application_controller.rb
201
- - app/controllers/pageflow/chart/scraped_sites_controller.rb
202
197
  - app/helpers/pageflow/chart/scraped_sites_helper.rb
203
198
  - app/jobs/pageflow/chart/scrape_site_job.rb
204
199
  - app/models/pageflow/chart/scraped_site.rb
200
+ - app/views/pageflow/chart/editor/scraped_sites/_scraped_site.json.jbuilder
205
201
  - app/views/pageflow/chart/page.html.erb
206
202
  - app/views/pageflow/chart/page_type.json.jbuilder
207
203
  - bin/rails-cmd
@@ -210,21 +206,30 @@ files:
210
206
  - chart.gemspec
211
207
  - config/locales/de.yml
212
208
  - config/locales/en.yml
213
- - config/routes.rb
214
209
  - db/migrate/20140417112724_create_pageflow_chart_scraped_sites.rb
215
210
  - db/migrate/20160211085234_add_use_custom_theme_to_scraped_sites.rb
211
+ - db/migrate/20190531141820_add_file_attributes_to_scraped_sites.rb
212
+ - db/migrate/20190531145431_insert_file_usages_for_scraped_sites.rb
213
+ - db/migrate/20200507141608_add_javascript_body_attachment_to_scraped_site.rb
216
214
  - lib/generators/pageflow_chart/install/install_generator.rb
217
215
  - lib/pageflow/chart.rb
218
216
  - lib/pageflow/chart/configuration.rb
219
217
  - lib/pageflow/chart/downloader.rb
220
218
  - lib/pageflow/chart/engine.rb
221
219
  - lib/pageflow/chart/page_type.rb
220
+ - lib/pageflow/chart/plugin.rb
222
221
  - lib/pageflow/chart/refresh_tag_following_downloader.rb
223
222
  - lib/pageflow/chart/scraper.rb
224
223
  - lib/pageflow/chart/version.rb
225
- - spec/controllers/pageflow/chart/scraped_sites_controller_spec.rb
226
224
  - spec/factories/scraped_sites.rb
225
+ - spec/fixtures/all.css
226
+ - spec/fixtures/all.js
227
+ - spec/fixtures/all_body.js
228
+ - spec/fixtures/data.csv
227
229
  - spec/fixtures/datawrapper.html
230
+ - spec/fixtures/index.html
231
+ - spec/helpers/pageflow/chart/scraped_sites_helper_spec.rb
232
+ - spec/integration/file_type_spec.rb
228
233
  - spec/integration/page_type_spec.rb
229
234
  - spec/jobs/pageflow/chart/scrape_site_job_spec.rb
230
235
  - spec/models/pageflow/chart/scraped_site_spec.rb
@@ -232,7 +237,6 @@ files:
232
237
  - spec/pageflow/chart/downloader_spec.rb
233
238
  - spec/pageflow/chart/refresh_tag_following_downloader_spec.rb
234
239
  - spec/pageflow/chart/scraper_spec.rb
235
- - spec/requests/scraping_site_spec.rb
236
240
  - spec/spec_helper.rb
237
241
  - spec/support/active_job.rb
238
242
  - spec/support/factory_bot.rb
@@ -258,15 +262,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
262
  - !ruby/object:Gem::Version
259
263
  version: '0'
260
264
  requirements: []
261
- rubyforge_project:
262
- rubygems_version: 2.7.5
265
+ rubygems_version: 3.0.8
263
266
  signing_key:
264
267
  specification_version: 4
265
268
  summary: Pagetype for Embedded Datawrapper Charts
266
269
  test_files:
267
- - spec/controllers/pageflow/chart/scraped_sites_controller_spec.rb
268
270
  - spec/factories/scraped_sites.rb
271
+ - spec/fixtures/all.css
272
+ - spec/fixtures/all.js
273
+ - spec/fixtures/all_body.js
274
+ - spec/fixtures/data.csv
269
275
  - spec/fixtures/datawrapper.html
276
+ - spec/fixtures/index.html
277
+ - spec/helpers/pageflow/chart/scraped_sites_helper_spec.rb
278
+ - spec/integration/file_type_spec.rb
270
279
  - spec/integration/page_type_spec.rb
271
280
  - spec/jobs/pageflow/chart/scrape_site_job_spec.rb
272
281
  - spec/models/pageflow/chart/scraped_site_spec.rb
@@ -274,7 +283,6 @@ test_files:
274
283
  - spec/pageflow/chart/downloader_spec.rb
275
284
  - spec/pageflow/chart/refresh_tag_following_downloader_spec.rb
276
285
  - spec/pageflow/chart/scraper_spec.rb
277
- - spec/requests/scraping_site_spec.rb
278
286
  - spec/spec_helper.rb
279
287
  - spec/support/active_job.rb
280
288
  - spec/support/factory_bot.rb
@@ -1,23 +0,0 @@
1
- pageflow.chart.ScrapedSitesCollection = Backbone.Collection.extend({
2
- model: pageflow.chart.ScrapedSite,
3
-
4
- name: 'scraped_sites',
5
-
6
- getOrFetch: function(id, options) {
7
- options = options || {};
8
- var model = this.get(id);
9
-
10
- if (model) {
11
- if (options.success) {
12
- options.success(model);
13
- }
14
- }
15
- else {
16
- model = new pageflow.chart.ScrapedSite({id: id});
17
- this.add(model);
18
- model.fetch(options);
19
- }
20
-
21
- return model;
22
- }
23
- });
@@ -1 +0,0 @@
1
- pageflow.chart.scrapedSites = new pageflow.chart.ScrapedSitesCollection();
@@ -1,2 +0,0 @@
1
- <p class="processing state validation pending"><%= I18n.t('pageflow.chart.editor.templates.scraped_site_status.pending') %></p>
2
- <p class="failed state validation failed"><%= I18n.t('pageflow.chart.editor.templates.scraped_site_status.failed') %></p>
@@ -1,7 +0,0 @@
1
- <label>
2
- <span class="name"></span>
3
- <span class="inline_help"></span>
4
- </label>
5
- <input type="text" />
6
- <div class="validation"></div>
7
- <div class="status_container"></div>
@@ -1,18 +0,0 @@
1
- pageflow.chart.ScrapedSiteStatusView = Backbone.Marionette.ItemView.extend({
2
- template: 'pageflow/chart/editor/templates/scraped_site_status',
3
- className: 'scraped_site_status',
4
-
5
- modelEvents: {
6
- change: 'update'
7
- },
8
-
9
- onRender: function() {
10
- this.update();
11
- },
12
-
13
- update: function() {
14
- this.$el.toggleClass('processed', this.model.isProcessed());
15
- this.$el.toggleClass('failed', this.model.isFailed());
16
- this.$el.toggleClass('processing', this.model.isProcessing());
17
- }
18
- });
@@ -1,6 +0,0 @@
1
- module Pageflow
2
- module Chart
3
- class ApplicationController < ActionController::Base
4
- end
5
- end
6
- end
@@ -1,25 +0,0 @@
1
- module Pageflow
2
- module Chart
3
- class ScrapedSitesController < Chart::ApplicationController
4
- respond_to :json
5
-
6
- def create
7
- scraped_site = ScrapedSite.create!(scraped_site_params)
8
- scraped_site.process!
9
-
10
- respond_with(scraped_site)
11
- end
12
-
13
- def show
14
- scraped_site = ScrapedSite.find(params[:id])
15
- respond_with(scraped_site)
16
- end
17
-
18
- protected
19
-
20
- def scraped_site_params
21
- params.require(:scraped_site).permit(:url)
22
- end
23
- end
24
- end
25
- end
data/config/routes.rb DELETED
@@ -1,3 +0,0 @@
1
- Pageflow::Chart::Engine.routes.draw do
2
- resources :scraped_sites, only: [:create, :show]
3
- end
@@ -1,35 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Pageflow
4
- module Chart
5
- describe ScrapedSitesController do
6
- describe '#create' do
7
- routes { Pageflow::Chart::Engine.routes }
8
-
9
- it 'responds with success' do
10
- post(:create, params: {scraped_site: {url: "http://example.com/chart.html"}}, format: 'json')
11
-
12
- expect(response.status).to eq(201)
13
- end
14
-
15
- it 'creates scraped site' do
16
- expect {
17
- post(:create, params: {scraped_site: {url: "http://example.com/chart.html"}}, format: 'json')
18
- }.to change { ScrapedSite.count }
19
- end
20
- end
21
-
22
- describe '#show' do
23
- routes { Pageflow::Chart::Engine.routes }
24
-
25
- it 'responds with success' do
26
- scraped_site = create(:scraped_site, state: 'unprocessed')
27
-
28
- get(:show, params: { id: scraped_site.id }, format: 'json')
29
-
30
- expect(response.status).to eq(200)
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,23 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Pageflow
4
- module Chart
5
- describe 'scraping site', perform_jobs: true do
6
- before do
7
- stub_request(:get, "http://example.com/chart.html")
8
- .to_return(:status => 200, :body => File.read('spec/fixtures/datawrapper.html'))
9
- stub_request(:get, /js$|css$|csv$/)
10
- .to_return(:status => 200, :body => 'file')
11
- end
12
-
13
- it 'downloads html and dependencies' do
14
- post('/charts/scraped_sites.json', params: {scraped_site: {url: 'http://example.com/chart.html'}})
15
-
16
- expect(ScrapedSite.first.html_file).to be_present
17
- expect(ScrapedSite.first.javascript_file).to be_present
18
- expect(ScrapedSite.first.stylesheet_file).to be_present
19
- expect(ScrapedSite.first.csv_file).to be_present
20
- end
21
- end
22
- end
23
- end