simple_magick 1.0.0 → 1.1.0

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: 8721a16bca3964f1c9b62ecff896d1c3b51bfaf3
4
- data.tar.gz: 7b5e87b257feca6d8ad365d463ab99b8cb361539
3
+ metadata.gz: 84cec9598f800ccc7f0fdde507e3e4bbf6d7f016
4
+ data.tar.gz: 332b6a270e80603d51a87e32350f92d59a963bdd
5
5
  SHA512:
6
- metadata.gz: 19a617f50e2f1583c82d4f22c95069b0dc4402c2eac8e128f900eb54c8eb2d6fcbbe9b1f4151f323db10fe92d7ff06b01c1da32292201055ab9cd214ca89b5e3
7
- data.tar.gz: e28ac9c440dcd50b3ea36b1c1a8f62cf8884a68bb4ae8ac677d1e0719a55ca17875fb868fb65b42b452aec2d458e7ecf1aa0a28b25315ca42eb0f4e5d02df4bd
6
+ metadata.gz: bdc31d9e883b830815eb7aea1ad211b63e274d58d6617895340aa3bf2297ae49ea74c0f6e5d66296a4d85eb7febbeaa460195b0b6ba9f7ec02925a94c3fc66fd
7
+ data.tar.gz: 2caf687984ace41542c206c90368bed7bb6bd29d539c7c9da03ef7702ea6c1d22920fb5ef0c13c667b8049770e6fa72e79f2ab8a2a9bec72fb3a86a34fa4d792
data/README.md CHANGED
@@ -14,7 +14,7 @@ requirements ImageMagick(use mogrify command)
14
14
 
15
15
  Add this line to your application's Gemfile:
16
16
 
17
- gem 'simple_magick', github: 'sugamasao/simple_magick'
17
+ gem 'simple_magick'
18
18
 
19
19
  And then execute:
20
20
 
data/Rakefile CHANGED
@@ -1 +1,45 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
+ require 'pathname'
3
+
4
+ desc 'generate SimpleMagick DATA of mogrify option'
5
+ task :generate_option do |t|
6
+ version_string = `mogrify -version`
7
+ version_line = version_string.split("\n").first
8
+ version_line =~ /\AVersion:\s(.+\s.+\s.+\s.+\s)/
9
+ version = $1
10
+
11
+ options_string = `mogrify`
12
+ options = options_string.split("\n").map { |line|
13
+ if line.strip =~ /\A-(\w.+?)\s/
14
+ $1
15
+ end
16
+ }.compact.sort
17
+
18
+ image_magick = ''
19
+ image_magick << <<EOS
20
+ module SimpleMagick
21
+
22
+ # Don't manually modified!! (generate by $ rake generate_option)
23
+ # Generate Date #{Time.now}
24
+ # ImageMagick Version: #{version}
25
+ module ImageMagick
26
+ EXEC = 'mogrify'
27
+
28
+ OPTIONS = %w(
29
+ EOS
30
+ options.each_slice(5) do |opt|
31
+ image_magick << opt.join(' ')
32
+ image_magick << "\n"
33
+ end
34
+ image_magick << <<EOS
35
+ )
36
+ end
37
+ end
38
+ EOS
39
+
40
+ image_magick_path = Pathname(__dir__).join('lib', 'simple_magick', 'image_magick.rb').expand_path
41
+ File.open(image_magick_path, 'w') do |file|
42
+ file.puts image_magick
43
+ end
44
+ puts "Generate File ImageMagick Options. (#{image_magick_path})"
45
+ end
data/lib/simple_magick.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'simple_magick/version'
2
+ require 'simple_magick/image_magick'
2
3
  require 'fileutils'
3
4
  require 'open3'
4
5
  require 'shellwords'
@@ -10,7 +11,7 @@ module SimpleMagick
10
11
  # @note Windows Not Supported
11
12
  # @return [Boolean] find mogrify command is true
12
13
  def self.imagemagick_installed?
13
- !`which mogrify`.split("\n").first.nil?
14
+ !`which #{ImageMagick::EXEC}`.split("\n").first.nil?
14
15
  end
15
16
 
16
17
  # Convert Image Class.
@@ -25,22 +26,13 @@ module SimpleMagick
25
26
  def initialize(source_path, verbose = false)
26
27
  @source_path = source_path
27
28
  @verbose = verbose
28
- @command = ['mogrify']
29
+ @command = [ImageMagick::EXEC]
29
30
  end
30
31
 
31
- # @param [String] size resize size
32
- def resize(size)
33
- @command << "-resize #{command_escape(size)}"
34
- end
35
-
36
- # @param [String] num image quality
37
- def quality(num)
38
- @command << "-quality #{command_escape(num)}"
39
- end
40
-
41
- # @param [String] string define string.
42
- def define(string)
43
- @command << "-define #{command_escape(string)}"
32
+ # set option
33
+ def method_missing(method, *args)
34
+ super unless ImageMagick::OPTIONS.include? method.to_s
35
+ __send__(:additional_option, method.to_s, args[0])
44
36
  end
45
37
 
46
38
  # use other options.
@@ -63,11 +55,11 @@ module SimpleMagick
63
55
  puts "[INFO] #{command}" if @verbose
64
56
  stdout, stderr, status = Open3.capture3(command)
65
57
  rescue SystemCallError => e
66
- raise ConvertError.new("mogrify error. exec command => [#{command}], Error Detail => [#{e.message}]")
58
+ raise ConvertError.new("#{ImageMagick::EXEC} error. exec command => [#{command}], Error Detail => [#{e.message}]")
67
59
  end
68
60
 
69
61
  unless status.success?
70
- raise ConvertError.new("mogrify error. exec command => [#{command}], stdout => [#{stdout}], stderr => [#{stderr}]")
62
+ raise ConvertError.new("#{ImageMagick::EXEC} error. exec command => [#{command}], stdout => [#{stdout}], stderr => [#{stderr}]")
71
63
  end
72
64
  end
73
65
 
@@ -0,0 +1,62 @@
1
+ module SimpleMagick
2
+
3
+ # Don't manually modified!! (generate by $ rake generate_option)
4
+ # Generate Date 2014-03-11 23:34:56 +0900
5
+ # ImageMagick Version: ImageMagick 6.8.7-7 Q16 x86_64 2013-11-27
6
+ module ImageMagick
7
+ EXEC = 'mogrify'
8
+
9
+ OPTIONS = %w(
10
+ adaptive-blur adaptive-resize adaptive-sharpen adjoin affine
11
+ affinity alpha alpha annotate antialias
12
+ append attenuate authenticate auto-gamma auto-level
13
+ auto-orient background bench bias black-threshold
14
+ blue-primary blue-shift blur border bordercolor
15
+ bordercolor brightness-contrast caption cdl cdl
16
+ channel charcoal chop clamp clip
17
+ clip-mask clip-path clut coalesce color-matrix
18
+ colorize colors colorspace combine comment
19
+ compare complex compose composite compress
20
+ contrast contrast-stretch convolve crop cycle
21
+ debug decipher decipher deconstruct define
22
+ delay delete density depth deskew
23
+ despeckle direction display dispose distort
24
+ distribute-cache dither draw duplicate edge
25
+ emboss encipher encipher encoding endian
26
+ enhance equalize evaluate evaluate-sequence extent
27
+ extract family features features fft
28
+ fill filter flatten flatten flip
29
+ floodfill flop font format frame
30
+ function function fuzz fx gamma
31
+ gaussian-blur geometry gravity grayscale green-primary
32
+ hald-clut help help identify ift
33
+ implode insert intensity intent interlace
34
+ interline-spacing interpolate interword-spacing kerning label
35
+ lat layers layers level level-colors
36
+ limit linear-stretch liquid-rescale list log
37
+ loop magnify mask matte mattecolor
38
+ median mode modulate monitor monochrome
39
+ morph morphology morphology mosaic motion-blur
40
+ negate noise normalize opaque ordered-dither
41
+ orient page paint path perceptible
42
+ ping pointsize polaroid poly posterize
43
+ precision preview print process profile
44
+ quality quantize quiet radial-blur raise
45
+ random-threshold red-primary regard-warnings region remap
46
+ render repage resample resize respect-parentheses
47
+ reverse roll rotate sample sampling-factor
48
+ scale scene seed segment selective-blur
49
+ separate sepia-tone set shade shadow
50
+ sharpen shave shear sigmoidal-contrast size
51
+ sketch smush solarize sparse-color splice
52
+ spread statistic stretch strip stroke
53
+ strokewidth style swap swirl synchronize
54
+ taint texture threshold thumbnail tile
55
+ tile-offset tint transform transparent transparent-color
56
+ transpose transverse treedepth trim type
57
+ undercolor unique-colors units unsharp verbose
58
+ version view vignette virtual-pixel wave
59
+ weight white-point white-threshold write
60
+ )
61
+ end
62
+ end
@@ -1,3 +1,3 @@
1
1
  module SimpleMagick
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "yard"
24
24
  spec.add_development_dependency "rspec"
25
25
  spec.add_development_dependency "simplecov"
26
+ spec.add_development_dependency "pry"
26
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_magick
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sugamasao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-08 00:00:00.000000000 Z
11
+ date: 2014-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: Simple ImageMagick Wrapper.
84
98
  email:
85
99
  - sugamasao@gmail.com
@@ -96,6 +110,7 @@ files:
96
110
  - benchmark/Gemfile
97
111
  - benchmark/benchmark.rb
98
112
  - lib/simple_magick.rb
113
+ - lib/simple_magick/image_magick.rb
99
114
  - lib/simple_magick/version.rb
100
115
  - simple_magick.gemspec
101
116
  - spec/assets/sample.jpg