pixelchart 1.0.1 → 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
  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: []