srbovanje 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,6 @@
1
+ require 'rake/testtask'
2
+
3
+ desc 'Test srbovanje'
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.pattern = 'test/**/*_test.rb'
6
+ end
data/lib/srbovanje.rb CHANGED
@@ -1,3 +1,5 @@
1
- $KCODE = 'UTF8'
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ $KCODE = 'UTF8' if RUBY_VERSION.to_f < 1.9
2
4
 
3
5
  require 'srbovanje/string_ext.rb'
@@ -1,6 +1,7 @@
1
- class String
1
+ # -*- encoding: utf-8 -*-
2
2
 
3
- @@latin_map = {
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
- @@ascii_latin_map =
66
- @@latin_map.merge(
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 latin
91
- self.class.recode(self.dup, @@latin_map)
91
+ def recode_sr_latin
92
+ self.class.recode(self.dup, @@recode_sr_latin_map)
92
93
  end
93
94
 
94
- def latin!
95
- self.class.recode(self, @@latin_map)
95
+ def recode_sr_latin!
96
+ self.class.recode(self, @@recode_sr_latin_map)
96
97
  end
97
98
 
98
- def ascii_latin
99
- self.class.recode(self.dup, @@ascii_latin_map)
99
+ def recode_sr_ascii_latin
100
+ self.class.recode(self.dup, @@recode_sr_ascii_latin_map)
100
101
  end
101
102
 
102
- def ascii_latin!
103
- self.class.recode(self, @@ascii_latin_map)
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.ascii_latin, separator)
112
+ s = parameterize(self.recode_sr_ascii_latin, separator)
116
113
  s.empty? && return_separator_if_empty ? separator : s
117
114
  end
118
115
 
@@ -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 test_latin
6
+ def test_recode_sr_latin
5
7
  # don't change argument
6
8
  str = "ЊЕГОШ"
7
- assert_equal("NJEGOŠ", str.latin)
9
+ assert_equal("NJEGOŠ", str.recode_sr_latin)
8
10
  assert_equal("ЊЕГОШ", str)
9
11
 
10
12
  # plain
11
- assert_equal("NJEGOŠ", "ЊЕГОШ".latin)
12
- assert_equal("Šaban Šaulić", "Шабан Шаулић".latin)
13
- assert_equal("elektrodistribucija", "електродистрибуција".latin)
14
- assert_equal("Đurđevak", "Ђурђевак".latin)
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".latin)
18
- assert_equal('[]2#}(,.);2@$"', '[]2#}(,.);2@$"'.latin)
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 test_latin!
23
+ def test_recode_sr_latin!
22
24
  str = "ноћ"
23
- assert_equal("noć", str.latin!)
25
+ assert_equal("noć", str.recode_sr_latin!)
24
26
  assert_equal("noć", str)
25
27
  end
26
28
 
27
- def test_ascii_latin
29
+ def test_recode_sr_ascii_latin
28
30
  str = "Железница Србије"
29
- assert_equal("Zeleznica Srbije", str.ascii_latin)
31
+ assert_equal("Zeleznica Srbije", str.recode_sr_ascii_latin)
30
32
  assert_equal("Железница Србије", str)
31
33
  end
32
34
 
33
- def test_latin!
35
+ def test_recode_sr_ascii_latin!
34
36
  str = "ноћ"
35
- assert_equal("noc", str.ascii_latin!)
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
@@ -1,3 +1,5 @@
1
+ # -*- encoding: utf-8 -*-
2
+
1
3
  require "test/unit"
2
4
 
3
5
  require File.dirname(__FILE__) + '/../lib/srbovanje'
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: srbovanje
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
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: 2009-03-14 00:00:00 +01:00
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
- - README.rdoc
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
- - --inline-source
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.5
67
+ rubygems_version: 1.3.7
57
68
  signing_key:
58
- specification_version: 2
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
@@ -1,4 +0,0 @@
1
- ---
2
- :major: 1
3
- :minor: 0
4
- :patch: 0