kickin_ristretto 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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 547aa1d9c14190b0610378e79ba9fc27a6f79feb
4
- data.tar.gz: cdf9317c16d8b1643ec0ab06c1186de7b00364f9
3
+ metadata.gz: c2dc8a2b3c5b3f58c71bfce23744f376ac4627b5
4
+ data.tar.gz: e46d12fe4411b1469347ce40d50d1ce636fd338f
5
5
  SHA512:
6
- metadata.gz: f379ccac6fade471b5f6df267a9facb2bb16ae9e90adbe934f040e231f46d4161cee8a7caf11b760e547e87cda33c8236601907f6f0ebb261a71f16cb33e7a10
7
- data.tar.gz: e04dab9157b001a76f233013de29d5353ad940662dc3bd685a278a6daa1d9f4d8066fa222b311dd4f0c736a17de37e1c90ad5a86d04358ba4aae607fc1aec079
6
+ metadata.gz: b71aff0c6bdcf3c1a5fc23333d85ffbf81875225c7672d9a53d872a52cc2aa7e3ad6412c6ff0e30d15c87c84ab9556388c11574e9fa92f96ca18e74d3f96fd76
7
+ data.tar.gz: 069b472f1087c59ad351eac865a09a2c5d9883d243f6bfd515f0090d9fe0558fa379c5391d82c4ae4063cb1a934a687c5e6d3a835e3668a8b6b76984d5d1d349
data/.gitignore CHANGED
@@ -15,3 +15,5 @@
15
15
  /.idea/modules.xml
16
16
  /.idea/vcs.xml
17
17
  /.idea/workspace.xml
18
+ /kickin_ristretto-0.1.0.gem
19
+ /.idea
data/Gemfile.lock CHANGED
@@ -2,11 +2,19 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  kickin_ristretto (0.1.0)
5
+ prawn (~> 2.2.2)
6
+ prawn-table (~> 0.2.2)
5
7
 
6
8
  GEM
7
9
  remote: https://rubygems.org/
8
10
  specs:
9
11
  diff-lcs (1.3)
12
+ pdf-core (0.7.0)
13
+ prawn (2.2.2)
14
+ pdf-core (~> 0.7.0)
15
+ ttfunk (~> 1.5)
16
+ prawn-table (0.2.2)
17
+ prawn (>= 1.3.0, < 3.0.0)
10
18
  rake (10.5.0)
11
19
  rspec (3.7.0)
12
20
  rspec-core (~> 3.7.0)
@@ -21,6 +29,7 @@ GEM
21
29
  diff-lcs (>= 1.2.0, < 2.0)
22
30
  rspec-support (~> 3.7.0)
23
31
  rspec-support (3.7.1)
32
+ ttfunk (1.5.1)
24
33
 
25
34
  PLATFORMS
26
35
  ruby
data/README.md CHANGED
@@ -22,6 +22,8 @@ Or install it yourself as:
22
22
  ## Usage
23
23
 
24
24
  $ rake kickin_ristretto:analyze
25
+
26
+ $ rake kickin_ristretto:image_audit_report
25
27
 
26
28
  ## Development
27
29
 
@@ -44,3 +46,8 @@ Everyone interacting in the KickinRistretto project’s codebases, issue tracker
44
46
  ## Sponsors
45
47
 
46
48
  This project is sponsored by [KickinEspresso](https://kickinespresso.com/?utm_source=github&utm_medium=sponsor&utm_campaign=opensource)
49
+
50
+
51
+ ## Build
52
+
53
+ gem build kickin_ristretto.gemspec
@@ -35,4 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "bundler", "~> 1.16"
36
36
  spec.add_development_dependency "rake", "~> 10.0"
37
37
  spec.add_development_dependency "rspec", "~> 3.0"
38
+ spec.add_dependency('prawn', '~> 2.2.2')
39
+ spec.add_dependency('prawn-table', '~> 0.2.2')
40
+
38
41
  end
@@ -1,3 +1,3 @@
1
1
  module KickinRistretto
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'kickin_ristretto/version'
4
+ require 'prawn'
5
+ require 'prawn/table'
6
+ #require 'prawn-table'
4
7
 
5
8
  module KickinRistretto
6
9
  if defined?(Rails)
@@ -16,10 +19,10 @@ module KickinRistretto
16
19
  end
17
20
  end
18
21
 
19
- # Search the Directories
20
- def search_directory(image_directory = 'app/assets/images')
21
- image_directory_regex = "#{image_directory}/**/*"
22
- images = Dir[image_directory_regex].select{ |e| File.file? e }
22
+ # Search through all images in the project and check to see if they are referenced somewhere
23
+ # If they are not referenced, prompt to delete them
24
+ def clean_non_referenced_images(image_directory = 'app/assets/images')
25
+ images = search_directory(image_directory)
23
26
  legacy_images = collect_none_referenced_images(images)
24
27
  puts "\n Is this what you want to happen? [Y/N]"
25
28
  answer = STDIN.gets.chomp
@@ -31,6 +34,40 @@ module KickinRistretto
31
34
  end
32
35
  end
33
36
 
37
+
38
+ # Produce a PDF report listing all the images in the website
39
+ def image_audit_report(image_directory = 'app/assets/images')
40
+ images = search_directory(image_directory)
41
+ #filtered_images = get_all_images_by_type(images)['.gif', '.png', '.jpg', '.jpeg', '.JPG', '.JPEG']
42
+ filtered_images = get_all_images_by_type(images).values_at('.png', '.jpg', '.jpeg', '.JPG', '.JPEG').flatten
43
+ filtered_images = filtered_images.reject { |v| v.nil? }
44
+
45
+ Prawn::Document.generate("image_audit_report.pdf") do
46
+ text "Image Audit Report"
47
+
48
+ data = [["File Path", "Image"]]
49
+ filtered_images.each do |image|
50
+ # puts image
51
+ # text image
52
+ # image image
53
+ data += [[image, {image: image, :fit => [400, 400]}]]
54
+ end
55
+
56
+
57
+ #data += [["..."]] * 30
58
+ table(data, :header => true)
59
+
60
+ #image "#{Prawn::DATADIR}/images/pigs.jpg"
61
+ end
62
+ end
63
+
64
+ # Search the Directories for images
65
+ # Returns a list of files with fullpath
66
+ def search_directory(image_directory = 'app/assets/images')
67
+ image_directory_regex = "#{image_directory}/**/*"
68
+ Dir[image_directory_regex].select{ |e| File.file? e }
69
+ end
70
+
34
71
  # Returns a list of images with paths that are not referenced in the rails project
35
72
  def collect_none_referenced_images(images)
36
73
  legacy_images = []
@@ -48,4 +85,9 @@ module KickinRistretto
48
85
  image_files.each {|image_file| File.delete(image_file) if File.exist?(image_file)}
49
86
  end
50
87
 
88
+ def get_all_images_by_type(files)
89
+ files.group_by{ |f| File.extname(f) }
90
+ end
91
+
92
+
51
93
  end
@@ -4,6 +4,16 @@ namespace :kickin_ristretto do
4
4
  desc "Perform Used Analysis "
5
5
  task :analyze do
6
6
  puts "do the analysis"
7
- KickinRistretto.search_directory
7
+ KickinRistretto.clean_non_referenced_images
8
8
  end
9
+
10
+
11
+ desc "Image Audit Report"
12
+ task :image_audit_report do
13
+ puts "Performing Image Audit Report"
14
+ KickinRistretto.image_audit_report
15
+ puts "Completed Image Audit Report"
16
+ end
17
+
18
+ #image "#{Prawn::DATADIR}/images/pigs.jpg"
9
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kickin_ristretto
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
  - KickinEspresso
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-04 00:00:00.000000000 Z
11
+ date: 2018-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: prawn
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.2.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.2.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: prawn-table
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.2.2
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.2.2
55
83
  description: Rake tasks that check a rails project for unused assets
56
84
  email:
57
85
  - chris@kickinespresso.com