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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39f774e24ba04222bf296e8e36ed7451be0337a4
4
- data.tar.gz: d2befe437a14d8992b8eb217faccc507e9fcd60b
3
+ metadata.gz: 331dc43be92db444c79692e9e28b6362e3187696
4
+ data.tar.gz: 1ca96a306a536e8700daa6d563315c37cf1a8e37
5
5
  SHA512:
6
- metadata.gz: 3c382dcd023de455bf042dd31dd8b394278847fdac56636e909b2443577fd43d8218d37b34482dc82e33767d6fff4958adeffa01da1d44b63147e988a14d0657
7
- data.tar.gz: 471a2e0a66b8c81f59d2c97112ac26bf815cff6b48b7af0460af7da345b2af7f401f45dce534ea09514b81b03e20e10350b13704e60c6f8dad7b9f7f076d80b6
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.1'
2
+ VERSION = '1.0.2'
3
3
  end
4
4
 
5
5
  class String
6
6
  def availablize
7
- if self[-1] == 'e'
8
- self + 'ble'
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') + 'able'
35
+ self.gsub(/y$/, 'iz') + suffix
11
36
  end
12
37
  end
13
38
  end
@@ -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.1
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: