rgb2hex 0.0.2 → 0.0.3

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/rgb2hex +9 -1
  3. data/lib/rgb2hex.rb +25 -2
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7731b6a857831bd4c9591dc505d0acb17ecf96e
4
- data.tar.gz: f4320f749c12e89ee0976424dc60b1b7ebc34f5f
3
+ metadata.gz: 5d262f752ad806269f4ef1af3c5c27377e9919e5
4
+ data.tar.gz: 3ce37aa1767b04f61cbe634292b8ed750d401c0e
5
5
  SHA512:
6
- metadata.gz: 7853a5844b220ef2eba39e58f63e63e71dd07629272f18f2d83c77614884d13a204564c634c9033534ff4f598db58645a56fc61c3c1f8430c692c0db8f499b13
7
- data.tar.gz: 08cad9197572ccd14109a2362a732fb93a6c5e4e061c16513e54d3597ac1b73b2c235e3fb3305e3cbd9430f4601ec407cef92e47b60f05d351b95d27426b70a9
6
+ metadata.gz: 91fbd79f2fe3f0a03dd35e25513c16d3ca560d5dbfe75421d9f31eca0e184b74e3e8e213276bb57a41761185f72ddfa5c1656b527968ef7ea85f35ed6cb9a4cc
7
+ data.tar.gz: e1dcb29c49ba1bd3d85461470b3fc1789d04901c5e5efffe1a5c423d7ab719cfbc82f651e82e17d29eb380c2369a94b2b6b30ec6e19b989fb82507e45d708320
data/bin/rgb2hex CHANGED
@@ -1,4 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rgb2hex'
4
- puts Rgb2Hex.convert(ARGV[0].to_i, ARGV[1].to_i, ARGV[2].to_i)
4
+
5
+ case ARGV.length
6
+ when 1
7
+ puts Rgb2Hex.convert(ARGV[0])
8
+ when 3
9
+ puts Rgb2Hex.convert(ARGV[0], ARGV[1], ARGV[2])
10
+ else
11
+ puts "illegal number of input arguments"
12
+ end
data/lib/rgb2hex.rb CHANGED
@@ -11,11 +11,34 @@ class Rgb2Hex
11
11
  # green: (Integer)
12
12
  # blue: (Integer)
13
13
 
14
- def self.convert(red = 0, green = 0, blue = 0)
14
+ def self.convert(*vals)
15
+ red = green = blue = 0
16
+
17
+ case vals.length
18
+ when 0
19
+ #do nothing
20
+ when 1
21
+ matched = vals[0].to_s.match( /.*?(-?\d+).*?(-?\d+).*?(-?\d+).*?/ )
22
+ red = matched[1].to_i
23
+ green = matched[2].to_i
24
+ blue = matched[3].to_i
25
+ when 3
26
+ red = vals[0].to_s.match( /-?\d+/ )[0].to_i
27
+ green = vals[1].to_s.match( /-?\d+/ )[0].to_i
28
+ blue = vals[2].to_s.match( /-?\d+/ )[0].to_i
29
+ else
30
+ return "illegal number of input arguments"
31
+ end
32
+
33
+ actual_convertion(red, green, blue)
34
+ end
35
+
36
+ private
37
+
38
+ def self.actual_convertion(red = 0, green = 0, blue = 0)
15
39
  raise ArgumentError, "input argument is less than 0", caller if [red, green, blue].min < 0
16
40
  raise ArgumentError, "input argument is more than 255", caller if [red, green, blue].max > 255
17
41
 
18
-
19
42
  "#" + ("%02x" % red) + ("%02x" % green) + ("%02x" % blue)
20
43
  end
21
44
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rgb2hex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Zelenkov
@@ -19,7 +19,7 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - lib/rgb2hex.rb
21
21
  - bin/rgb2hex
22
- homepage: http://rubygems.org/gems/rgb2hex
22
+ homepage: https://github.com/zjjz/180-tools/tree/master/001-rgb2hex
23
23
  licenses: []
24
24
  metadata: {}
25
25
  post_install_message: