rutils 1.1.4 → 2.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/.gemtest +0 -0
- data/History.txt +10 -0
- data/Manifest.txt +4 -8
- data/README.txt +20 -172
- data/Rakefile.rb +5 -11
- data/init.rb +3 -3
- data/lib/{gilenson/gilenson_stub.rb → gilenson_stub.rb} +0 -6
- data/lib/integration/integration.rb +1 -1
- data/lib/integration/rails_date_helper_override.rb +4 -4
- data/lib/pluralizer.rb +101 -0
- data/lib/rudates.rb +85 -0
- data/lib/rutils.rb +13 -7
- data/lib/transliteration.rb +30 -0
- data/lib/version.rb +1 -1
- data/test/extras/integration_rails_filter.rb +1 -1
- data/test/extras/integration_rails_gilenson_helpers.rb +1 -1
- data/test/extras/integration_rails_helpers.rb +1 -1
- data/test/run_tests.rb +1 -1
- data/test/test_datetime.rb +16 -7
- data/test/test_integration.rb +1 -1
- data/test/test_integration_flag.rb +1 -1
- data/test/test_pluralize.rb +1 -1
- data/test/test_rutils_base.rb +1 -1
- data/test/test_transliteration.rb +1 -32
- metadata +45 -32
- data/bin/rutilize +0 -38
- data/lib/countries/countries.rb +0 -1773
- data/lib/datetime/datetime.rb +0 -83
- data/lib/pluralizer/pluralizer.rb +0 -288
- data/lib/transliteration/bidi.rb +0 -21
- data/lib/transliteration/simple.rb +0 -75
- data/lib/transliteration/transliteration.rb +0 -79
data/lib/rudates.rb
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
module RuTils
|
3
|
+
module RuDates
|
4
|
+
|
5
|
+
RU_MONTHNAMES = [nil] + %w{ январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь }
|
6
|
+
RU_DAYNAMES = %w(воскресенье понедельник вторник среда четверг пятница суббота)
|
7
|
+
RU_ABBR_MONTHNAMES = [nil] + %w{ янв фев мар апр май июн июл авг сен окт ноя дек }
|
8
|
+
RU_ABBR_DAYNAMES = %w(вск пн вт ср чт пт сб)
|
9
|
+
RU_INFLECTED_MONTHNAMES = [nil] + %w{ января февраля марта апреля мая июня июля
|
10
|
+
августа сентября октября ноября декабря }
|
11
|
+
RU_DAYNAMES_E = [nil] + %w{первое второе третье четвёртое пятое шестое седьмое восьмое
|
12
|
+
девятое десятое одиннадцатое двенадцатое тринадцатое четырнадцатое пятнадцатое шестнадцатое
|
13
|
+
семнадцатое восемнадцатое девятнадцатое двадцатое двадцать тридцатое тридцатьпервое}
|
14
|
+
|
15
|
+
def self.distance_of_time_in_words(from_time, to_time = 0, include_seconds = false, absolute = false) #nodoc
|
16
|
+
from_time = from_time.to_time if from_time.respond_to?(:to_time)
|
17
|
+
to_time = to_time.to_time if to_time.respond_to?(:to_time)
|
18
|
+
distance_in_minutes = (((to_time - from_time).abs)/60).round
|
19
|
+
distance_in_seconds = ((to_time - from_time).abs).round
|
20
|
+
|
21
|
+
case distance_in_minutes
|
22
|
+
when 0..1
|
23
|
+
return (distance_in_minutes==0) ? 'меньше минуты' : '1 минуту' unless include_seconds
|
24
|
+
|
25
|
+
case distance_in_seconds
|
26
|
+
when 0..5 then 'менее 5 секунд'
|
27
|
+
when 6..10 then 'менее 10 секунд'
|
28
|
+
when 11..20 then 'менее 20 секунд'
|
29
|
+
when 21..40 then 'пол-минуты'
|
30
|
+
when 41..59 then 'меньше минуты'
|
31
|
+
else '1 минуту'
|
32
|
+
end
|
33
|
+
|
34
|
+
when 2..45 then distance_in_minutes.to_s +
|
35
|
+
" " + distance_in_minutes.items("минута", "минуты", "минут")
|
36
|
+
when 46..90 then 'около часа'
|
37
|
+
|
38
|
+
# исключение, сдвигаем на один влево чтобы соответствовать падежу
|
39
|
+
when 90..1440 then "около " + (distance_in_minutes.to_f / 60.0).round.to_s +
|
40
|
+
" " + (distance_in_minutes.to_f / 60.0).round.items("часа", 'часов', 'часов')
|
41
|
+
when 1441..2880 then '1 день'
|
42
|
+
else (distance_in_minutes / 1440).round.to_s +
|
43
|
+
" " + (distance_in_minutes / 1440).round.items("день", "дня", "дней")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.ru_strftime(time, format_str='%d.%m.%Y') #:yields: replaced time string
|
48
|
+
clean_fmt = format_str.to_s.gsub(/%{2}/, RuTils::SUBSTITUTION_MARKER).
|
49
|
+
gsub(/%a/, RU_ABBR_DAYNAMES[time.wday]).
|
50
|
+
gsub(/%A/, RU_DAYNAMES[time.wday]).
|
51
|
+
gsub(/%b/, RU_ABBR_MONTHNAMES[time.mon]).
|
52
|
+
gsub(/%d(\s)*%B/, '%02d' % time.day + '\1' + RU_INFLECTED_MONTHNAMES[time.mon]).
|
53
|
+
gsub(/%e(\s)*%B/, '%d' % time.day + '\1' + RU_INFLECTED_MONTHNAMES[time.mon]).
|
54
|
+
gsub(/%B/, RU_MONTHNAMES[time.mon]).
|
55
|
+
gsub(/#{RuTils::SUBSTITUTION_MARKER}/, '%%')
|
56
|
+
# Теперь когда все нужные нам маркеры заменены можно отдать это стандартному strftime
|
57
|
+
if block_given?
|
58
|
+
yield(clean_fmt)
|
59
|
+
else
|
60
|
+
time.strftime_norutils(clean_fmt)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
module RuStrftimeOverride
|
65
|
+
|
66
|
+
def self.included(into)
|
67
|
+
into.send(:alias_method, :strftime_norutils, :strftime)
|
68
|
+
into.class_eval do
|
69
|
+
def strftime(fmt)
|
70
|
+
if RuTils::overrides_enabled?
|
71
|
+
RuTils::RuDates.ru_strftime(self, fmt) do | fmt_with_replacements |
|
72
|
+
strftime_norutils(fmt_with_replacements)
|
73
|
+
end
|
74
|
+
else
|
75
|
+
strftime_norutils(fmt)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
[Time, Date].each{|k| k.send(:include, RuStrftimeOverride) }
|
84
|
+
end
|
85
|
+
end
|
data/lib/rutils.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$KCODE = 'u' if RUBY_VERSION < '1.9.0'
|
3
3
|
|
4
|
-
require File.dirname(__FILE__) + '/version'
|
4
|
+
require File.expand_path(File.dirname(__FILE__)) + '/version'
|
5
5
|
|
6
6
|
# Главный контейнер модуля
|
7
7
|
module RuTils
|
@@ -36,12 +36,13 @@ module RuTils
|
|
36
36
|
#
|
37
37
|
# Флаг overrides в RuTils работают в контексте текущей нити
|
38
38
|
def overrides=(new_override_flag)
|
39
|
-
Thread.current[:
|
39
|
+
Thread.current[:rutils_overrides_enabled] = (new_override_flag ? true : false)
|
40
40
|
end
|
41
41
|
module_function :overrides=
|
42
42
|
|
43
43
|
def self.thread_local_or_own_flag #:nodoc:
|
44
|
-
|
44
|
+
# Это может быть умирает на 1.9.2
|
45
|
+
Thread.current[:rutils_overrides_enabled] || false
|
45
46
|
end
|
46
47
|
|
47
48
|
def self.load_component(name) #:nodoc:
|
@@ -49,12 +50,17 @@ module RuTils
|
|
49
50
|
end
|
50
51
|
end
|
51
52
|
|
52
|
-
|
53
|
-
|
54
|
-
|
53
|
+
require File.join(RuTils::INSTALLATION_DIRECTORY, "lib/pluralizer")
|
54
|
+
require File.join(RuTils::INSTALLATION_DIRECTORY, "lib/rudates")
|
55
|
+
require File.join(RuTils::INSTALLATION_DIRECTORY, "lib/transliteration")
|
55
56
|
|
56
57
|
# Заглушка для подключения типографа (он теперь в отдельном геме)
|
57
|
-
require File.join(RuTils::INSTALLATION_DIRECTORY, "lib/
|
58
|
+
require File.join(RuTils::INSTALLATION_DIRECTORY, "lib/gilenson_stub")
|
59
|
+
|
60
|
+
require "russian"
|
61
|
+
require "russian/transliteration"
|
62
|
+
require "gilenson"
|
63
|
+
require "ru_propisju"
|
58
64
|
|
59
65
|
# Оверлоады грузим только если константа не установлена в false
|
60
66
|
unless defined?(::RuTils::RUTILS_USE_DATE_HELPERS) && !::RuTils::RUTILS_USE_DATE_HELPERS
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# ++DEPRECATED++ - Реализует простейшую транслитерацию используя Russian
|
3
|
+
require "ru_translify"
|
4
|
+
|
5
|
+
module RuTils::TransliterationStub
|
6
|
+
|
7
|
+
# Транслитерирует строку в латиницу, и возвращает измененную строку
|
8
|
+
def translify
|
9
|
+
Russian.transliterate(self)
|
10
|
+
end
|
11
|
+
|
12
|
+
# Транслитерирует строку, меняя объект
|
13
|
+
def translify!
|
14
|
+
self.replace(Russian.transliterate(self))
|
15
|
+
end
|
16
|
+
|
17
|
+
# Транслитерирует строку, делая ее пригодной для применения как имя директории или URL
|
18
|
+
def dirify
|
19
|
+
st = translify
|
20
|
+
st.gsub!(/(\s\&\s)|(\s\&\;\s)/, ' and ') # convert & to "and"
|
21
|
+
st.gsub!(/\W/, ' ') #replace non-chars
|
22
|
+
st.gsub!(/(_)$/, '') #trailing underscores
|
23
|
+
st.gsub!(/^(_)/, '') #leading unders
|
24
|
+
st.strip.gsub(/(\s)/,'-').downcase.squeeze('-')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class ::Object::String
|
29
|
+
include RuTils::TransliterationStub
|
30
|
+
end
|
data/lib/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require 'action_controller'
|
3
3
|
require 'action_controller/test_process'
|
4
|
-
require File.dirname(__FILE__) + '/../../init.rb'
|
4
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../../init.rb'
|
5
5
|
|
6
6
|
ActionController::Routing::Routes.draw { |map| map.connect ':controller/:action/:id' }
|
7
7
|
|
@@ -4,7 +4,7 @@ require 'action_controller'
|
|
4
4
|
require 'action_view'
|
5
5
|
|
6
6
|
require 'action_controller/test_process'
|
7
|
-
require File.dirname(__FILE__) + '/../../init.rb'
|
7
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../../init.rb'
|
8
8
|
|
9
9
|
# Перегрузка helper'ов Rails
|
10
10
|
rails_test_class = defined?(ActionController::TestCase) ? ActionController::TestCase : Test::Unit::TestCase
|
@@ -4,7 +4,7 @@ require "ostruct"
|
|
4
4
|
require 'action_controller'
|
5
5
|
require 'action_view'
|
6
6
|
require 'action_controller/test_process'
|
7
|
-
require File.dirname(__FILE__) + '/../../init.rb'
|
7
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../../init.rb'
|
8
8
|
require 'action_pack/version'
|
9
9
|
|
10
10
|
ma, mi, ti = ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR, ActionPack::VERSION::TINY
|
data/test/run_tests.rb
CHANGED
data/test/test_datetime.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
require "rubygems"
|
2
3
|
$KCODE = 'u' if RUBY_VERSION < '1.9.0'
|
3
4
|
require 'test/unit'
|
4
|
-
require File.dirname(__FILE__) + '/../lib/rutils'
|
5
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../lib/rutils'
|
5
6
|
|
6
7
|
class DistanceOfTimeTest < Test::Unit::TestCase
|
7
8
|
def test_distance_of_time_in_words
|
@@ -13,15 +14,23 @@ class DistanceOfTimeTest < Test::Unit::TestCase
|
|
13
14
|
end
|
14
15
|
|
15
16
|
def assert_format_eq(str, *from_and_distance)
|
16
|
-
assert_equal str, RuTils::
|
17
|
+
assert_equal str, RuTils::RuDates.distance_of_time_in_words(*from_and_distance)
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
class StrftimeRuTest < Test::Unit::TestCase
|
22
|
+
|
23
|
+
def test_to_datetime_does_not_recurse_indefinitely
|
24
|
+
assert_nothing_raised do
|
25
|
+
t = Time.local(2,1,1,1)
|
26
|
+
s = t.send(:to_datetime).strftime("%a, %A, %b, %B")
|
27
|
+
assert_equal "Tue, Tuesday, Jan, January", s
|
28
|
+
end
|
29
|
+
end
|
21
30
|
|
22
31
|
def test_a_formatter_should_actually_return
|
23
32
|
the_fmt = "Это случилось %d %B"
|
24
|
-
assert_equal "Это случилось 01 декабря", RuTils::
|
33
|
+
assert_equal "Это случилось 01 декабря", RuTils::RuDates::ru_strftime(Time.local(1985, "dec", 01), the_fmt)
|
25
34
|
end
|
26
35
|
|
27
36
|
def test_should_not_touch_double_marks
|
@@ -62,7 +71,7 @@ class StrftimeRuTest < Test::Unit::TestCase
|
|
62
71
|
|
63
72
|
def test_shorthands_defined
|
64
73
|
date = Date.new(2005, 12, 31)
|
65
|
-
assert_equal "дек декабрь сб суббота", "#{
|
74
|
+
assert_equal "дек декабрь сб суббота", "#{RuTils::RuDates::RU_ABBR_MONTHNAMES[date.mon]} #{RuTils::RuDates::RU_MONTHNAMES[date.mon]} #{RuTils::RuDates::RU_ABBR_DAYNAMES[date.wday]} #{RuTils::RuDates::RU_DAYNAMES[date.wday]}"
|
66
75
|
|
67
76
|
date = Date.new(2005, 11, 9)
|
68
77
|
assert_equal "Nov November Wed Wednesday", "#{Date::ABBR_MONTHNAMES[date.mon]} #{Date::MONTHNAMES[date.mon]} #{Date::ABBR_DAYNAMES[date.wday]} #{Date::DAYNAMES[date.wday]}"
|
@@ -73,7 +82,7 @@ class StrftimeRuTest < Test::Unit::TestCase
|
|
73
82
|
|
74
83
|
def test_formatter_should_not_mutate_passed_format_strings
|
75
84
|
the_fmt, backup = "Это случилось %d %B", "Это случилось %d %B"
|
76
|
-
assert_equal "Это случилось 01 декабря", RuTils::
|
85
|
+
assert_equal "Это случилось 01 декабря", RuTils::RuDates::ru_strftime(Time.local(1985, "dec", 01), the_fmt)
|
77
86
|
assert_equal the_fmt, backup
|
78
87
|
end
|
79
88
|
|
@@ -85,7 +94,7 @@ class StrftimeRuTest < Test::Unit::TestCase
|
|
85
94
|
end
|
86
95
|
|
87
96
|
def assert_format_eq(str, time_or_date, fmt, msg = 'Should format as desired')
|
88
|
-
r = RuTils::
|
97
|
+
r = RuTils::RuDates::ru_strftime(time_or_date, fmt)
|
89
98
|
assert_not_nil r, "The formatter should have returned a not-nil value for #{time_or_date} and #{fmt}"
|
90
99
|
assert_kind_of String, "The formatter should have returned a String for #{time_or_date} and #{fmt}"
|
91
100
|
assert_equal str, r, msg
|
@@ -129,7 +138,7 @@ class StrftimeTest < Test::Unit::TestCase
|
|
129
138
|
end
|
130
139
|
|
131
140
|
ensure
|
132
|
-
|
141
|
+
a.join; b.join
|
133
142
|
end
|
134
143
|
|
135
144
|
def with_overrides_set_to(value, &blk)
|
data/test/test_integration.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
$KCODE = 'u' if RUBY_VERSION < '1.9.0'
|
3
3
|
require 'test/unit'
|
4
4
|
|
5
|
-
require File.dirname(__FILE__) + '/../lib/rutils'
|
5
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../lib/rutils'
|
6
6
|
|
7
7
|
# Load all the prereqs
|
8
8
|
integration_tests = ['rubygems', 'multi_rails_init'] + Dir.glob(File.dirname(__FILE__) + '/extras/integration_*.rb')
|
data/test/test_pluralize.rb
CHANGED
data/test/test_rutils_base.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$KCODE = 'u' if RUBY_VERSION < '1.9.0'
|
3
3
|
require 'test/unit'
|
4
|
-
require File.dirname(__FILE__) + '/../lib/rutils'
|
4
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../lib/rutils'
|
5
5
|
|
6
6
|
class RutilsBaseTest < Test::Unit::TestCase
|
7
7
|
def test_rutils_location
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$KCODE = 'u' if RUBY_VERSION < '1.9.0'
|
3
3
|
require 'test/unit'
|
4
|
-
require File.dirname(__FILE__) + '/../lib/rutils'
|
4
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../lib/rutils'
|
5
5
|
|
6
6
|
|
7
7
|
class TranslitTest < Test::Unit::TestCase
|
@@ -11,43 +11,12 @@ class TranslitTest < Test::Unit::TestCase
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_translify
|
14
|
-
assert_equal "sch", 'щ'.translify
|
15
|
-
assert_equal "stansyi", "стансы".translify
|
16
|
-
assert_equal "upuschenie", 'упущение'.translify
|
17
|
-
assert_equal "sh", 'ш'.translify
|
18
|
-
assert_equal "SH", 'Ш'.translify
|
19
|
-
assert_equal "ts", 'ц'.translify
|
20
14
|
assert_equal "Eto kusok stroki russkih bukv v peremeshku s latinizey i ampersandom (pozor!) & something", @string.translify
|
21
|
-
assert_equal "Это просто некий текст".translify, "Eto prosto nekiy tekst"
|
22
|
-
|
23
|
-
assert_equal "NEVEROYATNOE UPUSCHENIE", 'НЕВЕРОЯТНОЕ УПУЩЕНИЕ'.translify
|
24
|
-
assert_equal "Neveroyatnoe Upuschenie", 'Невероятное Упущение'.translify
|
25
|
-
assert_equal "Sherstyanoy Zayats", 'Шерстяной Заяц'.translify
|
26
|
-
assert_equal "N.P. Sherstyakov", 'Н.П. Шерстяков'.translify
|
27
|
-
assert_equal "SHAROVARYI", 'ШАРОВАРЫ'.translify
|
28
15
|
end
|
29
16
|
|
30
|
-
# def test_detranslify
|
31
|
-
# puts "Шерстяной негодяй"
|
32
|
-
# assert_equal "щ", "sch".detranslify
|
33
|
-
# assert_equal "Щ", "SCH".detranslify
|
34
|
-
# assert_equal "Щ", "Sch".detranslify
|
35
|
-
# assert_equal "Щукин", "Schukin".detranslify
|
36
|
-
# assert_equal "Шерстяной негодяй", "Scherstyanoy negodyay".detranslify
|
37
|
-
# end
|
38
|
-
|
39
17
|
def test_dirify
|
40
18
|
assert_equal "eto-kusok-stroki-russkih-bukv-v-peremeshku-s-latinizey-i-ampersandom-pozor-and-something", @string.dirify
|
41
19
|
assert_equal "esche-russkiy-tekst", "Еще РусСКий теКст".dirify
|
42
20
|
assert_equal "kooperator-poobedal-offlayn", "кооператор пообедал оффлайн".dirify, "dirify не должен съедать парные буквы"
|
43
21
|
end
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
class BiDiTranslitTest < Test::Unit::TestCase
|
48
|
-
|
49
|
-
def test_bidi_translify_raises_unsupported
|
50
|
-
assert_raise(RuTils::RemovedFeature) { "xxx".bidi_translify }
|
51
|
-
assert_raise(RuTils::RemovedFeature) { "xxx".bidi_detranslify }
|
52
|
-
end
|
53
22
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 15
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version:
|
7
|
+
- 2
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 2.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Julian 'Julik' Tarkhanov
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date:
|
20
|
+
date: 2011-04-02 00:00:00 +02:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -37,43 +37,59 @@ dependencies:
|
|
37
37
|
type: :runtime
|
38
38
|
version_requirements: *id001
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
|
-
name:
|
40
|
+
name: russian
|
41
41
|
prerelease: false
|
42
42
|
requirement: &id002 !ruby/object:Gem::Requirement
|
43
43
|
none: false
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
hash:
|
47
|
+
hash: 25
|
48
48
|
segments:
|
49
|
-
- 2
|
50
49
|
- 0
|
51
|
-
-
|
52
|
-
|
53
|
-
|
50
|
+
- 2
|
51
|
+
- 7
|
52
|
+
version: 0.2.7
|
53
|
+
type: :runtime
|
54
54
|
version_requirements: *id002
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: ru_propisju
|
57
57
|
prerelease: false
|
58
58
|
requirement: &id003 !ruby/object:Gem::Requirement
|
59
59
|
none: false
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
hash:
|
63
|
+
hash: 23
|
64
|
+
segments:
|
65
|
+
- 1
|
66
|
+
- 0
|
67
|
+
- 0
|
68
|
+
version: 1.0.0
|
69
|
+
type: :runtime
|
70
|
+
version_requirements: *id003
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: hoe
|
73
|
+
prerelease: false
|
74
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
hash: 41
|
64
80
|
segments:
|
65
81
|
- 2
|
66
|
-
-
|
82
|
+
- 9
|
67
83
|
- 1
|
68
|
-
version: 2.
|
84
|
+
version: 2.9.1
|
69
85
|
type: :development
|
70
|
-
version_requirements: *
|
71
|
-
description:
|
86
|
+
version_requirements: *id004
|
87
|
+
description: DEPRECATED processing of russian strings
|
72
88
|
email:
|
73
89
|
- me@julik.nl
|
74
90
|
- yaroslav@markin.net
|
75
|
-
executables:
|
76
|
-
|
91
|
+
executables: []
|
92
|
+
|
77
93
|
extensions: []
|
78
94
|
|
79
95
|
extra_rdoc_files:
|
@@ -89,19 +105,15 @@ files:
|
|
89
105
|
- README.txt
|
90
106
|
- Rakefile.rb
|
91
107
|
- TODO.txt
|
92
|
-
- bin/rutilize
|
93
108
|
- init.rb
|
94
|
-
- lib/
|
95
|
-
- lib/datetime/datetime.rb
|
96
|
-
- lib/gilenson/gilenson_stub.rb
|
109
|
+
- lib/gilenson_stub.rb
|
97
110
|
- lib/integration/integration.rb
|
98
111
|
- lib/integration/rails_date_helper_override.rb
|
99
112
|
- lib/integration/rails_pre_filter.rb
|
100
|
-
- lib/pluralizer
|
113
|
+
- lib/pluralizer.rb
|
114
|
+
- lib/rudates.rb
|
101
115
|
- lib/rutils.rb
|
102
|
-
- lib/transliteration
|
103
|
-
- lib/transliteration/simple.rb
|
104
|
-
- lib/transliteration/transliteration.rb
|
116
|
+
- lib/transliteration.rb
|
105
117
|
- lib/version.rb
|
106
118
|
- test/extras/integration_rails_filter.rb
|
107
119
|
- test/extras/integration_rails_gilenson_helpers.rb
|
@@ -113,8 +125,9 @@ files:
|
|
113
125
|
- test/test_pluralize.rb
|
114
126
|
- test/test_rutils_base.rb
|
115
127
|
- test/test_transliteration.rb
|
128
|
+
- .gemtest
|
116
129
|
has_rdoc: true
|
117
|
-
homepage: http://rutils
|
130
|
+
homepage: http://github.com/julik/rutils
|
118
131
|
licenses: []
|
119
132
|
|
120
133
|
post_install_message:
|
@@ -147,10 +160,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
160
|
requirements: []
|
148
161
|
|
149
162
|
rubyforge_project: rutils
|
150
|
-
rubygems_version: 1.
|
163
|
+
rubygems_version: 1.4.1
|
151
164
|
signing_key:
|
152
165
|
specification_version: 3
|
153
|
-
summary:
|
166
|
+
summary: DEPRECATED processing of russian strings
|
154
167
|
test_files:
|
155
168
|
- test/test_datetime.rb
|
156
169
|
- test/test_integration.rb
|