rgb2hex 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: