inflection 0.1.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/inflection.gemspec +3 -2
- data/spec/inflection +188 -0
- data/spec/inflection.rb +30 -0
- data/spec/injective +3 -0
- metadata +27 -44
- data/test/setup.rb +0 -15
- data/test/suite/lib/inflection +0 -189
- data/test/suite/lib/inflection.rb +0 -40
- data/test/suite/lib/injective +0 -4
data/inflection.gemspec
CHANGED
@@ -2,16 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{inflection}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "1.0.0"
|
6
6
|
|
7
7
|
s.authors = ["Dan Kubb", "Simon Hafner"]
|
8
|
+
s.email = ["hafnersimon", "gmail.com"].join(64.chr)
|
8
9
|
s.description = %q{Support library for inflections}
|
9
10
|
s.extra_rdoc_files = [
|
10
11
|
"LICENSE",
|
11
12
|
"README.rdoc"
|
12
13
|
]
|
13
14
|
s.files = `git ls-files`.split("\n")
|
14
|
-
s.homepage = %q{http://github.com/Tass/extlib}
|
15
|
+
s.homepage = %q{http://github.com/Tass/extlib/tree/inflection}
|
15
16
|
s.rdoc_options = ["--charset=UTF-8"]
|
16
17
|
s.require_paths = ["lib"]
|
17
18
|
s.rubygems_version = %q{1.3.7}
|
data/spec/inflection
ADDED
@@ -0,0 +1,188 @@
|
|
1
|
+
ability abilities
|
2
|
+
account accounts
|
3
|
+
address addresses
|
4
|
+
agency agencies
|
5
|
+
alga algae
|
6
|
+
alias aliases
|
7
|
+
alumna alumnae
|
8
|
+
alumnus alumni
|
9
|
+
analysis analyses
|
10
|
+
appendix appendices
|
11
|
+
archive archives
|
12
|
+
arena arenas
|
13
|
+
article articles
|
14
|
+
asset assets
|
15
|
+
athlete athletes
|
16
|
+
attachment attachments
|
17
|
+
axis axes
|
18
|
+
basis bases
|
19
|
+
book books
|
20
|
+
bookie bookies
|
21
|
+
box boxes
|
22
|
+
branch branches
|
23
|
+
buffalo buffaloes
|
24
|
+
bus buses
|
25
|
+
buy buys
|
26
|
+
case cases
|
27
|
+
cactus cacti
|
28
|
+
cat cats
|
29
|
+
category categories
|
30
|
+
child children
|
31
|
+
city cities
|
32
|
+
comment comments
|
33
|
+
commit commits
|
34
|
+
cookie cookies
|
35
|
+
cow cows
|
36
|
+
crisis crises
|
37
|
+
criterion criteria
|
38
|
+
cross crosses
|
39
|
+
crunch crunches
|
40
|
+
cry cries
|
41
|
+
date dates
|
42
|
+
datum data
|
43
|
+
day days
|
44
|
+
diagnosis diagnoses
|
45
|
+
die dice
|
46
|
+
document documents
|
47
|
+
download downloads
|
48
|
+
drive drives
|
49
|
+
dwarf dwarves
|
50
|
+
edge edges
|
51
|
+
edition editions
|
52
|
+
elf elves
|
53
|
+
equipment equipment
|
54
|
+
erratum errata
|
55
|
+
event events
|
56
|
+
experience experiences
|
57
|
+
fish fish
|
58
|
+
fix fixes
|
59
|
+
fly flies
|
60
|
+
focus foci
|
61
|
+
foobar foobars
|
62
|
+
formula formulae
|
63
|
+
forum fora
|
64
|
+
fox foxes
|
65
|
+
friend friends
|
66
|
+
fruit fruits
|
67
|
+
fungus fungi
|
68
|
+
game games
|
69
|
+
german germans
|
70
|
+
goose geese
|
71
|
+
grass grass
|
72
|
+
guy guys
|
73
|
+
half halves
|
74
|
+
hero heroes
|
75
|
+
hippopotamus hippopotami
|
76
|
+
hive hives
|
77
|
+
horse horses
|
78
|
+
house houses
|
79
|
+
hovercraft hovercraft
|
80
|
+
human humans
|
81
|
+
income incomes
|
82
|
+
index indices
|
83
|
+
information information
|
84
|
+
installation installations
|
85
|
+
invoice invoices
|
86
|
+
job jobs
|
87
|
+
joy joys
|
88
|
+
life lives
|
89
|
+
link links
|
90
|
+
location locations
|
91
|
+
louse lice
|
92
|
+
man men
|
93
|
+
map maps
|
94
|
+
mash mashes
|
95
|
+
matrix_fu matrix_fus
|
96
|
+
matrix matrices
|
97
|
+
medium media
|
98
|
+
memorandum memoranda
|
99
|
+
milk milk
|
100
|
+
money money
|
101
|
+
moose moose
|
102
|
+
mouse mice
|
103
|
+
move moves
|
104
|
+
movie movies
|
105
|
+
mysql mysql
|
106
|
+
nebula nebulae
|
107
|
+
newsletter newsletters
|
108
|
+
news news
|
109
|
+
node_child node_children
|
110
|
+
octopus octopi
|
111
|
+
old_news old_news
|
112
|
+
ox oxen
|
113
|
+
package packages
|
114
|
+
penis penises
|
115
|
+
person people
|
116
|
+
perspective perspectives
|
117
|
+
phenomenon phenomena
|
118
|
+
photo photos
|
119
|
+
ping pings
|
120
|
+
plus plusses
|
121
|
+
pokemon pokemon
|
122
|
+
pokémon pokémon
|
123
|
+
portfolio portfolios
|
124
|
+
postgres postgres
|
125
|
+
post posts
|
126
|
+
potato potatoes
|
127
|
+
prey preys
|
128
|
+
price prices
|
129
|
+
prize prizes
|
130
|
+
process processes
|
131
|
+
product products
|
132
|
+
project projects
|
133
|
+
proof proofs
|
134
|
+
query queries
|
135
|
+
quiz quizzes
|
136
|
+
radius radii
|
137
|
+
rain rain
|
138
|
+
rat rats
|
139
|
+
ray rays
|
140
|
+
rice rice
|
141
|
+
rookie rookies
|
142
|
+
rose roses
|
143
|
+
safe saves
|
144
|
+
salesperson salespeople
|
145
|
+
schedule schedules
|
146
|
+
search searches
|
147
|
+
series series
|
148
|
+
server servers
|
149
|
+
shaman shamans
|
150
|
+
sheep sheep
|
151
|
+
shelf shelves
|
152
|
+
shoe shoes
|
153
|
+
song songs
|
154
|
+
spam spams
|
155
|
+
species species
|
156
|
+
spokesman spokesmen
|
157
|
+
sportsman sportsmen
|
158
|
+
spray sprays
|
159
|
+
stack stacks
|
160
|
+
status_code status_codes
|
161
|
+
status statuses
|
162
|
+
stimulus stimuli
|
163
|
+
Swiss Swiss
|
164
|
+
switch switches
|
165
|
+
syllabus syllabi
|
166
|
+
talisman talismans
|
167
|
+
testis testes
|
168
|
+
thesaurus thesauri
|
169
|
+
thesis theses
|
170
|
+
thief thieves
|
171
|
+
ticket tickets
|
172
|
+
tomato tomatoes
|
173
|
+
tooth teeth
|
174
|
+
torpedo torpedoes
|
175
|
+
tournament tournaments
|
176
|
+
toy toys
|
177
|
+
trash trashes
|
178
|
+
typo typos
|
179
|
+
url urls
|
180
|
+
version versions
|
181
|
+
vertebra vertebrae
|
182
|
+
vertex vertices
|
183
|
+
virus viruses
|
184
|
+
vita vitae
|
185
|
+
wife wives
|
186
|
+
wish wishes
|
187
|
+
woman women
|
188
|
+
zero zeroes
|
data/spec/inflection.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
|
2
|
+
require 'inflection'
|
3
|
+
require 'minitest/autorun'
|
4
|
+
|
5
|
+
def examples(filename, &block)
|
6
|
+
File.open(File.expand_path('inflection', File.dirname(__FILE__))).each_line do |line|
|
7
|
+
block.call(line.split)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe ::Inflection do
|
12
|
+
describe "convert singular <=> plural" do
|
13
|
+
examples('inflection') do |singular, plural|
|
14
|
+
it "should convert from %s to %s" % [singular, plural] do
|
15
|
+
::Inflection.plural(singular).must_equal plural
|
16
|
+
end
|
17
|
+
it "and back" do
|
18
|
+
::Inflection.singular(plural).must_equal singular
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "convert plural => singular" do
|
24
|
+
examples('injective') do |singular, plural|
|
25
|
+
it "should convert from %s to %s" % [singular, plural] do
|
26
|
+
::Inflection.singular(plural).must_equal singular
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/spec/injective
ADDED
metadata
CHANGED
@@ -1,75 +1,58 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: inflection
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
version: 0.1.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Dan Kubb
|
13
9
|
- Simon Hafner
|
14
10
|
autorequire:
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2010-07-07 00:00:00 +02:00
|
19
|
-
default_executable:
|
13
|
+
date: 2011-11-12 00:00:00.000000000 Z
|
20
14
|
dependencies: []
|
21
|
-
|
22
15
|
description: Support library for inflections
|
23
|
-
email:
|
16
|
+
email: hafnersimon@gmail.com
|
24
17
|
executables: []
|
25
|
-
|
26
18
|
extensions: []
|
27
|
-
|
28
|
-
extra_rdoc_files:
|
19
|
+
extra_rdoc_files:
|
29
20
|
- LICENSE
|
30
21
|
- README.rdoc
|
31
|
-
files:
|
22
|
+
files:
|
32
23
|
- .gitignore
|
33
24
|
- LICENSE
|
34
25
|
- README.rdoc
|
35
26
|
- VERSION
|
36
27
|
- inflection.gemspec
|
37
28
|
- lib/inflection.rb
|
38
|
-
-
|
39
|
-
-
|
40
|
-
-
|
41
|
-
|
42
|
-
has_rdoc: true
|
43
|
-
homepage: http://github.com/Tass/extlib
|
29
|
+
- spec/inflection
|
30
|
+
- spec/inflection.rb
|
31
|
+
- spec/injective
|
32
|
+
homepage: http://github.com/Tass/extlib/tree/inflection
|
44
33
|
licenses: []
|
45
|
-
|
46
34
|
post_install_message:
|
47
|
-
rdoc_options:
|
35
|
+
rdoc_options:
|
48
36
|
- --charset=UTF-8
|
49
|
-
require_paths:
|
37
|
+
require_paths:
|
50
38
|
- lib
|
51
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
39
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
40
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
version: "0"
|
59
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
46
|
none: false
|
61
|
-
requirements:
|
62
|
-
- -
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
- 0
|
66
|
-
version: "0"
|
47
|
+
requirements:
|
48
|
+
- - ! '>='
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0'
|
67
51
|
requirements: []
|
68
|
-
|
69
52
|
rubyforge_project:
|
70
|
-
rubygems_version: 1.
|
53
|
+
rubygems_version: 1.8.11
|
71
54
|
signing_key:
|
72
55
|
specification_version: 3
|
73
56
|
summary: Provies english inflection.
|
74
57
|
test_files: []
|
75
|
-
|
58
|
+
has_rdoc:
|
data/test/setup.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# Add PROJECT/lib to $LOAD_PATH
|
2
|
-
$LOAD_PATH.unshift(File.expand_path("#{__FILE__}/../../lib"))
|
3
|
-
|
4
|
-
# Ensure baretest is required
|
5
|
-
require 'baretest'
|
6
|
-
|
7
|
-
# Some defaults on BareTest (see Kernel#BareTest)
|
8
|
-
BareTest do
|
9
|
-
require_baretest "0.5.0" # minimum baretest version to run these tests
|
10
|
-
require_ruby "1.8.7" # minimum ruby version to run these tests
|
11
|
-
use :support # Use :support in all suites
|
12
|
-
use :basic_verifications
|
13
|
-
end
|
14
|
-
|
15
|
-
require 'ruby-debug'
|
data/test/suite/lib/inflection
DELETED
@@ -1,189 +0,0 @@
|
|
1
|
-
@singular | @plural
|
2
|
-
'ability' | 'abilities'
|
3
|
-
'account' | 'accounts'
|
4
|
-
'address' | 'addresses'
|
5
|
-
'agency' | 'agencies'
|
6
|
-
'alga' | 'algae'
|
7
|
-
'alias' | 'aliases'
|
8
|
-
'alumna' | 'alumnae'
|
9
|
-
'alumnus' | 'alumni'
|
10
|
-
'analysis' | 'analyses'
|
11
|
-
'appendix' | 'appendices'
|
12
|
-
'archive' | 'archives'
|
13
|
-
'arena' | 'arenas'
|
14
|
-
'article' | 'articles'
|
15
|
-
'asset' | 'assets'
|
16
|
-
'athlete' | 'athletes'
|
17
|
-
'attachment' | 'attachments'
|
18
|
-
'axis' | 'axes'
|
19
|
-
'basis' | 'bases'
|
20
|
-
'book' | 'books'
|
21
|
-
'bookie' | 'bookies'
|
22
|
-
'box' | 'boxes'
|
23
|
-
'branch' | 'branches'
|
24
|
-
'buffalo' | 'buffaloes'
|
25
|
-
'bus' | 'buses'
|
26
|
-
'buy' | 'buys'
|
27
|
-
'case' | 'cases'
|
28
|
-
'cactus' | 'cacti'
|
29
|
-
'cat' | 'cats'
|
30
|
-
'category' | 'categories'
|
31
|
-
'child' | 'children'
|
32
|
-
'city' | 'cities'
|
33
|
-
'comment' | 'comments'
|
34
|
-
'commit' | 'commits'
|
35
|
-
'cookie' | 'cookies'
|
36
|
-
'cow' | 'cows'
|
37
|
-
'crisis' | 'crises'
|
38
|
-
'criterion' | 'criteria'
|
39
|
-
'cross' | 'crosses'
|
40
|
-
'crunch' | 'crunches'
|
41
|
-
'cry' | 'cries'
|
42
|
-
'date' | 'dates'
|
43
|
-
'datum' | 'data'
|
44
|
-
'day' | 'days'
|
45
|
-
'diagnosis' | 'diagnoses'
|
46
|
-
'die' | 'dice'
|
47
|
-
'document' | 'documents'
|
48
|
-
'download' | 'downloads'
|
49
|
-
'drive' | 'drives'
|
50
|
-
'dwarf' | 'dwarves'
|
51
|
-
'edge' | 'edges'
|
52
|
-
'edition' | 'editions'
|
53
|
-
'elf' | 'elves'
|
54
|
-
'equipment' | 'equipment'
|
55
|
-
'erratum' | 'errata'
|
56
|
-
'event' | 'events'
|
57
|
-
'experience' | 'experiences'
|
58
|
-
'fish' | 'fish'
|
59
|
-
'fix' | 'fixes'
|
60
|
-
'fly' | 'flies'
|
61
|
-
'focus' | 'foci'
|
62
|
-
'foobar' | 'foobars'
|
63
|
-
'formula' | 'formulae'
|
64
|
-
'forum' | 'fora'
|
65
|
-
'fox' | 'foxes'
|
66
|
-
'friend' | 'friends'
|
67
|
-
'fruit' | 'fruits'
|
68
|
-
'fungus' | 'fungi'
|
69
|
-
'game' | 'games'
|
70
|
-
'german' | 'germans'
|
71
|
-
'goose' | 'geese'
|
72
|
-
'grass' | 'grass'
|
73
|
-
'guy' | 'guys'
|
74
|
-
'half' | 'halves'
|
75
|
-
'hero' | 'heroes'
|
76
|
-
'hippopotamus' | 'hippopotami'
|
77
|
-
'hive' | 'hives'
|
78
|
-
'horse' | 'horses'
|
79
|
-
'house' | 'houses'
|
80
|
-
'hovercraft' | 'hovercraft'
|
81
|
-
'human' | 'humans'
|
82
|
-
'income' | 'incomes'
|
83
|
-
'index' | 'indices'
|
84
|
-
'information' | 'information'
|
85
|
-
'installation' | 'installations'
|
86
|
-
'invoice' | 'invoices'
|
87
|
-
'job' | 'jobs'
|
88
|
-
'joy' | 'joys'
|
89
|
-
'life' | 'lives'
|
90
|
-
'link' | 'links'
|
91
|
-
'location' | 'locations'
|
92
|
-
'louse' | 'lice'
|
93
|
-
'man' | 'men'
|
94
|
-
'map' | 'maps'
|
95
|
-
'mash' | 'mashes'
|
96
|
-
'matrix_fu' | 'matrix_fus'
|
97
|
-
'matrix' | 'matrices'
|
98
|
-
'medium' | 'media'
|
99
|
-
'memorandum' | 'memoranda'
|
100
|
-
'milk' | 'milk'
|
101
|
-
'money' | 'money'
|
102
|
-
'moose' | 'moose'
|
103
|
-
'mouse' | 'mice'
|
104
|
-
'move' | 'moves'
|
105
|
-
'movie' | 'movies'
|
106
|
-
'mysql' | 'mysql'
|
107
|
-
'nebula' | 'nebulae'
|
108
|
-
'newsletter' | 'newsletters'
|
109
|
-
'news' | 'news'
|
110
|
-
'node_child' | 'node_children'
|
111
|
-
'octopus' | 'octopi'
|
112
|
-
'old_news' | 'old_news'
|
113
|
-
'ox' | 'oxen'
|
114
|
-
'package' | 'packages'
|
115
|
-
'penis' | 'penises'
|
116
|
-
'person' | 'people'
|
117
|
-
'perspective' 'perspectives'
|
118
|
-
'phenomenon' | 'phenomena'
|
119
|
-
'photo' | 'photos'
|
120
|
-
'ping' | 'pings'
|
121
|
-
'plus' | 'plusses'
|
122
|
-
'pokemon' | 'pokemon'
|
123
|
-
'pokémon' | 'pokémon'
|
124
|
-
'portfolio' | 'portfolios'
|
125
|
-
'postgres' | 'postgres'
|
126
|
-
'post' | 'posts'
|
127
|
-
'potato' | 'potatoes'
|
128
|
-
'prey' | 'preys'
|
129
|
-
'price' | 'prices'
|
130
|
-
'prize' | 'prizes'
|
131
|
-
'process' | 'processes'
|
132
|
-
'product' | 'products'
|
133
|
-
'project' | 'projects'
|
134
|
-
'proof' | 'proofs'
|
135
|
-
'query' | 'queries'
|
136
|
-
'quiz' | 'quizzes'
|
137
|
-
'radius' | 'radii'
|
138
|
-
'rain' | 'rain'
|
139
|
-
'rat' | 'rats'
|
140
|
-
'ray' | 'rays'
|
141
|
-
'rice' | 'rice'
|
142
|
-
'rookie' | 'rookies'
|
143
|
-
'rose' | 'roses'
|
144
|
-
'safe' | 'saves'
|
145
|
-
'salesperson' 'salespeople'
|
146
|
-
'schedule' | 'schedules'
|
147
|
-
'search' | 'searches'
|
148
|
-
'series' | 'series'
|
149
|
-
'server' | 'servers'
|
150
|
-
'shaman' | 'shamans'
|
151
|
-
'sheep' | 'sheep'
|
152
|
-
'shelf' | 'shelves'
|
153
|
-
'shoe' | 'shoes'
|
154
|
-
'song' | 'songs'
|
155
|
-
'spam' | 'spams'
|
156
|
-
'species' | 'species'
|
157
|
-
'spokesman' | 'spokesmen'
|
158
|
-
'sportsman' | 'sportsmen'
|
159
|
-
'spray' | 'sprays'
|
160
|
-
'stack' | 'stacks'
|
161
|
-
'status_code' 'status_codes'
|
162
|
-
'status' | 'statuses'
|
163
|
-
'stimulus' | 'stimuli'
|
164
|
-
'Swiss' | 'Swiss'
|
165
|
-
'switch' | 'switches'
|
166
|
-
'syllabus' | 'syllabi'
|
167
|
-
'talisman' | 'talismans'
|
168
|
-
'testis' | 'testes'
|
169
|
-
'thesaurus' | 'thesauri'
|
170
|
-
'thesis' | 'theses'
|
171
|
-
'thief' | 'thieves'
|
172
|
-
'ticket' | 'tickets'
|
173
|
-
'tomato' | 'tomatoes'
|
174
|
-
'tooth' | 'teeth'
|
175
|
-
'torpedo' | 'torpedoes'
|
176
|
-
'tournament' | 'tournaments'
|
177
|
-
'toy' | 'toys'
|
178
|
-
'trash' | 'trashes'
|
179
|
-
'typo' | 'typos'
|
180
|
-
'url' | 'urls'
|
181
|
-
'version' | 'versions'
|
182
|
-
'vertebra' | 'vertebrae'
|
183
|
-
'vertex' | 'vertices'
|
184
|
-
'virus' | 'viruses'
|
185
|
-
'vita' | 'vitae'
|
186
|
-
'wife' | 'wives'
|
187
|
-
'wish' | 'wishes'
|
188
|
-
'woman' | 'women'
|
189
|
-
'zero' | 'zeroes'
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# So we can test with all provided solutions
|
2
|
-
#BareTest.new_component :inflection do
|
3
|
-
require 'inflection'
|
4
|
-
suite 'Inflection', :use => :tabular_data do
|
5
|
-
suite 'bijective' do
|
6
|
-
setup.tabular_data <<-TABLE
|
7
|
-
@from | @to
|
8
|
-
:singular | :plural
|
9
|
-
:plural | :singular
|
10
|
-
TABLE
|
11
|
-
|
12
|
-
setup.tabular_data(File.read(File.expand_path('../inflection', __FILE__)))
|
13
|
-
|
14
|
-
setup do
|
15
|
-
class << self
|
16
|
-
attr_reader :singular, :plural
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
exercise "converting :singular <=> :plural from :from" do
|
21
|
-
::Inflection.send(@to, send(@from))
|
22
|
-
end
|
23
|
-
verify "returns :to" do
|
24
|
-
returns(send(@to))
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
suite 'injective singular -> plural' do
|
29
|
-
|
30
|
-
setup.tabular_data(File.read(File.expand_path('../injective', __FILE__)))
|
31
|
-
|
32
|
-
exercise "converting :plural" do
|
33
|
-
::Inflection.singular(@plural)
|
34
|
-
end
|
35
|
-
verify "returns :singular" do
|
36
|
-
returns(@singular)
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
end
|
data/test/suite/lib/injective
DELETED