availablizer 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/availablizer.rb +29 -4
- data/test/test_availablizer.rb +21 -0
- metadata +1 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 331dc43be92db444c79692e9e28b6362e3187696
|
4
|
+
data.tar.gz: 1ca96a306a536e8700daa6d563315c37cf1a8e37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0d84bc2c0b3b4a378d1a91de7f5b6e2762b7c68e0818dac73809cd4bb4966be401f005bdb7838caba368e3796904177839c0cce54a8f39907eb0059866ad432
|
7
|
+
data.tar.gz: 8d991deef077d0cd13987f87a8d55c0c6926f2b08023d7f3f5e52e5def7129016009d2fcfde6d9ee66ff4ca7e98011307fed5fe4807f7b3d3525fb973f0eaaee
|
data/lib/availablizer.rb
CHANGED
@@ -1,13 +1,38 @@
|
|
1
1
|
module Availablizer
|
2
|
-
VERSION = '1.0.
|
2
|
+
VERSION = '1.0.2'
|
3
3
|
end
|
4
4
|
|
5
5
|
class String
|
6
6
|
def availablize
|
7
|
-
|
8
|
-
|
7
|
+
as_is = %w(like peace)
|
8
|
+
ibles = %w(access collapse compat defense fall sense insense response reverse suggest contempt convert flex gull terrify horrify plausible)
|
9
|
+
|
10
|
+
if ibles.include? self
|
11
|
+
suffix = 'ible'
|
12
|
+
else
|
13
|
+
suffix = 'able'
|
14
|
+
end
|
15
|
+
|
16
|
+
if self == 'navigate'
|
17
|
+
'navigable'
|
18
|
+
elsif self[-2..-1] == 'et'
|
19
|
+
self + 't' + suffix
|
20
|
+
elsif self[-1] == 'e'
|
21
|
+
if suffix == 'ible'
|
22
|
+
self[0..-2] + suffix
|
23
|
+
elsif as_is.include? self
|
24
|
+
self + suffix
|
25
|
+
else
|
26
|
+
self + 'ble'
|
27
|
+
end
|
28
|
+
elsif self[-2..-1] == 'fy'
|
29
|
+
if suffix == 'ible'
|
30
|
+
self.gsub(/ify$/, suffix)
|
31
|
+
else
|
32
|
+
self.gsub(/fy$/, 'fi') + suffix
|
33
|
+
end
|
9
34
|
else
|
10
|
-
self.gsub(/y$/, 'iz') +
|
35
|
+
self.gsub(/y$/, 'iz') + suffix
|
11
36
|
end
|
12
37
|
end
|
13
38
|
end
|
data/test/test_availablizer.rb
CHANGED
@@ -9,5 +9,26 @@ class TestAvailablizer < MiniTest::Test
|
|
9
9
|
assert_equal 'read'.availablize, 'readable'
|
10
10
|
assert_equal 'scare'.availablize, 'scareble'
|
11
11
|
assert_equal 'category'.availablize, 'categorizable'
|
12
|
+
assert_equal 'navigate'.availablize, 'navigable'
|
13
|
+
assert_equal 'access'.availablize, 'accessible'
|
14
|
+
assert_equal 'collapse'.availablize, 'collapsible'
|
15
|
+
assert_equal 'compat'.availablize, 'compatible'
|
16
|
+
assert_equal 'defense'.availablize, 'defensible'
|
17
|
+
assert_equal 'fall'.availablize, 'fallible'
|
18
|
+
assert_equal 'sense'.availablize, 'sensible'
|
19
|
+
assert_equal 'insense'.availablize, 'insensible'
|
20
|
+
assert_equal 'response'.availablize, 'responsible'
|
21
|
+
assert_equal 'reverse'.availablize, 'reversible'
|
22
|
+
assert_equal 'suggest'.availablize, 'suggestible'
|
23
|
+
assert_equal 'contempt'.availablize, 'contemptible'
|
24
|
+
assert_equal 'convert'.availablize, 'convertible'
|
25
|
+
assert_equal 'flex'.availablize, 'flexible'
|
26
|
+
assert_equal 'gull'.availablize, 'gullible'
|
27
|
+
assert_equal 'terrify'.availablize, 'terrible'
|
28
|
+
assert_equal 'horrify'.availablize, 'horrible'
|
29
|
+
assert_equal 'regret'.availablize, 'regrettable'
|
30
|
+
assert_equal 'forget'.availablize, 'forgettable'
|
31
|
+
assert_equal 'like'.availablize, 'likeable'
|
32
|
+
assert_equal 'specify'.availablize, 'specifiable'
|
12
33
|
end
|
13
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: availablizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masaki Komagata
|
@@ -94,4 +94,3 @@ specification_version: 4
|
|
94
94
|
summary: Converting string to availablize.
|
95
95
|
test_files:
|
96
96
|
- test/test_availablizer.rb
|
97
|
-
has_rdoc:
|