i18n-inflector 2.5.1 → 2.6.1
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.tar.gz.sig +0 -0
- data/ChangeLog +80 -0
- data/Gemfile +8 -5
- data/Gemfile.lock +27 -0
- data/Manifest.txt +2 -0
- data/README.rdoc +27 -1
- data/Rakefile +14 -4
- data/ci/i18n-inflector.gemspec +7 -6
- data/ci/i18nv4-Gemfile +1 -1
- data/ci/i18nv4-Gemfile.lock +25 -0
- data/docs/HISTORY +22 -0
- data/docs/TODO +2 -1
- data/docs/USAGE +28 -0
- data/lib/i18n-inflector/api.rb +111 -107
- data/lib/i18n-inflector/api_strict.rb +164 -21
- data/lib/i18n-inflector/backend.rb +10 -7
- data/lib/i18n-inflector/config.rb +19 -19
- data/lib/i18n-inflector/errors.rb +13 -13
- data/lib/i18n-inflector/hset.rb +1 -1
- data/lib/i18n-inflector/inflection_data.rb +52 -59
- data/lib/i18n-inflector/inflection_data_strict.rb +49 -40
- data/lib/i18n-inflector/inflector.rb +3 -3
- data/lib/i18n-inflector/interpolate.rb +68 -37
- data/lib/i18n-inflector/lazy_enum.rb +119 -32
- data/lib/i18n-inflector/long_comments.rb +1 -1
- data/lib/i18n-inflector/options.rb +3 -3
- data/lib/i18n-inflector/version.rb +2 -2
- metadata +38 -27
- metadata.gz.sig +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author:: Paweł Wilk (mailto:pw@gnu.org)
|
4
4
|
# Copyright:: (c) 2011 by Paweł Wilk
|
5
|
-
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:COPYING Ruby License}.
|
5
|
+
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:docs/COPYING Ruby License}.
|
6
6
|
#
|
7
7
|
# This file contains lazy enumerators.
|
8
8
|
|
@@ -34,6 +34,11 @@ module I18n
|
|
34
34
|
@final_block.call(*arg)
|
35
35
|
end
|
36
36
|
end
|
37
|
+
|
38
|
+
if method_defined?(:yield) and not method_defined?(:"<<")
|
39
|
+
alias_method :"<<", :yield
|
40
|
+
end
|
41
|
+
|
37
42
|
end
|
38
43
|
|
39
44
|
unless (self.new{} rescue false)
|
@@ -43,7 +48,7 @@ module I18n
|
|
43
48
|
end
|
44
49
|
|
45
50
|
if method_defined?(:with_object) and not method_defined?(:each_with_object)
|
46
|
-
alias_method :
|
51
|
+
alias_method :each_with_object, :with_object
|
47
52
|
end
|
48
53
|
|
49
54
|
end # class LazyEnumerator for ruby18
|
@@ -55,42 +60,82 @@ module I18n
|
|
55
60
|
|
56
61
|
end
|
57
62
|
|
58
|
-
# This class
|
59
|
-
|
60
|
-
|
63
|
+
# This class adds some lazy operations for collections
|
64
|
+
class LazyEnumerator
|
65
|
+
|
66
|
+
# Addition operator for collections
|
67
|
+
# @return [I18n::Inflector::LazyEnumerator] the enumerator
|
68
|
+
def +(other)
|
69
|
+
self.class.new do |yielder|
|
70
|
+
each do |v|
|
71
|
+
yielder << v
|
72
|
+
end
|
73
|
+
other.each do |v|
|
74
|
+
yielder << v
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# Insertion operator for collections
|
80
|
+
# @return [I18n::Inflector::LazyEnumerator] the enumerator
|
81
|
+
def insert(value)
|
82
|
+
self.class.new do |yielder|
|
83
|
+
yielder << value
|
84
|
+
each do |v|
|
85
|
+
yielder << v
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# Appending operator for collections
|
91
|
+
# @return [I18n::Inflector::LazyEnumerator] the enumerator
|
92
|
+
def append(value)
|
93
|
+
self.class.new do |yielder|
|
94
|
+
each do |v|
|
95
|
+
yielder << v
|
96
|
+
end
|
97
|
+
yielder << value
|
98
|
+
end
|
99
|
+
end
|
61
100
|
|
62
101
|
# Mapping enumerator
|
63
102
|
# @return [I18n::Inflector::LazyEnumerator] the enumerator
|
64
103
|
def map(&block)
|
65
|
-
|
66
|
-
|
67
|
-
yielder
|
104
|
+
self.class.new do |yielder|
|
105
|
+
each do |v|
|
106
|
+
yielder << block[v]
|
68
107
|
end
|
69
108
|
end
|
70
109
|
end
|
71
110
|
|
72
|
-
#
|
73
|
-
# @return [I18n::Inflector::
|
111
|
+
# Selecting enumerator
|
112
|
+
# @return [I18n::Inflector::LazyEnumerator] the enumerator
|
74
113
|
def select(&block)
|
75
|
-
|
76
|
-
|
77
|
-
yielder
|
114
|
+
self.class.new do |yielder|
|
115
|
+
each do |v|
|
116
|
+
yielder << v if block[v]
|
78
117
|
end
|
79
118
|
end
|
80
119
|
end
|
81
120
|
|
82
|
-
#
|
83
|
-
# @return [I18n::Inflector::
|
121
|
+
# Rejecting enumerator
|
122
|
+
# @return [I18n::Inflector::LazyEnumerator] the enumerator
|
84
123
|
def reject(&block)
|
85
|
-
|
86
|
-
|
87
|
-
yielder
|
124
|
+
self.class.new do |yielder|
|
125
|
+
each do |v|
|
126
|
+
yielder << v unless block[v]
|
88
127
|
end
|
89
128
|
end
|
90
129
|
end
|
91
130
|
|
92
131
|
end
|
93
132
|
|
133
|
+
# This class implements simple enumerators for arrays
|
134
|
+
# that allow to do lazy operations on them.
|
135
|
+
class LazyArrayEnumerator < LazyEnumerator
|
136
|
+
|
137
|
+
end
|
138
|
+
|
94
139
|
# This class implements simple enumerators for hashes
|
95
140
|
# that allow to do lazy operations on them.
|
96
141
|
class LazyHashEnumerator < LazyEnumerator
|
@@ -100,26 +145,48 @@ module I18n
|
|
100
145
|
# @return [Hash] the resulting hash
|
101
146
|
def to_h
|
102
147
|
h = Hash.new
|
103
|
-
|
148
|
+
each{|k,v| h[k]=v }
|
104
149
|
h
|
105
150
|
end
|
106
151
|
|
152
|
+
# Insertion operator for Hash enumerators
|
153
|
+
# @return [I18n::Inflector::LazyHashEnumerator] the enumerator
|
154
|
+
def insert(key, value)
|
155
|
+
self.class.new do |yielder|
|
156
|
+
yielder.yield(key, value)
|
157
|
+
each do |k,v|
|
158
|
+
yielder.yield(k,v)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
# Appending operator for Hash enumerators
|
164
|
+
# @return [I18n::Inflector::LazyHashEnumerator] the enumerator
|
165
|
+
def append(key, value)
|
166
|
+
self.class.new do |yielder|
|
167
|
+
each do |k,v|
|
168
|
+
yielder.yield(k,v)
|
169
|
+
end
|
170
|
+
yielder.yield(key, value)
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
107
174
|
# Hash mapping enumerator
|
108
175
|
# @return [I18n::Inflector::LazyHashEnumerator] the enumerator
|
109
176
|
def map(&block)
|
110
177
|
LazyHashEnumerator.new do |yielder|
|
111
|
-
|
112
|
-
yielder.yield(k,block
|
178
|
+
each do |k,v|
|
179
|
+
yielder.yield(k,block[k,v])
|
113
180
|
end
|
114
181
|
end
|
115
182
|
end
|
116
183
|
|
117
184
|
# Hash to Array mapping enumerator
|
118
|
-
# @return [I18n::Inflector::
|
185
|
+
# @return [I18n::Inflector::LazyHashEnumerator] the enumerator
|
119
186
|
def ary_map(&block)
|
120
187
|
LazyHashEnumerator.new do |yielder|
|
121
|
-
|
122
|
-
yielder
|
188
|
+
each do |value|
|
189
|
+
yielder << block[value]
|
123
190
|
end
|
124
191
|
end
|
125
192
|
end
|
@@ -128,7 +195,7 @@ module I18n
|
|
128
195
|
# to an array.
|
129
196
|
def keys
|
130
197
|
ary = []
|
131
|
-
|
198
|
+
each{ |k,v| ary << k }
|
132
199
|
return ary
|
133
200
|
end
|
134
201
|
|
@@ -136,16 +203,36 @@ module I18n
|
|
136
203
|
# to an array.
|
137
204
|
def values
|
138
205
|
ary = []
|
139
|
-
|
206
|
+
each{ |k,v| ary << v }
|
140
207
|
return ary
|
141
208
|
end
|
142
209
|
|
210
|
+
# Keys enumerator
|
211
|
+
# @return [I18n::Inflector::LazyArrayEnumerator.new] the enumerator
|
212
|
+
def each_key(&block)
|
213
|
+
LazyArrayEnumerator.new do |yielder|
|
214
|
+
each do |k,v|
|
215
|
+
yielder << k
|
216
|
+
end
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
# Values enumerator
|
221
|
+
# @return [I18n::Inflector::LazyArrayEnumerator.new] the enumerator
|
222
|
+
def each_value(&block)
|
223
|
+
LazyArrayEnumerator.new do |yielder|
|
224
|
+
each do |k,v|
|
225
|
+
yielder << v
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
143
230
|
# Hash selecting enumerator
|
144
231
|
# @return [I18n::Inflector::LazyHashEnumerator] the enumerator
|
145
232
|
def select(&block)
|
146
|
-
|
147
|
-
|
148
|
-
yielder.yield(k,v) if block
|
233
|
+
self.class.new do |yielder|
|
234
|
+
each do |k,v|
|
235
|
+
yielder.yield(k,v) if block[k,v]
|
149
236
|
end
|
150
237
|
end
|
151
238
|
end
|
@@ -153,9 +240,9 @@ module I18n
|
|
153
240
|
# Hash rejecting enumerator
|
154
241
|
# @return [I18n::Inflector::LazyHashEnumerator] the enumerator
|
155
242
|
def reject(&block)
|
156
|
-
|
157
|
-
|
158
|
-
yielder.yield(k,v) unless block
|
243
|
+
self.class.new do |yielder|
|
244
|
+
each do |k,v|
|
245
|
+
yielder.yield(k,v) unless block[k,v]
|
159
246
|
end
|
160
247
|
end
|
161
248
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author:: Paweł Wilk (mailto:pw@gnu.org)
|
4
4
|
# Copyright:: (c) 2011 by Paweł Wilk
|
5
|
-
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:COPYING Ruby License}.
|
5
|
+
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:docs/COPYING Ruby License}.
|
6
6
|
#
|
7
7
|
# This file contains inline documentation data
|
8
8
|
# that would make the file with code less readable
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author:: Paweł Wilk (mailto:pw@gnu.org)
|
4
4
|
# Copyright:: (c) 2011 by Paweł Wilk
|
5
|
-
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:COPYING Ruby License}.
|
5
|
+
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:docs/COPYING Ruby License}.
|
6
6
|
#
|
7
7
|
# This file contains a class used to set up some options,
|
8
8
|
# for engine.
|
@@ -45,8 +45,8 @@ module I18n
|
|
45
45
|
r = old_attr_accessor(*args)
|
46
46
|
@known ||= Hash.new
|
47
47
|
args.each do |arg|
|
48
|
-
key = '@'
|
49
|
-
@known[key.to_sym] = (OPTION_PREFIX
|
48
|
+
key = '@' << arg.to_s
|
49
|
+
@known[key.to_sym] = ("" << OPTION_PREFIX << arg.to_s).to_sym
|
50
50
|
end
|
51
51
|
r
|
52
52
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author:: Paweł Wilk (mailto:pw@gnu.org)
|
4
4
|
# Copyright:: (c) 2011 by Paweł Wilk
|
5
|
-
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:COPYING Ruby License}.
|
5
|
+
# License:: This program is licensed under the terms of {file:docs/LGPL GNU Lesser General Public License} or {file:docs/COPYING Ruby License}.
|
6
6
|
#
|
7
7
|
# This file contains version information.
|
8
8
|
|
@@ -14,7 +14,7 @@ module I18n
|
|
14
14
|
# @private
|
15
15
|
EMAIL = 'pw@gnu.org'
|
16
16
|
# @private
|
17
|
-
VERSION = '2.
|
17
|
+
VERSION = '2.6.1'
|
18
18
|
# @private
|
19
19
|
NAME = 'i18n-inflector'
|
20
20
|
# @private
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i18n-inflector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -48,12 +48,11 @@ cert_chain:
|
|
48
48
|
-----END CERTIFICATE-----
|
49
49
|
|
50
50
|
'
|
51
|
-
date: 2011-
|
52
|
-
default_executable:
|
51
|
+
date: 2011-07-10 00:00:00.000000000Z
|
53
52
|
dependencies:
|
54
53
|
- !ruby/object:Gem::Dependency
|
55
54
|
name: i18n
|
56
|
-
requirement: &
|
55
|
+
requirement: &2155640860 !ruby/object:Gem::Requirement
|
57
56
|
none: false
|
58
57
|
requirements:
|
59
58
|
- - ! '>='
|
@@ -61,10 +60,10 @@ dependencies:
|
|
61
60
|
version: 0.4.1
|
62
61
|
type: :runtime
|
63
62
|
prerelease: false
|
64
|
-
version_requirements: *
|
63
|
+
version_requirements: *2155640860
|
65
64
|
- !ruby/object:Gem::Dependency
|
66
65
|
name: hoe-yard
|
67
|
-
requirement: &
|
66
|
+
requirement: &2155640120 !ruby/object:Gem::Requirement
|
68
67
|
none: false
|
69
68
|
requirements:
|
70
69
|
- - ! '>='
|
@@ -72,62 +71,73 @@ dependencies:
|
|
72
71
|
version: 0.1.2
|
73
72
|
type: :development
|
74
73
|
prerelease: false
|
75
|
-
version_requirements: *
|
74
|
+
version_requirements: *2155640120
|
76
75
|
- !ruby/object:Gem::Dependency
|
77
76
|
name: test_declarative
|
78
|
-
requirement: &
|
77
|
+
requirement: &2155639320 !ruby/object:Gem::Requirement
|
79
78
|
none: false
|
80
79
|
requirements:
|
81
80
|
- - ! '>='
|
82
81
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.0.
|
82
|
+
version: 0.0.5
|
84
83
|
type: :development
|
85
84
|
prerelease: false
|
86
|
-
version_requirements: *
|
85
|
+
version_requirements: *2155639320
|
87
86
|
- !ruby/object:Gem::Dependency
|
88
87
|
name: yard
|
89
|
-
requirement: &
|
88
|
+
requirement: &2155638560 !ruby/object:Gem::Requirement
|
90
89
|
none: false
|
91
90
|
requirements:
|
92
91
|
- - ! '>='
|
93
92
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.
|
93
|
+
version: 0.7.2
|
95
94
|
type: :development
|
96
95
|
prerelease: false
|
97
|
-
version_requirements: *
|
96
|
+
version_requirements: *2155638560
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rdoc
|
99
|
+
requirement: &2155637560 !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 3.8.0
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: *2155637560
|
98
108
|
- !ruby/object:Gem::Dependency
|
99
109
|
name: bundler
|
100
|
-
requirement: &
|
110
|
+
requirement: &2155635360 !ruby/object:Gem::Requirement
|
101
111
|
none: false
|
102
112
|
requirements:
|
103
113
|
- - ! '>='
|
104
114
|
- !ruby/object:Gem::Version
|
105
|
-
version: 1.0.
|
115
|
+
version: 1.0.15
|
106
116
|
type: :development
|
107
117
|
prerelease: false
|
108
|
-
version_requirements: *
|
118
|
+
version_requirements: *2155635360
|
109
119
|
- !ruby/object:Gem::Dependency
|
110
120
|
name: hoe-bundler
|
111
|
-
requirement: &
|
121
|
+
requirement: &2155634420 !ruby/object:Gem::Requirement
|
112
122
|
none: false
|
113
123
|
requirements:
|
114
124
|
- - ! '>='
|
115
125
|
- !ruby/object:Gem::Version
|
116
|
-
version: 1.
|
126
|
+
version: 1.1.0
|
117
127
|
type: :development
|
118
128
|
prerelease: false
|
119
|
-
version_requirements: *
|
129
|
+
version_requirements: *2155634420
|
120
130
|
- !ruby/object:Gem::Dependency
|
121
131
|
name: hoe
|
122
|
-
requirement: &
|
132
|
+
requirement: &2155633700 !ruby/object:Gem::Requirement
|
123
133
|
none: false
|
124
134
|
requirements:
|
125
|
-
- -
|
135
|
+
- - ~>
|
126
136
|
- !ruby/object:Gem::Version
|
127
|
-
version: 2.
|
137
|
+
version: '2.10'
|
128
138
|
type: :development
|
129
139
|
prerelease: false
|
130
|
-
version_requirements: *
|
140
|
+
version_requirements: *2155633700
|
131
141
|
description: Enhances simple I18n backend so that it inflects translations using pattern
|
132
142
|
interpolation.
|
133
143
|
email:
|
@@ -140,12 +150,14 @@ files:
|
|
140
150
|
- .yardopts
|
141
151
|
- ChangeLog
|
142
152
|
- Gemfile
|
153
|
+
- Gemfile.lock
|
143
154
|
- LGPL-LICENSE
|
144
155
|
- Manifest.txt
|
145
156
|
- README.rdoc
|
146
157
|
- Rakefile
|
147
158
|
- ci/i18n-inflector.gemspec
|
148
159
|
- ci/i18nv4-Gemfile
|
160
|
+
- ci/i18nv4-Gemfile.lock
|
149
161
|
- docs/COPYING
|
150
162
|
- docs/EXAMPLES
|
151
163
|
- docs/HISTORY
|
@@ -172,13 +184,12 @@ files:
|
|
172
184
|
- test/inflector_test.rb
|
173
185
|
- test/test_helper.rb
|
174
186
|
- .gemtest
|
175
|
-
has_rdoc: true
|
176
187
|
homepage: https://rubygems.org/gems/i18n-inflector/
|
177
188
|
licenses: []
|
178
189
|
post_install_message:
|
179
190
|
rdoc_options:
|
180
191
|
- --title
|
181
|
-
-
|
192
|
+
- I18n::Inflector Documentation
|
182
193
|
- --quiet
|
183
194
|
require_paths:
|
184
195
|
- lib
|
@@ -190,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
190
201
|
version: '0'
|
191
202
|
segments:
|
192
203
|
- 0
|
193
|
-
hash: -
|
204
|
+
hash: -4582047018279432324
|
194
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
206
|
none: false
|
196
207
|
requirements:
|
@@ -199,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
199
210
|
version: '0'
|
200
211
|
requirements: []
|
201
212
|
rubyforge_project: i18n-inflector
|
202
|
-
rubygems_version: 1.5
|
213
|
+
rubygems_version: 1.8.5
|
203
214
|
signing_key:
|
204
215
|
specification_version: 3
|
205
216
|
summary: Simple inflection module for I18n
|