inflection 0.1.1 → 1.0.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.
- 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