srbovanje 0.1.0 → 0.2.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/README.md +28 -0
- data/Rakefile +6 -0
- data/lib/srbovanje.rb +3 -1
- data/lib/srbovanje/string_ext.rb +14 -17
- data/test/string_ext_test.rb +16 -14
- data/test/test_helper.rb +2 -0
- metadata +24 -13
- data/README.rdoc +0 -33
- data/VERSION.yml +0 -4
data/README.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
srbovanje
|
2
|
+
=========
|
3
|
+
|
4
|
+
Ruby gem za transliteraciju ćirilice na latinicu i tzv. ASCII latinicu
|
5
|
+
|
6
|
+
|
7
|
+
## Instaliranje
|
8
|
+
|
9
|
+
gem install srbovanje
|
10
|
+
|
11
|
+
|
12
|
+
## Korišćenje
|
13
|
+
|
14
|
+
>> "Ђурђевак".recode_sr_latin
|
15
|
+
=> "Đurđevak"
|
16
|
+
|
17
|
+
>> "Железница Србије".recode_sr_ascii_latin
|
18
|
+
=> "Zeleznica Srbije"
|
19
|
+
|
20
|
+
|
21
|
+
## Zašto "recode_sr_latin" kao naziv metode?
|
22
|
+
|
23
|
+
Zbog http://man.he.net/man1/recode-sr-latin
|
24
|
+
|
25
|
+
|
26
|
+
## Autor
|
27
|
+
|
28
|
+
[Dejan Simić](http://github.com/dejan)
|
data/Rakefile
ADDED
data/lib/srbovanje.rb
CHANGED
data/lib/srbovanje/string_ext.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
2
|
|
3
|
-
|
3
|
+
String.class_eval do
|
4
|
+
@@recode_sr_latin_map = {
|
4
5
|
'а' => 'a',
|
5
6
|
'А' => 'A',
|
6
7
|
'б' => 'b',
|
@@ -62,8 +63,8 @@ class String
|
|
62
63
|
'ш' => 'š',
|
63
64
|
'Ш' => 'Š' }
|
64
65
|
|
65
|
-
@@
|
66
|
-
@@
|
66
|
+
@@recode_sr_ascii_latin_map =
|
67
|
+
@@recode_sr_latin_map.merge(
|
67
68
|
'ћ' => 'c',
|
68
69
|
'ć' => 'c',
|
69
70
|
'ч' => 'c',
|
@@ -87,24 +88,20 @@ class String
|
|
87
88
|
'џ' => 'dz',
|
88
89
|
'Џ' => 'DZ')
|
89
90
|
|
90
|
-
def
|
91
|
-
self.class.recode(self.dup, @@
|
91
|
+
def recode_sr_latin
|
92
|
+
self.class.recode(self.dup, @@recode_sr_latin_map)
|
92
93
|
end
|
93
94
|
|
94
|
-
def
|
95
|
-
self.class.recode(self, @@
|
95
|
+
def recode_sr_latin!
|
96
|
+
self.class.recode(self, @@recode_sr_latin_map)
|
96
97
|
end
|
97
98
|
|
98
|
-
def
|
99
|
-
self.class.recode(self.dup, @@
|
99
|
+
def recode_sr_ascii_latin
|
100
|
+
self.class.recode(self.dup, @@recode_sr_ascii_latin_map)
|
100
101
|
end
|
101
102
|
|
102
|
-
def
|
103
|
-
self.class.recode(self, @@
|
104
|
-
end
|
105
|
-
|
106
|
-
def self.abeceda
|
107
|
-
@@abeceda ||= %w(A B C Č Ć D DŽ Đ E F G H I J K L LJ M N NJ O P R S Š T U V Z Ž)
|
103
|
+
def recode_sr_ascii_latin!
|
104
|
+
self.class.recode(self, @@recode_sr_ascii_latin_map)
|
108
105
|
end
|
109
106
|
|
110
107
|
def self.abeceda
|
@@ -112,7 +109,7 @@ class String
|
|
112
109
|
end
|
113
110
|
|
114
111
|
def slugify(separator = '-', return_separator_if_empty = true)
|
115
|
-
s = parameterize(self.
|
112
|
+
s = parameterize(self.recode_sr_ascii_latin, separator)
|
116
113
|
s.empty? && return_separator_if_empty ? separator : s
|
117
114
|
end
|
118
115
|
|
data/test/string_ext_test.rb
CHANGED
@@ -1,38 +1,40 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
1
3
|
require File.dirname(__FILE__) + '/test_helper'
|
2
4
|
|
3
5
|
class TestStringExt < Test::Unit::TestCase
|
4
|
-
def
|
6
|
+
def test_recode_sr_latin
|
5
7
|
# don't change argument
|
6
8
|
str = "ЊЕГОШ"
|
7
|
-
assert_equal("NJEGOŠ", str.
|
9
|
+
assert_equal("NJEGOŠ", str.recode_sr_latin)
|
8
10
|
assert_equal("ЊЕГОШ", str)
|
9
11
|
|
10
12
|
# plain
|
11
|
-
assert_equal("NJEGOŠ", "ЊЕГОШ".
|
12
|
-
assert_equal("Šaban Šaulić", "Шабан Шаулић".
|
13
|
-
assert_equal("elektrodistribucija", "електродистрибуција".
|
14
|
-
assert_equal("Đurđevak", "Ђурђевак".
|
13
|
+
assert_equal("NJEGOŠ", "ЊЕГОШ".recode_sr_latin)
|
14
|
+
assert_equal("Šaban Šaulić", "Шабан Шаулић".recode_sr_latin)
|
15
|
+
assert_equal("elektrodistribucija", "електродистрибуција".recode_sr_latin)
|
16
|
+
assert_equal("Đurđevak", "Ђурђевак".recode_sr_latin)
|
15
17
|
|
16
18
|
# non_convertive_characters
|
17
|
-
assert_equal("Latinica", "Latinica".
|
18
|
-
assert_equal('[]2#}(,.);2@$"', '[]2#}(,.);2@$"'.
|
19
|
+
assert_equal("Latinica", "Latinica".recode_sr_latin)
|
20
|
+
assert_equal('[]2#}(,.);2@$"', '[]2#}(,.);2@$"'.recode_sr_latin)
|
19
21
|
end
|
20
22
|
|
21
|
-
def
|
23
|
+
def test_recode_sr_latin!
|
22
24
|
str = "ноћ"
|
23
|
-
assert_equal("noć", str.
|
25
|
+
assert_equal("noć", str.recode_sr_latin!)
|
24
26
|
assert_equal("noć", str)
|
25
27
|
end
|
26
28
|
|
27
|
-
def
|
29
|
+
def test_recode_sr_ascii_latin
|
28
30
|
str = "Железница Србије"
|
29
|
-
assert_equal("Zeleznica Srbije", str.
|
31
|
+
assert_equal("Zeleznica Srbije", str.recode_sr_ascii_latin)
|
30
32
|
assert_equal("Железница Србије", str)
|
31
33
|
end
|
32
34
|
|
33
|
-
def
|
35
|
+
def test_recode_sr_ascii_latin!
|
34
36
|
str = "ноћ"
|
35
|
-
assert_equal("noc", str.
|
37
|
+
assert_equal("noc", str.recode_sr_ascii_latin!)
|
36
38
|
assert_equal("noc", str)
|
37
39
|
end
|
38
40
|
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: srbovanje
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Dejan Simic
|
@@ -9,11 +15,11 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2011-01-05 00:00:00 +01:00
|
13
19
|
default_executable:
|
14
20
|
dependencies: []
|
15
21
|
|
16
|
-
description: "Ruby gem za transliteraciju \xC4\x87irilice na latinicu i tzv. ASCII latinicu"
|
22
|
+
description: "Ruby gem za transliteraciju \xC4\x87irilice na latinicu i tzv. ASCII latinicu."
|
17
23
|
email: desimic@gmail.com
|
18
24
|
executables: []
|
19
25
|
|
@@ -22,40 +28,45 @@ extensions: []
|
|
22
28
|
extra_rdoc_files: []
|
23
29
|
|
24
30
|
files:
|
25
|
-
-
|
26
|
-
- VERSION.yml
|
31
|
+
- Rakefile
|
27
32
|
- lib/srbovanje/string_ext.rb
|
28
33
|
- lib/srbovanje.rb
|
29
34
|
- test/string_ext_test.rb
|
30
35
|
- test/test_helper.rb
|
36
|
+
- README.md
|
31
37
|
has_rdoc: true
|
32
38
|
homepage: http://github.com/dejan/srbovanje
|
33
39
|
licenses: []
|
34
40
|
|
35
41
|
post_install_message:
|
36
|
-
rdoc_options:
|
37
|
-
|
38
|
-
- --charset=UTF-8
|
42
|
+
rdoc_options: []
|
43
|
+
|
39
44
|
require_paths:
|
40
45
|
- lib
|
41
46
|
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
42
48
|
requirements:
|
43
49
|
- - ">="
|
44
50
|
- !ruby/object:Gem::Version
|
51
|
+
hash: 3
|
52
|
+
segments:
|
53
|
+
- 0
|
45
54
|
version: "0"
|
46
|
-
version:
|
47
55
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
48
57
|
requirements:
|
49
58
|
- - ">="
|
50
59
|
- !ruby/object:Gem::Version
|
60
|
+
hash: 3
|
61
|
+
segments:
|
62
|
+
- 0
|
51
63
|
version: "0"
|
52
|
-
version:
|
53
64
|
requirements: []
|
54
65
|
|
55
66
|
rubyforge_project:
|
56
|
-
rubygems_version: 1.3.
|
67
|
+
rubygems_version: 1.3.7
|
57
68
|
signing_key:
|
58
|
-
specification_version:
|
59
|
-
summary: "Ruby gem za transliteraciju \xC4\x87irilice na latinicu i tzv. ASCII latinicu"
|
69
|
+
specification_version: 3
|
70
|
+
summary: "Ruby gem za transliteraciju \xC4\x87irilice na latinicu i tzv. ASCII latinicu."
|
60
71
|
test_files: []
|
61
72
|
|
data/README.rdoc
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
= srbovanje
|
2
|
-
|
3
|
-
Esencijalni Ruby Gem za Ruby aplikaciju na srpskom. Pruža mogućnosti:
|
4
|
-
|
5
|
-
* transliteracije ćirilice na latinicu (npr. "Ђурђевак" u "Đurđevak")
|
6
|
-
* transliteracije ćirilice na ascii latinicu (npr. "Ђурђевак" u "Djurdjevak")
|
7
|
-
* slugifikacije (parametrizaciju) stringa na srpskom (npr: "Železnica Srbije" u "zeleznica-srbije")
|
8
|
-
* ispisa relativnih vremena u rečima, pravopisno ispravno (npr. "3 sata"; Rails lokalizacija ne razlikuje različite oblike u zavisnosti od količine i ispisao bi pogrešno "3 sati")
|
9
|
-
|
10
|
-
|
11
|
-
== Upotreba
|
12
|
-
|
13
|
-
=== Transliteracije ćirilice na latinicu
|
14
|
-
|
15
|
-
>> "Ђурђевак".latin
|
16
|
-
=> "Đurđevak"
|
17
|
-
|
18
|
-
=== Transliteracije ćirilice na ascii latinicu
|
19
|
-
|
20
|
-
>> "Ђурђевак".ascii_latin
|
21
|
-
=> "Djurdjevak"
|
22
|
-
|
23
|
-
=== slugifikacije (parametrizaciju) stringa na srpskom
|
24
|
-
|
25
|
-
>> "Železnica Srbije".ascii_latin
|
26
|
-
=> "zeleznica-srbije"
|
27
|
-
|
28
|
-
=== ispisa relativnih vremena u rečima (npr. "3 sata")
|
29
|
-
|
30
|
-
|
31
|
-
== Autor
|
32
|
-
|
33
|
-
{Dejan Simić}[http://github.com/dejan]
|
data/VERSION.yml
DELETED