iz 0.2.1 → 0.3.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 +4 -4
- data/lib/iz/hex_color.rb +23 -0
- data/lib/iz/version.rb +1 -1
- data/lib/iz.rb +6 -0
- data/test/test_hex_color.rb +25 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea09e4303256e6f3d30282602deecd73e574c3c1
|
4
|
+
data.tar.gz: 59c737295b6f0c7c2121d4696d6f1c6d969db545
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1aad320d00ec5f28a14574fc0bb6a851062e1da838a15d84cbad2ef9725b3603d9c1d630d13ac831851c2ac482e560ccc973b66313cd68995122779f94616645
|
7
|
+
data.tar.gz: 5d0dd294f21c550e1fd42900a1c9312766e4a396111b682686ced1164f799c65cf2593ec1612cf0a13a81419318166813b1b8142d6b616ba82cd4fefe21228cc
|
data/lib/iz/hex_color.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
module Iz
|
2
|
+
class HexColor
|
3
|
+
REGEX = /^([0-9a-f]{3}|[0-9a-f]{6})$/i
|
4
|
+
|
5
|
+
attr_accessor :value
|
6
|
+
|
7
|
+
def initialize(hex_color)
|
8
|
+
self.value = hex_color
|
9
|
+
end
|
10
|
+
|
11
|
+
def valid?
|
12
|
+
!!Iz::HexColor.is_hex_color?(value)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.is_hex_color?(value)
|
16
|
+
val = value.to_s
|
17
|
+
return false unless val[0] == '#'
|
18
|
+
|
19
|
+
val[0] = ''
|
20
|
+
val =~ REGEX
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/iz/version.rb
CHANGED
data/lib/iz.rb
CHANGED
@@ -4,6 +4,8 @@ require 'iz/alphanumeric'
|
|
4
4
|
require 'iz/phone_number'
|
5
5
|
require 'iz/credit_card'
|
6
6
|
require 'iz/hexadecimal'
|
7
|
+
require 'iz/hex_color'
|
8
|
+
require 'iz/hex_color'
|
7
9
|
require 'iz/binary'
|
8
10
|
require 'iz/email'
|
9
11
|
require 'iz/mac'
|
@@ -18,6 +20,10 @@ module Iz
|
|
18
20
|
!!Iz::Hexadecimal.is_hexadecimal?(hexadecimal)
|
19
21
|
end
|
20
22
|
|
23
|
+
def self.hex_color?(hex_color)
|
24
|
+
!!Iz::HexColor.is_hex_color?(hex_color)
|
25
|
+
end
|
26
|
+
|
21
27
|
def self.email?(email)
|
22
28
|
!!Iz::Email.is_email?(email)
|
23
29
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'iz'
|
3
|
+
|
4
|
+
class TestHexColor < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def valid_hex_colors
|
7
|
+
['#123', '#1bc', '#AB9', '#888aaa']
|
8
|
+
end
|
9
|
+
|
10
|
+
def invalid_hex_colors
|
11
|
+
[nil, false, -1, '', ' ', 'g', '#1234']
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_that_hex_color_values_return_true
|
15
|
+
valid_hex_colors.each do |hex|
|
16
|
+
assert Iz.hex_color?(hex)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_that_invalid_hex_color_values_return_false
|
21
|
+
invalid_hex_colors.each do |hex|
|
22
|
+
assert !Iz.hex_color?(hex)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Otander
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- lib/iz/binary.rb
|
72
72
|
- lib/iz/credit_card.rb
|
73
73
|
- lib/iz/email.rb
|
74
|
+
- lib/iz/hex_color.rb
|
74
75
|
- lib/iz/hexadecimal.rb
|
75
76
|
- lib/iz/mac.rb
|
76
77
|
- lib/iz/phone_number.rb
|
@@ -80,6 +81,7 @@ files:
|
|
80
81
|
- test/test_binary.rb
|
81
82
|
- test/test_credit_card.rb
|
82
83
|
- test/test_email.rb
|
84
|
+
- test/test_hex_color.rb
|
83
85
|
- test/test_hexadecimal.rb
|
84
86
|
- test/test_mac.rb
|
85
87
|
- test/test_phone_number.rb
|
@@ -104,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
106
|
version: '0'
|
105
107
|
requirements: []
|
106
108
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.
|
109
|
+
rubygems_version: 2.5.1
|
108
110
|
signing_key:
|
109
111
|
specification_version: 4
|
110
112
|
summary: All your type checking in one place.
|
@@ -113,6 +115,7 @@ test_files:
|
|
113
115
|
- test/test_binary.rb
|
114
116
|
- test/test_credit_card.rb
|
115
117
|
- test/test_email.rb
|
118
|
+
- test/test_hex_color.rb
|
116
119
|
- test/test_hexadecimal.rb
|
117
120
|
- test/test_mac.rb
|
118
121
|
- test/test_phone_number.rb
|