stringex 2.0.8 → 2.0.9

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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjIzZmNiMzRhOWEzMDA0NDBlMTZjNjRlN2I2MjY4NGQxNGYxNGY4MQ==
4
+ ODY5NzllMWE1OTU5NDU0YTI5NmZhYTI4YzY5MGZhNDM2NDc3NThiMg==
5
5
  data.tar.gz: !binary |-
6
- NGZmZWVmZTdlMDlmOGY3YTEwMDgzZTUzYTc0NGI3Njc0ODEyNDVhNQ==
6
+ ODMxMDc3OWI1MGFjYmFhYzE5MGEwOGFlMWQ4YTQyOTg1MmM2ZGQzZQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MDczOTliYTA2NGFhZjE5NDRmNDk2MjcxYmI1ZDJlMjBhMTVkZWQ0MmE3NDg0
10
- YTBkODdmNzk5NmU2ODNmNTllNTA5Y2M1ODE3YTViZTYwYWVkNDgyYTNhMDcw
11
- NjJiZDM4NjE0MjlmMDYyYmMwNDdiM2VhOWQ0YTc5Zjk2ZjViNDM=
9
+ ZmFhNmQyZjJjMmM2MGY3OTBkNjMxMmFkYmQ5ZDZiYThjNjg3OWQ2OWRhMDlh
10
+ YmJlZDhmZDVkNjJmMTBlZmU2NmQzOGE5Mjk3N2Q4NDFmYzA1ZjA5ZDkzYWNk
11
+ YmM3YzdjZjg0YzZhOGJhZTA1YWIyNTIyYTBiNzEyMTM3MzY4NjE=
12
12
  data.tar.gz: !binary |-
13
- YzJkOWQxN2U2NDg0YjQ1NjJjYjIxNGRmNDM0ZThmNmRjZWU1YzQxZWIyNWVh
14
- NzQyNzU5ZmU2OGIwNWQ1NTZhOTQyMmZkZWMwNTc1YzY1YjQ5NTU1MmM2MmVk
15
- NTQ4OGE1ZTRhOGRjODU5MDU3MTlhZGUxYmZiNTQ4ZjkxZGI3YTg=
13
+ NDViM2I3YWM4NjQ4ZTk1MWMzNmJmMWMxMWIzYjRkNWE5NmFhNmMyNTEzZDcz
14
+ NDE1MTZjZGZiNGFjMjg1NDQ0MDg4YzA5MWE4NzY2ZDk4ZmE1YTk1M2ZkNzU3
15
+ OGE5NjVjNmE4Y2I2Nzg0MWFjZTkxMzFjMWYzZTJmMTZjMTBjZmQ=
@@ -103,7 +103,10 @@ Currently, built-in translations are available for the following languages:
103
103
 
104
104
  * English (en)
105
105
  * Danish (da)
106
- * Portugueuse Brazilian (pt-BR)
106
+ * German (de)
107
+ * Portuguese Brazilian (pt-BR)
108
+ * Russian (ru)
109
+
107
110
 
108
111
  You can easily add your own or customize the built-in translations - read here[https://github.com/rsl/stringex/wiki/Localization-of-Stringex-conversions]. If you add a new language, please submit a pull request so we can make it available to other users also.
109
112
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.8
1
+ 2.0.9
@@ -33,7 +33,7 @@ module Stringex
33
33
  :euros => /€/,
34
34
  :pounds => /£/,
35
35
  :yen => /¥/,
36
- :reais => /R$/
36
+ :reais => /R\$/
37
37
  }
38
38
  CURRENCIES_SUPPORTED_COMPLEX = {
39
39
  :dollars => :dollars_cents,
@@ -0,0 +1,68 @@
1
+ # NOTE: Some translation keys make use of matches from regular expressions
2
+ # to manipulate whitespace and order. Please consult the source code for
3
+ # Stringex::Localization::ConversionExpressions to see what those
4
+ # regular expressions look like if you need to manipulate the order
5
+ # differently than the usage below.
6
+ ru:
7
+ stringex:
8
+ characters:
9
+ and: и
10
+ at: в
11
+ divide: делить на
12
+ degrees: градусов
13
+ dot: \1 точка \2
14
+ ellipsis: многоточие
15
+ equals: равно
16
+ number: номер
17
+ percent: процентов
18
+ plus: плюс
19
+ slash: слеш
20
+ star: звезда
21
+ currencies:
22
+ dollars: \1 долларов
23
+ dollars_cents: \1 долларов \2 центов
24
+ pounds: \1 фунтов
25
+ pounds_pence: \1 фунтов \2 пенсов
26
+ euros: \1 евро
27
+ euros_cents: \1 евро \2 центов
28
+ yen: \1 йен
29
+ reais: \1 реал
30
+ reais_cents: \1 реал \2 сентаво
31
+ html_entities:
32
+ amp: и
33
+ cent: " центов"
34
+ copy: (c)
35
+ deg: " градусов "
36
+ divide: " делить на "
37
+ double_quote: '"'
38
+ ellipsis: "..."
39
+ en_dash: "-"
40
+ em_dash: "--"
41
+ frac14: одна четверть
42
+ frac12: половина
43
+ frac34: три четверти
44
+ gt: ">"
45
+ lt: <
46
+ nbsp: " "
47
+ pound: " фунтов "
48
+ reg: (r)
49
+ single_quote: "'"
50
+ times: x
51
+ trade: (tm)
52
+ yen: " йен "
53
+ vulgar_fractions:
54
+ half: половина
55
+ one_third: одна треть
56
+ two_thirds: две трети
57
+ one_fourth: одна четверть
58
+ three_fourths: три четверти
59
+ one_fifth: одна пятая
60
+ two_fifths: две пятых
61
+ three_fifths: три пятых
62
+ four_fifths: четыре пятых
63
+ one_sixth: одна шестая
64
+ five_sixths: пять шестых
65
+ one_eighth: одна восьмая
66
+ three_eighths: три восьмых
67
+ five_eighths: пять восьмых
68
+ seven_eighths: семь восьмых
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "stringex"
8
- s.version = "2.0.8"
8
+ s.version = "2.0.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Russell Norris"]
12
- s.date = "2013-07-31"
12
+ s.date = "2013-08-26"
13
13
  s.description = "Some [hopefully] useful extensions to Ruby's String class. Stringex is made up of three libraries: ActsAsUrl [permalink solution with better character translation], Unidecoder [Unicode to ASCII transliteration], and StringExtensions [miscellaneous helper methods for the String class]."
14
14
  s.email = "rsl@luckysneaks.com"
15
15
  s.extra_rdoc_files = [
@@ -230,6 +230,7 @@ Gem::Specification.new do |s|
230
230
  "locales/de.yml",
231
231
  "locales/en.yml",
232
232
  "locales/pt-BR.yml",
233
+ "locales/ru.yml",
233
234
  "stringex.gemspec",
234
235
  "test/performance/localization_performance_test.rb",
235
236
  "test/test_helper.rb",
@@ -242,6 +243,7 @@ Gem::Specification.new do |s|
242
243
  "test/unit/localization/de_test.rb",
243
244
  "test/unit/localization/default_test.rb",
244
245
  "test/unit/localization/en_test.rb",
246
+ "test/unit/localization/ru_test.rb",
245
247
  "test/unit/localization_18n_failure_test.rb",
246
248
  "test/unit/localization_test.rb",
247
249
  "test/unit/redcloth_to_html_test.rb",
@@ -0,0 +1,129 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'test_helper'
4
+ require 'i18n'
5
+ require 'stringex'
6
+
7
+ class RussianYAMLLocalizationTest < Test::Unit::TestCase
8
+ def setup
9
+ Stringex::Localization.reset!
10
+ Stringex::Localization.backend = :i18n
11
+ Stringex::Localization.backend.load_translations :ru
12
+ Stringex::Localization.locale = :ru
13
+ end
14
+
15
+ {
16
+ "foo & bar" => "foo и bar",
17
+ "AT&T" => "AT и T",
18
+ "99° is normal" => "99 градусов is normal",
19
+ "4 ÷ 2 is 2" => "4 делить на 2 is 2",
20
+ "webcrawler.com" => "webcrawler точка com",
21
+ "Well..." => "Well многоточие",
22
+ "x=1" => "x равно 1",
23
+ "a #2 pencil" => "a номер 2 pencil",
24
+ "100%" => "100 процентов",
25
+ "cost+tax" => "cost плюс tax",
26
+ "batman/robin fan fiction" => "batman слеш robin fan fiction",
27
+ "dial *69" => "dial звезда 69",
28
+ " i leave whitespace on ends unchanged " => " i leave whitespace on ends unchanged "
29
+ }.each do |original, converted|
30
+ define_method "test_character_conversion: '#{original}'" do
31
+ assert_equal converted, original.convert_miscellaneous_characters
32
+ end
33
+ end
34
+
35
+ {
36
+ "$100" => "100 долларов",
37
+ "$19.99" => "19 долларов 99 центов",
38
+ "£100" => "100 фунтов",
39
+ "£19.99" => "19 фунтов 99 пенсов",
40
+ "€100" => "100 евро",
41
+ "€19.99" => "19 евро 99 центов",
42
+ "¥1000" => "1000 йен"
43
+ }.each do |original, converted|
44
+ define_method "test_currency_conversion: '#{original}'" do
45
+ assert_equal converted, original.convert_miscellaneous_characters
46
+ end
47
+ end
48
+
49
+ {
50
+ "Tea &amp; Sympathy" => "Tea и Sympathy",
51
+ "10&cent;" => "10 центов",
52
+ "&copy;2000" => "(c)2000",
53
+ "98&deg; is fine" => "98 градусов is fine",
54
+ "10&divide;5" => "10 делить на 5",
55
+ "&quot;quoted&quot;" => '"quoted"',
56
+ "to be continued&hellip;" => "to be continued...",
57
+ "2000&ndash;2004" => "2000-2004",
58
+ "I wish&mdash;oh, never mind" => "I wish--oh, never mind",
59
+ "&frac12; ounce of gold" => "половина ounce of gold",
60
+ "1 and &frac14; ounces of silver" => "1 and одна четверть ounces of silver",
61
+ "9 and &frac34; ounces of platinum" => "9 and три четверти ounces of platinum",
62
+ "3&gt;2" => "3>2",
63
+ "2&lt;3" => "2<3",
64
+ "two&nbsp;words" => "two words",
65
+ "&pound;100" => "фунтов 100",
66
+ "Walmart&reg;" => "Walmart(r)",
67
+ "&apos;single quoted&apos;" => "'single quoted'",
68
+ "2&times;4" => "2x4",
69
+ "Programming&trade;" => "Programming(tm)",
70
+ "&yen;20000" => "йен 20000",
71
+ " i leave whitespace on ends unchanged " => " i leave whitespace on ends unchanged "
72
+ }.each do |original, converted|
73
+ define_method "test_html_entity_conversion: '#{original}'" do
74
+ assert_equal converted, original.convert_miscellaneous_html_entities
75
+ end
76
+ end
77
+
78
+ {
79
+ "&frac12;" => "половина",
80
+ "½" => "половина",
81
+ "&#189;" => "половина",
82
+ "⅓" => "одна треть",
83
+ "&#8531;" => "одна треть",
84
+ "⅔" => "две трети",
85
+ "&#8532;" => "две трети",
86
+ "&frac14;" => "одна четверть",
87
+ "¼" => "одна четверть",
88
+ "&#188;" => "одна четверть",
89
+ "&frac34;" => "три четверти",
90
+ "¾" => "три четверти",
91
+ "&#190;" => "три четверти",
92
+ "⅕" => "одна пятая",
93
+ "&#8533;" => "одна пятая",
94
+ "⅖" => "две пятых",
95
+ "&#8534;" => "две пятых",
96
+ "⅗" => "три пятых",
97
+ "&#8535;" => "три пятых",
98
+ "⅘" => "четыре пятых",
99
+ "&#8536;" => "четыре пятых",
100
+ "⅙" => "одна шестая",
101
+ "&#8537;" => "одна шестая",
102
+ "⅚" => "пять шестых",
103
+ "&#8538;" => "пять шестых",
104
+ "⅛" => "одна восьмая",
105
+ "&#8539;" => "одна восьмая",
106
+ "⅜" => "три восьмых",
107
+ "&#8540;" => "три восьмых",
108
+ "⅝" => "пять восьмых",
109
+ "&#8541;" => "пять восьмых",
110
+ "⅞" => "семь восьмых",
111
+ "&#8542;" => "семь восьмых"
112
+ }.each do |original, converted|
113
+ define_method "test_vulgar_fractions_conversion: #{original}" do
114
+ assert_equal converted, original.convert_vulgar_fractions
115
+ end
116
+ end
117
+
118
+ {
119
+ "foo & bar" => "foo-i-bar",
120
+ "AT&T" => "at-i-t",
121
+ "99° is normal" => "99-ghradusov-is-normal",
122
+ "4 ÷ 2 is 2" => "4-dielit-na-2-is-2",
123
+ "webcrawler.com" => "webcrawler-tochka-com",
124
+ }.each do |original, converted|
125
+ define_method "test_character_conversion: '#{original}'" do
126
+ assert_equal converted, original.to_url
127
+ end
128
+ end
129
+ end
@@ -75,7 +75,13 @@ class StringExtensionsTest < Test::Unit::TestCase
75
75
  "$1,000" =>
76
76
  "1000-dollars",
77
77
  "«zut alors»" =>
78
- "zut-alors"
78
+ "zut-alors",
79
+ "Rabbits aren't real" =>
80
+ "rabbits-arent-real",
81
+ "R" =>
82
+ "r",
83
+ "R$ isn't R" =>
84
+ "reais-isnt-r"
79
85
  }.each do |html, plain|
80
86
  assert_equal plain, html.to_url
81
87
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stringex
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.8
4
+ version: 2.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Russell Norris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-31 00:00:00.000000000 Z
11
+ date: 2013-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -388,6 +388,7 @@ files:
388
388
  - locales/de.yml
389
389
  - locales/en.yml
390
390
  - locales/pt-BR.yml
391
+ - locales/ru.yml
391
392
  - stringex.gemspec
392
393
  - test/performance/localization_performance_test.rb
393
394
  - test/test_helper.rb
@@ -400,6 +401,7 @@ files:
400
401
  - test/unit/localization/de_test.rb
401
402
  - test/unit/localization/default_test.rb
402
403
  - test/unit/localization/en_test.rb
404
+ - test/unit/localization/ru_test.rb
403
405
  - test/unit/localization_18n_failure_test.rb
404
406
  - test/unit/localization_test.rb
405
407
  - test/unit/redcloth_to_html_test.rb