vydumschik 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.
@@ -6,8 +6,8 @@ module Vydumschik
6
6
  # This module generate lipsum-like russian pseudosentences.
7
7
  #
8
8
  # Warning!
9
- # To avoid using ActiveSupport for multibyte support, or anything similar,
10
- # I just assume that all russian chars are 2-byte (as in UTF8) and that I
9
+ # To avoid using ActiveSupport for multibyte support, or anything similar,
10
+ # I just assume that all russian chars are 2-byte (as in UTF8) and that I
11
11
  # always get a russian char when I ask for one.
12
12
  module Lorem
13
13
 
@@ -28,7 +28,7 @@ module Vydumschik
28
28
 
29
29
  # Consonants, normalized by character frequency
30
30
  CONSONANTS_NORMALIZED = %w(б б б б б б б б б б б б б б б б б б б в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в в г г г г г г г г г г г г г г г г г г г д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д ж ж ж ж ж ж ж ж ж ж ж ж з з з з з з з з з з з з з з з з з з й й й й й й й й й й й к к к к к к к к к к к к к к к к к к к к к к к к к к к к к к к к к к к к л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л л м м м м м м м м м м м м м м м м м м м м м м м м м м м м м м м м н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н н п п п п п п п п п п п п п п п п п п п п п п п п п п р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р р с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т т ф х х х х х х х х ц ц ц ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч ш ш ш ш ш ш ш ш ш щ щ щ)
31
-
31
+
32
32
  # Vowels, normalized by character frequency
33
33
  VOWELS_NORMALIZED = %w(а а а а а а а а а а а а а а а а а а а а а а а а а а а а е е е е е е е е е е е е е е е е е е е е е е е е е е е е е е е и и и и и и и и и и и и и и и и и и и и и и о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о о у у у у у у у у у ы ы ы ы ы ы э ю ю я я я я я я я)
34
34
 
@@ -79,14 +79,22 @@ module Vydumschik
79
79
  limits.first + rand(limits.last-limits.first+1)
80
80
  end
81
81
 
82
- # Capitalizes a russian string. Works only with UTF8.
83
- def self.capitalize_ru(word)
84
- w = word.clone
85
- code = (w[1]-0b10000000) + ((w[0]-0b11000000)<<6)
86
- code -= 32
87
- w[1] = (code & 0b00111111) | 0b10000000
88
- w[0] = (code >> 6) | 0b11000000
89
- w
82
+ if RUBY_VERSION < '1.9'
83
+ # Capitalizes a russian string. Works only with UTF8.
84
+ def self.capitalize_ru(word)
85
+ w = word.clone
86
+ code = (w[1]-0b10000000) + ((w[0]-0b11000000)<<6)
87
+ code -= 32
88
+ w[1] = (code & 0b00111111) | 0b10000000
89
+ w[0] = (code >> 6) | 0b11000000
90
+ w
91
+ end
92
+ else
93
+ def self.capitalize_ru(word)
94
+ w = word.clone
95
+ w[0] = (w[0].ord-32).chr(Encoding::UTF_8)
96
+ w
97
+ end
90
98
  end
91
99
  end
92
100
  end
@@ -1,3 +1,3 @@
1
1
  module Vydumschik
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Vydumschik::Address do
4
+ subject { described_class }
5
+
6
+ it "should construct streets" do
7
+ subject.street.should be_a String
8
+ end
9
+
10
+ it "should construct buildings" do
11
+ subject.building.should be_a String
12
+ end
13
+
14
+ it "should construct apartment numbers" do
15
+ subject.apartment.should be_a String
16
+ end
17
+
18
+ it "should construct street addresses" do
19
+ subject.street_address.should be_a String
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Vydumschik::Lorem do
4
+ subject { described_class }
5
+
6
+ it "should generate words" do
7
+ subject.word.should be_a String
8
+ end
9
+
10
+ it "should generate sentences" do
11
+ subject.sentence.should be_a String
12
+ end
13
+
14
+ it "should generate paragraphs" do
15
+ subject.paragraph.should be_a String
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Vydumschik::Name do
4
+ subject { described_class }
5
+
6
+ it "should generate first names" do
7
+ subject.first_name.should be_a String
8
+ end
9
+
10
+ it "should generate middle names" do
11
+ subject.middle_name.should be_a String
12
+ end
13
+
14
+ it "should generate surnames" do
15
+ subject.surname.should be_a String
16
+ end
17
+
18
+ it "should generate full names" do
19
+ subject.full_name.should be_a String
20
+ end
21
+ end
@@ -0,0 +1 @@
1
+ require 'vydumschik'
@@ -13,6 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.description = %q{Vydumschik creates fake Cyrillic names, surnames, full names, and lipsum-like text}
14
14
 
15
15
  s.add_development_dependency "rake"
16
+ s.add_development_dependency "rspec"
16
17
 
17
18
  s.files = `git ls-files`.split("\n")
18
19
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vydumschik
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-09 00:00:00.000000000 Z
12
+ date: 2012-10-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70199312569300 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,28 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70199312569300
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
25
46
  description: Vydumschik creates fake Cyrillic names, surnames, full names, and lipsum-like
26
47
  text
27
48
  email:
@@ -31,6 +52,8 @@ extensions: []
31
52
  extra_rdoc_files: []
32
53
  files:
33
54
  - .gitignore
55
+ - .travis.yml
56
+ - CHANGELOG.md
34
57
  - Gemfile
35
58
  - README.md
36
59
  - Rakefile
@@ -41,6 +64,10 @@ files:
41
64
  - lib/vydumschik/lorem.rb
42
65
  - lib/vydumschik/name.rb
43
66
  - lib/vydumschik/version.rb
67
+ - spec/address_spec.rb
68
+ - spec/lorem_spec.rb
69
+ - spec/name_spec.rb
70
+ - spec/spec_helper.rb
44
71
  - vydumschik.gemspec
45
72
  homepage: https://github.com/leonid-shevtsov/vydumschik
46
73
  licenses: []
@@ -56,7 +83,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
56
83
  version: '0'
57
84
  segments:
58
85
  - 0
59
- hash: 2714277203479657839
86
+ hash: -4373301890017139685
60
87
  required_rubygems_version: !ruby/object:Gem::Requirement
61
88
  none: false
62
89
  requirements:
@@ -65,11 +92,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
92
  version: '0'
66
93
  segments:
67
94
  - 0
68
- hash: 2714277203479657839
95
+ hash: -4373301890017139685
69
96
  requirements: []
70
97
  rubyforge_project:
71
- rubygems_version: 1.8.17
98
+ rubygems_version: 1.8.24
72
99
  signing_key:
73
100
  specification_version: 3
74
101
  summary: A fake data library (Vydumschik is russian for "inventor")
75
- test_files: []
102
+ test_files:
103
+ - spec/address_spec.rb
104
+ - spec/lorem_spec.rb
105
+ - spec/name_spec.rb
106
+ - spec/spec_helper.rb