pageflow-chart 0.1.0 → 0.1.1

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZmViYWVjOGM0OGIwOTFkODk3MzA1NjBiOWQxMDBiMjQ3NDNkNzFjZA==
4
+ NzRhZTQ1NzAzMGRmYjQwN2ExODk5ZWFjZmYzNzJkNDA1NjBjZTJmYw==
5
5
  data.tar.gz: !binary |-
6
- ZTBhODQ0ZTE2ZGNiYzI4NDQ0YTRhYmFlN2Y1NjZiZTg1NjllODNlMA==
6
+ ZDNhYTYzOThiOTk1Njg3ODRiNzM3ZjIzMmI1NGRjNmNjYzEwM2JkMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZTQzNzQxZjczZDBiZDkyY2VmMTg2ZjQ2NGY1ZDAwY2RiZDdmOGRjZGMyYWQx
10
- NTYyMDU0YWUyNzYzMDllODQxNTA4NmYyYjc2NTVmNmIyMzVlMDc3NDJiNWY2
11
- ODk1Y2M5NDVjNDAwY2IyZWM1ZTljNGMzODIzMjM2YWM0MWMxMTU=
9
+ NWQyMTEzYzhkMzkxZjgxNTdjY2Q4MWYwN2I3ODI4NmMxNjkzNzY3NGZiY2Vk
10
+ MzNhYmY2ZmQ4ZjcxYWMzZWRmODZmNDJiZjdiM2YxOTRmYjc0NmYyYmNmNTFl
11
+ OTliYTNiMTIxOGMzMWYyZmQ5N2E4NzkxZDgzN2EzZjc3ODRhYWE=
12
12
  data.tar.gz: !binary |-
13
- NDk1NDY1YTkzNWQ0ODRiMWZlNjhjZDM2ZDM3ZTNhOTNiYTQ4YWI1MzUzMWQw
14
- ZGNkZWRkM2ZiMjcxNjMxMTJmYTc0MmVlYjU3YzcwNDY1OWM5Mjc1NmQ5MWE4
15
- MWQwZjIyYTlkMDk2MmFlOWYyYWIzYzk5ZmU2ZDNlM2M1NDE1Y2U=
13
+ YzA5MzExNmQ4ZGQ1MTI0M2NmOWMyYWY4ZWUxOGJiMWFkZjMzNmZiMGVmN2Ni
14
+ ZTE3NjAxYTM2NzFmN2MxY2VlMDliZGU2YzNhNTc1Y2UwZDEwODg2ZDZkY2I1
15
+ NzM1ZTgyZDRhYTk4NWM5Mzk3MmUwZDdmMmVhOGJiNjg5OTUzNmE=
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # CHANGELOG
2
2
 
3
+ ### Version 0.1.1
4
+
5
+ [Compare changes](https://github.com/codevise/pageflow-chart/compare/v0.1.0...v0.1.1)
6
+
7
+ - Bug fix: Support new datawrapper host name.
8
+ ([#9](https://github.com/codevise/pageflow-chart/pull/9),
9
+ [#10](https://github.com/codevise/pageflow-chart/pull/10))
10
+ - Bug fix: Save correct content types for scraped files with
11
+ Paperclip 4.x.
12
+ ([#7](https://github.com/codevise/pageflow-chart/pull/7))
13
+ - Bug fix: Explicitly disable Paperclip attachment validation.
14
+ ([#5](https://github.com/codevise/pageflow-chart/pull/5))
15
+ - Bug fix: Do not report binstubs as executables in gemspec.
16
+ ([#6](https://github.com/codevise/pageflow-chart/pull/6))
17
+
3
18
  ### Version 0.1.0
4
19
 
5
20
  2015-02-03
data/Gemfile CHANGED
@@ -7,4 +7,4 @@ gem 'activeadmin', :git => 'https://github.com/codevise/active_admin.git', :bran
7
7
  gem 'ransack'
8
8
  gem 'inherited_resources', '1.4.1'
9
9
  gem 'formtastic', '2.3.0.rc2'
10
-
10
+ gem 'state_machine', git: 'https://github.com/codevise/state_machine.git'
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Pageflow Chart
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/pageflow-chart.svg)](http://badge.fury.io/rb/pageflow-chart)
4
+
3
5
  Page type showing scraped svg diagramms from Datawrapper.
4
6
 
5
7
  ## Installation
@@ -7,7 +9,7 @@ Page type showing scraped svg diagramms from Datawrapper.
7
9
  Add this line to your application's Gemfile:
8
10
 
9
11
  # Gemfile
10
- gem 'pagflow-chart'
12
+ gem 'pageflow-chart'
11
13
 
12
14
  Mount the engine:
13
15
 
@@ -27,18 +29,18 @@ Include javascript/stylesheets:
27
29
  # app/assets/javascripts/pageflow/editor.js
28
30
  //= require pageflow/chart/editor
29
31
 
30
- # app/assets/stylesheets/pageflow/application.scss.css;
32
+ # app/assets/stylesheets/pageflow/application.css.scss;
31
33
  @import "pageflow/chart";
32
34
 
33
35
 
34
- # app/assets/stylesheets/pageflow/editor.scss.css;
36
+ # app/assets/stylesheets/pageflow/editor.css.scss;
35
37
  @import "pageflow/chart/editor";
36
38
 
37
39
  # Adding basic style to your theme
38
40
  # app/assets/stylesheets/pageflow/themes/default.css.scss
39
41
  @import "pageflow/chart/themes/default";
40
42
 
41
- Install and run migrations:
43
+ Execute `bundle install`. Then Install and run migrations:
42
44
 
43
45
  rake pageflow_chart:install:migrations
44
46
  rake db:migrate SCOPE=pageflow_chart
@@ -68,11 +70,12 @@ Example:
68
70
 
69
71
  Pageflow::Chart.configure do |config|
70
72
  config.scraped_sites_root_url = '/datawrapper'
73
+
74
+ # Allow scraping charts from custom account URLs
75
+ config.supported_hosts << 'http://mycustom.datawrapper.de'
71
76
  end
72
77
 
73
- Please see `lib/pageflow/chart/configuration.rb` for the possible options.
74
-
75
- TODO: Document config options here
78
+ Also see `lib/pageflow/chart/configuration.rb` for the additional options.
76
79
 
77
80
  ## Troubleshooting
78
81
 
@@ -6,6 +6,11 @@ module Pageflow
6
6
  has_attached_file :html_file, Chart.config.paperclip_options(extension: 'html')
7
7
  has_attached_file :csv_file, Chart.config.paperclip_options(basename: 'data', extension: 'csv')
8
8
 
9
+ do_not_validate_attachment_file_type(:javascript_file)
10
+ do_not_validate_attachment_file_type(:stylesheet_file)
11
+ do_not_validate_attachment_file_type(:html_file)
12
+ do_not_validate_attachment_file_type(:csv_file)
13
+
9
14
  state_machine initial: 'unprocessed' do
10
15
  extend StateMachineJob::Macro
11
16
 
@@ -1,2 +1,2 @@
1
1
  json.key_format! camelize: :lower
2
- json.supported_hosts Pageflow::Chart.config.supported_hosts
2
+ json.supported_hosts Pageflow::Chart.config.supported_hosts.uniq
data/chart.gemspec CHANGED
@@ -2,21 +2,20 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "pageflow-chart"
5
- spec.version = "0.1.0"
5
+ spec.version = "0.1.1"
6
6
  spec.authors = ["Tim Fischbach"]
7
7
  spec.email = ["tfischbach@codevise.de"]
8
8
  spec.summary = "Pagetype for Embedded Datawrapper Charts"
9
- spec.homepage = ""
9
+ spec.homepage = "https://github.com/codevise/pageflow-chart"
10
10
  spec.license = "MIT"
11
11
 
12
12
  spec.files = `git ls-files`.split($/)
13
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
14
13
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
15
14
  spec.require_paths = ["lib"]
16
15
 
17
16
  spec.add_runtime_dependency "pageflow", "~> 0.7"
18
17
  spec.add_runtime_dependency "nokogiri"
19
- spec.add_runtime_dependency "paperclip"
18
+ spec.add_runtime_dependency "paperclip", "~> 4.2"
20
19
  spec.add_runtime_dependency "state_machine"
21
20
  spec.add_runtime_dependency "state_machine_job"
22
21
  spec.add_runtime_dependency 'i18n-js'
@@ -41,7 +41,7 @@ module Pageflow
41
41
  @paperclip_s3_default_options = {}
42
42
  @paperclip_base_path = ':host'
43
43
  @scraped_sites_root_url = nil
44
- @supported_hosts = ['http://cf.datawrapper.de']
44
+ @supported_hosts = ['http://cf.datawrapper.de', 'http://datawrapper.dwcdn.de']
45
45
  end
46
46
 
47
47
  # @api private
@@ -55,9 +55,23 @@ module Pageflow
55
55
 
56
56
  def default_paperclip_path_options(options)
57
57
  {
58
- path: File.join(paperclip_base_path, ":class/:id_partition/#{options.fetch(:basename, 'all')}.#{options.fetch(:extension)}")
58
+ path: File.join(paperclip_base_path, ":class/:id_partition/#{options.fetch(:basename, 'all')}.#{options.fetch(:extension)}"),
59
+ s3_headers: paperclip_s3_headers(options)
59
60
  }
60
61
  end
62
+
63
+ def paperclip_s3_headers(options)
64
+ {
65
+ 'Content-Type' => CONTENT_TYPE_MAPPING[options.fetch(:extension)]
66
+ }
67
+ end
68
+
69
+ CONTENT_TYPE_MAPPING = {
70
+ 'css' => 'text/css',
71
+ 'js' => 'application/javascript',
72
+ 'html' => 'text/html',
73
+ 'csv' => 'text/plain'
74
+ }
61
75
  end
62
76
  end
63
77
  end
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ module Pageflow
4
+ module Chart
5
+ describe Configuration do
6
+ describe 'paperclip_options' do
7
+ it 'returns hash with path option for file with given extension' do
8
+ configuration = Configuration.new
9
+
10
+ result = configuration.paperclip_options(extension: 'js')
11
+
12
+ expect(result[:path]).to eq(':host/:class/:id_partition/all.js')
13
+ end
14
+
15
+ it 'allows to override basename of path option' do
16
+ configuration = Configuration.new
17
+
18
+ result = configuration.paperclip_options(basename: 'some', extension: 'js')
19
+
20
+ expect(result[:path]).to eq(':host/:class/:id_partition/some.js')
21
+ end
22
+
23
+ it 'uses paperclip_base_path as prefix' do
24
+ configuration = Configuration.new
25
+ configuration.paperclip_base_path = 'main'
26
+
27
+ result = configuration.paperclip_options(basename: 'some', extension: 'js')
28
+
29
+ expect(result[:path]).to eq('main/:class/:id_partition/some.js')
30
+ end
31
+
32
+ it 'returns hash with s3_headers option with matching content type for js' do
33
+ configuration = Configuration.new
34
+
35
+ result = configuration.paperclip_options(extension: 'js')
36
+
37
+ expect(result[:s3_headers]['Content-Type']).to eq('application/javascript')
38
+ end
39
+
40
+ it 'returns hash with s3_headers option with matching content type for css' do
41
+ configuration = Configuration.new
42
+
43
+ result = configuration.paperclip_options(extension: 'css')
44
+
45
+ expect(result[:s3_headers]['Content-Type']).to eq('text/css')
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
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: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Fischbach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-03 00:00:00.000000000 Z
11
+ date: 2015-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pageflow
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: paperclip
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '4.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '4.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: state_machine
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -181,8 +181,7 @@ dependencies:
181
181
  description:
182
182
  email:
183
183
  - tfischbach@codevise.de
184
- executables:
185
- - rails
184
+ executables: []
186
185
  extensions: []
187
186
  extra_rdoc_files: []
188
187
  files:
@@ -275,6 +274,7 @@ files:
275
274
  - spec/fixtures/datawrapper.html
276
275
  - spec/jobs/pageflow/chart/scrape_site_job_spec.rb
277
276
  - spec/models/pageflow/chart/scraped_site_spec.rb
277
+ - spec/pageflow/chart/configuration_spec.rb
278
278
  - spec/pageflow/chart/downloader_spec.rb
279
279
  - spec/pageflow/chart/scraper_spec.rb
280
280
  - spec/requests/scraping_site_spec.rb
@@ -284,7 +284,7 @@ files:
284
284
  - spec/support/paperclip.rb
285
285
  - spec/support/resque.rb
286
286
  - spec/support/webmock.rb
287
- homepage: ''
287
+ homepage: https://github.com/codevise/pageflow-chart
288
288
  licenses:
289
289
  - MIT
290
290
  metadata: {}
@@ -352,6 +352,7 @@ test_files:
352
352
  - spec/fixtures/datawrapper.html
353
353
  - spec/jobs/pageflow/chart/scrape_site_job_spec.rb
354
354
  - spec/models/pageflow/chart/scraped_site_spec.rb
355
+ - spec/pageflow/chart/configuration_spec.rb
355
356
  - spec/pageflow/chart/downloader_spec.rb
356
357
  - spec/pageflow/chart/scraper_spec.rb
357
358
  - spec/requests/scraping_site_spec.rb