mojo_magick 0.5.5 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: eac3d5826a0b9a1ec1af5f3e2fc9426fa1ae5e6e
4
- data.tar.gz: 4df48720e9ebda2703298deb9fbb06ed7ce9baf7
2
+ SHA256:
3
+ metadata.gz: 93f3aa9373877c8a0a09828441a83f62a4f633b0779642dd881460295ec117d1
4
+ data.tar.gz: '0395757ba6b054c84b1d649333d32b6ce085eaad407a3a80e1b23054cc5a6f32'
5
5
  SHA512:
6
- metadata.gz: a79fbec51705e82b87e0a88b1f230a35bc9b1dad95633f687658e9019223c249e935b74c39e9b489f55f6163b43b940008ff179c5d75489e28ba905fe499a473
7
- data.tar.gz: d36c224300d79d6308b02b426e175c9f136777b73e35b61cbb32f9b9619ca1b58274c779e9b74292ebd2b6fc5a5cc9e9b1a274a01b4a95a4511b1e730a9d88c6
6
+ metadata.gz: 2b417825f921e106e47a2a0387cd8dff673d468b40a95387cfbef1be8d3811067b2ee7d0115117fecaa8a39dfa77e5bec7ac9fb9fa49f8711a93df6d92e172b3
7
+ data.tar.gz: ef4726ee3b9db797d1eab003d54ebd53dba4af804583a353ae96f0299fd4f0de8dca632beb214df43bb658935166eaa66788cbbb45e102a4698a2262e76a9630
@@ -0,0 +1,25 @@
1
+ version: 2.1
2
+ orbs:
3
+ ruby: circleci/ruby@1.1.2
4
+
5
+ jobs:
6
+ build:
7
+ docker:
8
+ - image: circleci/ruby:2.6.6-browsers
9
+ executor: ruby/default
10
+ steps:
11
+ - checkout
12
+ - run:
13
+ name: Which bundler?
14
+ command: bundle -v
15
+ - ruby/install-deps
16
+ - run:
17
+ name: install imagemagick
18
+ command: sudo apt-get install imagemagick ghostscript
19
+ - run:
20
+ name: tests
21
+ command: bundle exec rake
22
+ - run:
23
+ name: audit
24
+ command: bundle exec bundle-audit update && bundle exec bundle-audit check
25
+ - ruby/rubocop-check
@@ -0,0 +1,8 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: monthly
7
+ time: "13:00"
8
+ open-pull-requests-limit: 10
@@ -0,0 +1,99 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ DisplayCopNames: true
4
+ DisplayStyleGuide: true
5
+ Exclude:
6
+ - "bin/*"
7
+ - "db/schema.rb"
8
+ - "lib/templates/**/*"
9
+ - "**/node_modules/**/*"
10
+ - "tmp/**/*"
11
+ - "vendor/**/*"
12
+ - "log/**/*"
13
+
14
+ Layout/CaseIndentation:
15
+ Enabled: false
16
+
17
+ Layout/FirstArrayElementIndentation:
18
+ EnforcedStyle: consistent
19
+
20
+ Layout/HashAlignment:
21
+ Enabled: false
22
+
23
+ Layout/LineLength:
24
+ Max: 120
25
+
26
+ Layout/MultilineMethodCallIndentation:
27
+ EnforcedStyle: indented
28
+
29
+ Lint/AmbiguousBlockAssociation:
30
+ Enabled: false
31
+
32
+ Lint/ScriptPermission:
33
+ Exclude:
34
+ - "Rakefile"
35
+
36
+ Metrics/AbcSize:
37
+ Max: 35
38
+ Exclude:
39
+ - "spec/**/*"
40
+
41
+ Metrics/BlockLength:
42
+ CountComments: false
43
+ Max: 50
44
+ Exclude:
45
+ - "config/**/*"
46
+ - "spec/**/*"
47
+
48
+ Metrics/ClassLength:
49
+ Max: 250
50
+ Exclude:
51
+ - "spec/**/*"
52
+
53
+ Metrics/MethodLength:
54
+ Max: 25
55
+ Exclude:
56
+ - "db/migrate/*"
57
+ - "spec/**/*"
58
+
59
+ Naming/PredicateName:
60
+ Enabled: false
61
+
62
+ Security/YAMLLoad:
63
+ Enabled: false
64
+
65
+ Style/BarePercentLiterals:
66
+ EnforcedStyle: percent_q
67
+
68
+ Style/BlockDelimiters:
69
+ EnforcedStyle: braces_for_chaining
70
+
71
+ Style/Documentation:
72
+ Enabled: false
73
+
74
+ Style/EmptyMethod:
75
+ EnforcedStyle: expanded
76
+
77
+ Style/FrozenStringLiteralComment:
78
+ EnforcedStyle: never
79
+
80
+ Style/Lambda:
81
+ EnforcedStyle: literal
82
+
83
+ Style/ModuleFunction:
84
+ EnforcedStyle: extend_self
85
+
86
+ Style/MutableConstant:
87
+ Enabled: false
88
+
89
+ Style/PreferredHashMethods:
90
+ Enabled: false
91
+
92
+ Style/StringLiterals:
93
+ EnforcedStyle: double_quotes
94
+
95
+ Style/StringLiteralsInInterpolation:
96
+ EnforcedStyle: double_quotes
97
+
98
+ Style/TernaryParentheses:
99
+ EnforcedStyle: require_parentheses_when_complex
@@ -0,0 +1,2 @@
1
+ Performance/Casecmp:
2
+ Enabled: false
@@ -0,0 +1,33 @@
1
+ # Request and system specs by definition do not test specific classes/modules,
2
+ # so they are excluded from following the `describe ClassOrModule` rule.
3
+ RSpec/DescribeClass:
4
+ Exclude:
5
+ - "spec/features/**/*"
6
+ - "spec/requests/**/*"
7
+ - "spec/system/**/*"
8
+
9
+ # Prefer short examples but allow some flexibility (up to 12 lines). System
10
+ # specs are excluded from this cop because they often involve many sequential
11
+ # steps, and forcing these to be shorter can make them harder to follow.
12
+ RSpec/ExampleLength:
13
+ Max: 12 # Default is 5
14
+ Exclude:
15
+ - "spec/features/**/*"
16
+ - "spec/system/**/*"
17
+
18
+ # If an `it` block does not have a description (i.e. the example relies on
19
+ # RSpec magic to infer the description), then prefer it use the `is_expected`
20
+ # syntax instead of `expect(subject)`, like this:
21
+ # it { is_expected.to be_truthy }
22
+ RSpec/ImplicitSubject:
23
+ EnforcedStyle: single_statement_only
24
+
25
+ # Ideal BDD is to have one `expect` per example (so that each specification can
26
+ # have corresponding documentation in the form of an `it` block), but we allow
27
+ # some flexibility (up to 3). System specs are often long capybara flows with
28
+ # many expectations, so we exclude them from this cop.
29
+ RSpec/MultipleExpectations:
30
+ Max: 3 # Default is 1
31
+ Exclude:
32
+ - "spec/features/**/*"
33
+ - "spec/system/**/*"
@@ -0,0 +1,11 @@
1
+ require:
2
+ - rubocop-performance
3
+
4
+ inherit_from:
5
+ - ./.rubocop-common.yml
6
+ - ./.rubocop-performance.yml
7
+
8
+ Metrics/CyclomaticComplexity:
9
+ Max: 10
10
+ Metrics/PerceivedComplexity:
11
+ Max: 10
@@ -1 +1 @@
1
- 2.1.5
1
+ 2.6.6
data/Gemfile CHANGED
@@ -1,3 +1,8 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
+
3
+ group :test, :development do
4
+ gem "irb", require: false
5
+ gem "simplecov", require: false
6
+ end
2
7
 
3
8
  gemspec
@@ -1,26 +1,74 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mojo_magick (0.5.5)
4
+ mojo_magick (0.6.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- diff-lcs (1.2.4)
10
- multi_json (1.8.2)
11
- rake (0.9.2.2)
12
- rspec-expectations (2.14.3)
13
- diff-lcs (>= 1.1.3, < 2.0)
14
- simplecov (0.7.1)
15
- multi_json (~> 1.0)
16
- simplecov-html (~> 0.7.1)
17
- simplecov-html (0.7.1)
9
+ ast (2.4.1)
10
+ bundle-audit (0.1.0)
11
+ bundler-audit
12
+ bundler-audit (0.7.0.1)
13
+ bundler (>= 1.2.0, < 3)
14
+ thor (>= 0.18, < 2)
15
+ diff-lcs (1.4.4)
16
+ docile (1.3.5)
17
+ io-console (0.5.7)
18
+ irb (1.3.2)
19
+ reline (>= 0.1.5)
20
+ minitest (5.14.2)
21
+ parallel (1.19.2)
22
+ parser (2.7.2.0)
23
+ ast (~> 2.4.1)
24
+ rainbow (3.0.0)
25
+ rake (13.0.1)
26
+ regexp_parser (1.8.2)
27
+ reline (0.2.2)
28
+ io-console (~> 0.5)
29
+ rexml (3.2.4)
30
+ rspec-expectations (3.10.0)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.10.0)
33
+ rspec-support (3.10.0)
34
+ rubocop (1.1.0)
35
+ parallel (~> 1.10)
36
+ parser (>= 2.7.1.5)
37
+ rainbow (>= 2.2.2, < 4.0)
38
+ regexp_parser (>= 1.8)
39
+ rexml
40
+ rubocop-ast (>= 1.0.1)
41
+ ruby-progressbar (~> 1.7)
42
+ unicode-display_width (>= 1.4.0, < 2.0)
43
+ rubocop-ast (1.1.1)
44
+ parser (>= 2.7.1.5)
45
+ rubocop-performance (1.8.1)
46
+ rubocop (>= 0.87.0)
47
+ rubocop-ast (>= 0.4.0)
48
+ ruby-progressbar (1.10.1)
49
+ simplecov (0.21.2)
50
+ docile (~> 1.1)
51
+ simplecov-html (~> 0.11)
52
+ simplecov_json_formatter (~> 0.1)
53
+ simplecov-html (0.12.3)
54
+ simplecov_json_formatter (0.1.2)
55
+ thor (1.0.1)
56
+ unicode-display_width (1.7.0)
18
57
 
19
58
  PLATFORMS
20
59
  ruby
21
60
 
22
61
  DEPENDENCIES
62
+ bundle-audit
63
+ bundler
64
+ irb
65
+ minitest
23
66
  mojo_magick!
24
67
  rake
25
68
  rspec-expectations
69
+ rubocop
70
+ rubocop-performance
26
71
  simplecov
72
+
73
+ BUNDLED WITH
74
+ 1.17.2
data/README.md CHANGED
@@ -10,6 +10,7 @@ This tool came about because I wanted a fast, simple, lightweight, nothing-goes-
10
10
  because-it's-too-simple-to-break image tool.
11
11
 
12
12
  [![Gem Version](https://badge.fury.io/rb/mojo_magick.png)](http://badge.fury.io/rb/mojo_magick)
13
+ [![Build Status](https://circleci.com/gh/rcode5/mojo_magick/tree/master.svg?style=shield&circle-token=8d2252bd460bf1a7cdaad5c2e169698605afb981)]()
13
14
 
14
15
  Using it
15
16
  ========
@@ -17,11 +18,11 @@ Using it
17
18
  Add to your Gemfile
18
19
 
19
20
  gem 'mojo_magick'
20
-
21
+
21
22
  Require it in your ruby code
22
23
 
23
24
  require 'mojo_magick'
24
-
25
+
25
26
  Go to town! Check out a couple of simple [examples, here](examples/)
26
27
 
27
28
  Examples
@@ -138,7 +139,7 @@ complex commands.
138
139
 
139
140
  ### Get a list of available fonts
140
141
 
141
- fonts = MojoMagick::get_fonts
142
+ fonts = MojoMagick::available_fonts
142
143
 
143
144
  fonts.first
144
145
  => #<MojoMagick::Font:0x000001015a8b90 @name="AvantGarde-Book", @family="AvantGarde", @style="Normal", @stretch="Normal", @weight="400", @glyphs="/usr/local/share/ghostscript/fonts/a010013l.pfb">
@@ -196,7 +197,7 @@ Availablility
196
197
  Contributions
197
198
  =============
198
199
 
199
- Got a fix? Got a feature?
200
+ Got a fix? Got a feature?
200
201
 
201
202
  * fork it
202
203
  * make a branch (named appropriately)
@@ -210,6 +211,36 @@ in the new code
210
211
 
211
212
  Recent Changes
212
213
  ==============
214
+ #### Version 0.6.3
215
+
216
+ * Major cleanup and refactor (https://github.com/rcode5/mojo_magick/pull/33)
217
+ * Deprecated `MojoMagick.get_fonts` in favor of `MojoMagick.available_fonts`
218
+ * Moved `raw_command` and `execute` and `execute!` methods into their own module (and added deprecation warnings)
219
+ * Renamed `Util::Parser` to `Util::FontParser` because that's what it does
220
+ * Overall rubocop and ruby clean up
221
+
222
+ #### Version 0.6.2
223
+
224
+ * fix `annotate` option. Now it takes keyword arguments for geometry.
225
+
226
+ #### Version 0.6.1
227
+
228
+ * pushed and yanked - defunct version
229
+
230
+ #### Version 0.6.0
231
+
232
+ * general cleanup and update gems - ready for ImageMagick 7
233
+ * dumped resource limit handling
234
+ * PR #29, #30
235
+
236
+ #### Version 0.5.6
237
+
238
+ * add `get_format` method to help with quoted source file
239
+
240
+ #### Version 0.5.5
241
+
242
+ * Refactor raw_command into execute! and execute methods so that for cases where we don't care about exit status, it can be easily ignored
243
+
213
244
  #### Version 0.5.4
214
245
 
215
246
  * Include image magick commandline failure from raw_command (on failure)
data/Rakefile CHANGED
@@ -1,20 +1,22 @@
1
- require 'rubygems'
1
+ require "rubygems"
2
+ require "simplecov"
3
+ require "rake/testtask"
2
4
 
3
- task 'default' => :test
5
+ task default: [:test]
4
6
 
5
- desc "Default: run tests"
6
- task :test do
7
- require 'simplecov'
8
- SimpleCov.start
9
- require 'rake/runtest'
10
- files = Dir.glob(File.join(File.dirname(__FILE__), 'test/*_test.rb'))
11
- files.each do |f|
12
- Rake.run_tests f
13
- end
7
+ Rake::TestTask.new do |t|
8
+ t.libs = ["minitest"]
9
+ t.test_files = Dir.glob(File.join(File.dirname(__FILE__), "test/*_test.rb"))
10
+ t.verbose = true
14
11
  end
15
12
 
16
13
  desc "Build gem"
17
14
  task :build do
18
15
  `rm mojo_magick-*.gem`
19
- puts `gem build mojo_magick.gemspec`
16
+ puts `gem build mojo_magick.gemspec`
17
+ end
18
+
19
+ desc "Release"
20
+ task release: :build do
21
+ puts `gem push mojo_magick-*.gem`
20
22
  end
@@ -1,22 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
- #
2
+ require "mojo_magick"
3
3
 
4
- require 'mojo_magick'
5
-
6
- MojoMagick::convert(nil, 'animated.gif') do |c|
7
- c.size '200x200'
4
+ MojoMagick.convert(nil, "animated.gif") do |c|
5
+ c.size "200x200"
8
6
  c.delay 100
9
7
  c.image_block do # first layer
10
- c.background 'blue'
11
- c.fill 'white'
12
- c.gravity 'northwest'
13
- c.label 'NW'
8
+ c.background "blue"
9
+ c.fill "white"
10
+ c.gravity "northwest"
11
+ c.label "NW"
14
12
  end
15
13
  c.image_block do # second layer
16
- c.background 'transparent'
17
- c.fill 'red'
18
- c.gravity 'southeast'
19
- c.label 'SE'
14
+ c.background "transparent"
15
+ c.fill "red"
16
+ c.gravity "southeast"
17
+ c.label "SE"
20
18
  end
21
19
  end
22
-
@@ -1,23 +1,20 @@
1
1
  #!/usr/bin/env ruby
2
- #
2
+ require "mojo_magick"
3
3
 
4
- require 'mojo_magick'
5
-
6
- MojoMagick::convert(nil, 'composite_out.png') do |c|
7
- c.size '200x200'
4
+ MojoMagick.convert(nil, "composite_out.png") do |c|
5
+ c.size "200x200"
8
6
  c.delay 100
9
7
  c.image_block do # first layer
10
- c.background 'blue'
11
- c.fill 'white'
12
- c.gravity 'northwest'
13
- c.label 'NW'
8
+ c.background "blue"
9
+ c.fill "white"
10
+ c.gravity "northwest"
11
+ c.label "NW"
14
12
  end
15
13
  c.image_block do # second layer
16
- c.background 'transparent'
17
- c.fill 'red'
18
- c.gravity 'southeast'
19
- c.label 'SE'
14
+ c.background "transparent"
15
+ c.fill "red"
16
+ c.gravity "southeast"
17
+ c.label "SE"
20
18
  end
21
19
  c.composite
22
20
  end
23
-