pixelchart 1.0.1 → 1.1.0

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
2
  SHA256:
3
- metadata.gz: 1e012a46e162173916b5e188d593a61704855bc36ca6c1039ee5bf288db47013
4
- data.tar.gz: 9dd4970255464fef969837e132c56a394e714e17ee95554fe76be9529c5839c3
3
+ metadata.gz: a1f640ed1d4efd1ddce15e9cad71409d881b573cbd7f4f5c2bcebe1a1ae9858b
4
+ data.tar.gz: d1e054a27279e09afcb2ee911a952491f66a60807ee2d73a84fef80765652867
5
5
  SHA512:
6
- metadata.gz: 2b4e60fc67e806e93a0ce37f70d19dbcc23c7267a9763dfae99bf58450bb0dcab19295a5da9570e9fb7e8bdecceb4571b2509cb3e48d1ee3cede5231012a653b
7
- data.tar.gz: fa9dbc116d968e64fab6a5e8a1ffc874a7699fd82d29ca85511896b05754f5e87d283052988607427c4a237f09a551fdfd1895ad833c4c3b864427536dac1283
6
+ metadata.gz: 0605e4ce1ea180a02c6c38214f52b73e3d365e15eaf35831171a9164bffe034f662d95890f5803087f7d76f48c4e10aae1d77a8cfb241baa16e3698be02d2791
7
+ data.tar.gz: aa3ed4456b1b790aea5f2d3af44ef3421a1799865c81d35a65152ee55c780e9229ac297aafb9350551f2399a0ba63e9a1fc7e49b2bf2848fa28be427c526c519
data/bin/pixelchart CHANGED
@@ -24,7 +24,7 @@ doc = <<~DOCOPT
24
24
  -w <pixel>, --width <pixel> Width of the output image (in number pixel)
25
25
  -h <pixel>, --height <pixel> Height of the output image (in number pixel)
26
26
  -c <colors>, --colors <colors> Colors of the image (in RGB or random)
27
- -b <name>, --backend <name> Image processing backend (rmagick or ruby-vips)
27
+ -b <name>, --backend <name> Image processing backend (rmagick or rubyvips)
28
28
  -s <ratio>, --scale <ratio> Scale ratio or dimensions
29
29
  --area <size> Area, number of values, total number of pixel
30
30
  --no-color Disable colorized output
@@ -70,7 +70,7 @@ begin
70
70
  end
71
71
  pc = PixelChart.new(data, width, height, opts)
72
72
  pc.draw(filename, opts)
73
- puts Paint['[+]', :green] + ' Image saved'
73
+ puts "#{Paint['[+]', :green]} Image saved"
74
74
  elsif args['calc']
75
75
  dimensions = nil
76
76
  if args['--area']
@@ -81,7 +81,7 @@ begin
81
81
  end
82
82
  puts 'Possible dimensions: width x height or height x width'
83
83
  dimensions.each do |xy|
84
- puts Paint[xy[0], :magenta] + ' x ' + Paint[xy[1], :magenta]
84
+ puts "#{Paint[xy[0], :magenta]} x #{Paint[xy[1], :magenta]}"
85
85
  end
86
86
  end
87
87
  rescue Docopt::Exit => e
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Version
4
- VERSION = '1.0.1'
4
+ VERSION = '1.1.0'
5
5
  end
data/lib/pixelchart.rb CHANGED
@@ -19,7 +19,7 @@ class PixelChart
19
19
  # @param width [Integer] Desired width of the image.
20
20
  # @param height [Integer] Desired height of the image.
21
21
  # @option opts [Array<Color>] :colors Must be an array containing 2 values.
22
- # Each value is either the +:random+ symbol to get a random color or a
22
+ # Each value is either the `:random` symbol to get a random color or a
23
23
  # color given as RGB, so 3 integers in an array.
24
24
  # @option opts [Scale] :scale Scale the image to dimensions or with a ratio.
25
25
  # Ratio must be a positive (non-nul) float or integer, and dimensions must
@@ -41,14 +41,15 @@ class PixelChart
41
41
  # Generate and save the image
42
42
  # @param filename [String] Name of the output image.
43
43
  # @param opts [Hash] options for image processing
44
- # @option opts [Symbol] :backend Image processing backend, +:rmagick+ for
45
- # Rmagick/Imagemagick or +:rubyvips+ for ruby-vips/libvips.
44
+ # @option opts [Symbol] :backend Image processing backend, `:rmagick` for
45
+ # Rmagick/Imagemagick or `:rubyvips` for ruby-vips/libvips.
46
46
  def draw(filename, opts = {})
47
47
  opts[:backend] ||= :rmagick
48
48
  backend = check_backend(opts[:backend])
49
- if backend == :rmagick
49
+ case backend
50
+ when :rmagick
50
51
  draw_rmagick(filename)
51
- elsif backend == :rubyvips
52
+ when :rubyvips
52
53
  draw_rubyvips(filename)
53
54
  end
54
55
  end
@@ -103,13 +104,12 @@ class PixelChart
103
104
  end
104
105
  end
105
106
  unless @scale.nil?
106
- if @scale.is_a?(Numeric)
107
- if @scale.zero?
108
- raise(ArgumentError, 'Scale must be a ratio or a set of width and height')
109
- end
107
+ case @scale
108
+ when Numeric
109
+ raise(ArgumentError, 'Scale must be a ratio or a set of width and height') if @scale.zero?
110
110
 
111
111
  img.scale!(@scale)
112
- elsif @scale.is_a?(Array)
112
+ when Array
113
113
  img.scale!(@scale[0], @scale[1])
114
114
  else
115
115
  raise(ArgumentError, 'Scale must be a ratio or a set of width and height')
@@ -138,9 +138,7 @@ class PixelChart
138
138
  # @param data [Object] The object to check
139
139
  # @return [Object] Untouched input object
140
140
  def check_int(data)
141
- unless data.is_a?(Integer)
142
- raise(ArgumentError, 'Argument is not an integer')
143
- end
141
+ raise(ArgumentError, 'Argument is not an integer') unless data.is_a?(Integer)
144
142
 
145
143
  data
146
144
  end
@@ -170,18 +168,15 @@ class PixelChart
170
168
  raise(ArgumentError, 'Argument is not an array') unless data.is_a?(Array)
171
169
 
172
170
  data.each do |item|
173
- if item == :random
171
+ case item
172
+ when :random
174
173
  # nothing
175
- elsif item.is_a?(Array)
174
+ when Array
176
175
  raise(ArgumentError, 'RGB must contains 3 values') unless item.size == 3
177
176
 
178
177
  item.each do |i|
179
- unless i.is_a?(Integer)
180
- raise(ArgumentError, 'RGB values are not integers')
181
- end
182
- unless (0..255).include?(i)
183
- raise(ArgumentError, 'RGB values must be between 0 and 255')
184
- end
178
+ raise(ArgumentError, 'RGB values are not integers') unless i.is_a?(Integer)
179
+ raise(ArgumentError, 'RGB values must be between 0 and 255') unless (0..255).include?(i)
185
180
  end
186
181
  else
187
182
  raise(ArgumentError, 'Colors are not a RGB array or :random')
@@ -196,9 +191,7 @@ class PixelChart
196
191
  # @return [Object] Untouched input object
197
192
  def check_backend(data)
198
193
  accepted_values = %i[rmagick rubyvips]
199
- unless accepted_values.include?(data)
200
- raise(ArgumentError, "Backend must be #{accepted_values.join(' or ')}")
201
- end
194
+ raise(ArgumentError, "Backend must be #{accepted_values.join(' or ')}") unless accepted_values.include?(data)
202
195
 
203
196
  data
204
197
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pixelchart
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre ZANNI
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-09 00:00:00.000000000 Z
11
+ date: 2022-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docopt
@@ -66,118 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.0'
69
- - !ruby/object:Gem::Dependency
70
- name: bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2.1'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '2.1'
83
- - !ruby/object:Gem::Dependency
84
- name: commonmarker
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.21'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.21'
97
- - !ruby/object:Gem::Dependency
98
- name: github-markup
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '3.0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '3.0'
111
- - !ruby/object:Gem::Dependency
112
- name: minitest
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '5.12'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '5.12'
125
- - !ruby/object:Gem::Dependency
126
- name: rake
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '13.0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '13.0'
139
- - !ruby/object:Gem::Dependency
140
- name: redcarpet
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '3.5'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '3.5'
153
- - !ruby/object:Gem::Dependency
154
- name: rubocop
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '0.80'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '0.80'
167
- - !ruby/object:Gem::Dependency
168
- name: yard
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '0.9'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '0.9'
181
69
  description: Create a binary pixel map
182
70
  email: alexandre.zanni@engineer.com
183
71
  executables:
@@ -189,33 +77,37 @@ files:
189
77
  - bin/pixelchart
190
78
  - lib/pixelchart.rb
191
79
  - lib/pixelchart/version.rb
192
- homepage: https://pixelchart.cf/
80
+ homepage: https://noraj.github.io/PixelChart/
193
81
  licenses:
194
82
  - MIT
195
83
  metadata:
196
84
  yard.run: yard
197
85
  bug_tracker_uri: https://github.com/noraj/PixelChart/issues
198
86
  changelog_uri: https://github.com/noraj/PixelChart/blob/master/pages/CHANGELOG.md
199
- documentation_uri: https://pixelchart.cf/yard/
200
- homepage_uri: https://pixelchart.cf/
87
+ documentation_uri: https://noraj.github.io/PixelChart/yard/
88
+ homepage_uri: https://noraj.github.io/PixelChart/
201
89
  source_code_uri: https://github.com/noraj/PixelChart
202
- post_install_message:
90
+ rubygems_mfa_required: 'true'
91
+ post_install_message:
203
92
  rdoc_options: []
204
93
  require_paths:
205
94
  - lib
206
95
  required_ruby_version: !ruby/object:Gem::Requirement
207
96
  requirements:
208
- - - "~>"
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: 2.7.0
100
+ - - "<"
209
101
  - !ruby/object:Gem::Version
210
- version: '2.4'
102
+ version: '3.2'
211
103
  required_rubygems_version: !ruby/object:Gem::Requirement
212
104
  requirements:
213
105
  - - ">="
214
106
  - !ruby/object:Gem::Version
215
107
  version: '0'
216
108
  requirements: []
217
- rubygems_version: 3.1.2
218
- signing_key:
109
+ rubygems_version: 3.3.3
110
+ signing_key:
219
111
  specification_version: 4
220
112
  summary: Create a binary pixel map
221
113
  test_files: []