ffaker 1.16.1 → 1.16.2
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/{Changelog.rdoc → Changelog.md} +28 -25
- data/LICENSE +1 -1
- data/README.md +82 -0
- data/ffaker.gemspec +5 -5
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/ssn_se.rb +1 -1
- metadata +53 -62
- data/README.rdoc +0 -101
@@ -1,69 +1,72 @@
|
|
1
|
-
|
1
|
+
## 1.16.2
|
2
|
+
Small bug fix and updated docs.
|
3
|
+
|
4
|
+
## 1.16.1
|
2
5
|
Fixes for ruby 1.8.x
|
3
6
|
|
4
|
-
|
7
|
+
## 1.16.0
|
5
8
|
Many module additions from different contributors!
|
6
9
|
|
7
|
-
|
10
|
+
## 1.15.0
|
8
11
|
NameKR (https://github.com/EmmanuelOga/ffaker/pull/47) and PhoneNumbersSG
|
9
12
|
(https://github.com/EmmanuelOga/ffaker/pull/46).
|
10
13
|
|
11
|
-
|
14
|
+
## 1.14.0
|
12
15
|
|
13
16
|
AddressSN (thanks PapePathe), and a bugfix on Faker::Product.model (thanks finarfin).
|
14
17
|
|
15
|
-
|
18
|
+
## 1.13.0
|
16
19
|
|
17
20
|
Education bug fix, Faker::Job (thanks Piotr Usewicz)
|
18
21
|
|
19
|
-
|
22
|
+
## 1.12.0
|
20
23
|
|
21
24
|
Faker::AddressAU and FakkerAddressPhoneAU modules (thanks Ben Wiseley).
|
22
25
|
|
23
|
-
|
26
|
+
## 1.11.0
|
24
27
|
|
25
28
|
Extraction of AddressUK and AddressUS classes. (Thanks doctorbh).
|
26
29
|
|
27
|
-
|
30
|
+
## 1.10.1
|
28
31
|
|
29
32
|
Faker::AddressCA (Thanks doctorbh, https://github.com/EmmanuelOga/ffaker/pull/27)
|
30
33
|
|
31
|
-
|
34
|
+
## 1.9.1
|
32
35
|
|
33
36
|
Faker::NameSN, Faker::PhoneNumberSN (Thanks SENE, https://github.com/EmmanuelOga/ffaker/pull/26)
|
34
37
|
|
35
38
|
Added Faker::NameJA (Thanks kichiro, https://github.com/EmmanuelOga/ffaker/pull/21)
|
36
39
|
|
37
|
-
|
40
|
+
## 1.8.1
|
38
41
|
|
39
42
|
Remove a warning.
|
40
43
|
|
41
|
-
|
44
|
+
## 1.8.0
|
42
45
|
|
43
46
|
Faker::HTMLIpsum module inspired in http://html-ipsum.com/ (Thanks Chris Bloom, https://github.com/EmmanuelOga/ffaker/pull/18)
|
44
47
|
|
45
|
-
|
48
|
+
## 1.7.0
|
46
49
|
|
47
50
|
Faker::LoremCN (Thanks Shane Weng, Shane Weng, https://github.com/swcool, https://github.com/EmmanuelOga/ffaker/pull/16/files)
|
48
51
|
|
49
|
-
|
52
|
+
## 1.6.0
|
50
53
|
|
51
54
|
Faker::NameDE (thanks David Noelte, https://github.com/marvin, https://github.com/EmmanuelOga/ffaker/pull/17)
|
52
55
|
Added Faker::Internet#disposable_email (Thanks Port 80 Labs, https://github.com/port80labs, https://github.com/EmmanuelOga/ffaker/pull/15)
|
53
56
|
|
54
|
-
|
57
|
+
## 1.5.0
|
55
58
|
|
56
59
|
Faker::NameRU (Thanks Vsevolod Romashov, https://github.com/7even, https://github.com/EmmanuelOga/ffaker/pull/14)
|
57
60
|
|
58
|
-
|
61
|
+
## 1.4.0
|
59
62
|
|
60
63
|
Faker::Product and Faker::Education (thanks Rico Sta. Cruz, https://github.com/EmmanuelOga/ffaker/pull/12 )
|
61
64
|
|
62
|
-
|
65
|
+
## 1.3.0
|
63
66
|
|
64
67
|
Faker::Lorem.word as a convenience method, instead of Faker::Lorem.words(1).first.
|
65
68
|
|
66
|
-
|
69
|
+
## 1.2.0
|
67
70
|
|
68
71
|
New Faker::NameCN module (contributions by qichunren)
|
69
72
|
|
@@ -71,7 +74,7 @@ New Faker::NameCN module (contributions by qichunren)
|
|
71
74
|
Faker::NameCN.last_name # => 禹
|
72
75
|
Faker::NameCN.name # => 俊伶漫
|
73
76
|
|
74
|
-
|
77
|
+
## 1.1.0
|
75
78
|
|
76
79
|
Api additions (contributions by Robert Berry)
|
77
80
|
|
@@ -79,7 +82,7 @@ Api additions (contributions by Robert Berry)
|
|
79
82
|
Faker::Internet.http_url
|
80
83
|
Faker::Internet.ip_v4_address
|
81
84
|
|
82
|
-
|
85
|
+
## 0.4.0
|
83
86
|
|
84
87
|
Api additions by Rafael Souza
|
85
88
|
|
@@ -88,21 +91,21 @@ Api additions by Rafael Souza
|
|
88
91
|
Faker::Address.neighborhood # => "Renton West"
|
89
92
|
|
90
93
|
|
91
|
-
|
94
|
+
## 0.3.3 2010-01-14
|
92
95
|
|
93
96
|
* removed library file and directory "faker". now you only can load the gem using require 'ffaker'
|
94
97
|
|
95
|
-
|
98
|
+
## 0.3.2 2010-01-14
|
96
99
|
|
97
100
|
* Several Optimizations, renamed gem packege to ffaker.
|
98
101
|
|
99
|
-
|
102
|
+
## 0.3.1 2008-04-03
|
100
103
|
|
101
104
|
1 minor enhancement:
|
102
105
|
|
103
106
|
* Added city to Address
|
104
107
|
|
105
|
-
|
108
|
+
## 0.3.0 2008-01-01
|
106
109
|
|
107
110
|
3 major enhancements:
|
108
111
|
|
@@ -110,7 +113,7 @@ Api additions by Rafael Souza
|
|
110
113
|
* Added secondary_address to Address, and made inclusion of secondary address in street_address optional (false by default).
|
111
114
|
* Added UK address methods [Caius Durling]
|
112
115
|
|
113
|
-
|
116
|
+
## 0.2.1 2007-12-05
|
114
117
|
|
115
118
|
1 major enhancement:
|
116
119
|
|
@@ -121,6 +124,6 @@ Api additions by Rafael Souza
|
|
121
124
|
* Changed the output of user_name to randomly separate with a . or _
|
122
125
|
* Added a few tests
|
123
126
|
|
124
|
-
|
127
|
+
## 0.1.0 2007-11-22
|
125
128
|
|
126
129
|
* Initial release
|
data/LICENSE
CHANGED
data/README.md
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
# ffaker
|
2
|
+
|
3
|
+
[ffaker](http://rubygems.org/gems/ffaker) is a rewrite of [faker](http://rubygems.org/gems/faker).
|
4
|
+
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
require 'ffaker'
|
9
|
+
Faker::Name.name => "Christophe Bartell"
|
10
|
+
Faker::Internet.email => "kirsten.greenholt@corkeryfisher.info"
|
11
|
+
```
|
12
|
+
|
13
|
+
## ffaker vs faker
|
14
|
+
|
15
|
+
faker and ffaker APIs are mostly the same, although the API on ffaker keeps
|
16
|
+
growing with its users additions. In general, the only difference is that you
|
17
|
+
need to:
|
18
|
+
|
19
|
+
gem install ffaker
|
20
|
+
|
21
|
+
and then
|
22
|
+
|
23
|
+
require 'ffaker'
|
24
|
+
|
25
|
+
instead of "faker" with only one f.
|
26
|
+
|
27
|
+
## ffaker is faster... does it really matter?
|
28
|
+
|
29
|
+
ffaker was initially written in an effort to speed up a slow spec suite. Bear
|
30
|
+
in mind, if your spec suite is slow, chances are the generation of random data
|
31
|
+
will not account for much of the run time.
|
32
|
+
|
33
|
+
Since then, the original faker gem has become faster seem it was
|
34
|
+
maintained). Nevertheless, ffaker is still about 20x faster than faker.
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
N = 10_000
|
38
|
+
|
39
|
+
Benchmark.bm do |rep|
|
40
|
+
rep.report("generating #{ N } names") do
|
41
|
+
N.times do
|
42
|
+
Faker::Name.name
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
```
|
47
|
+
|
48
|
+
```
|
49
|
+
* ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2011.03
|
50
|
+
|
51
|
+
generating 10000 names (faker 0.9.5) 1.500000 0.000000 1.500000 ( 1.506865)
|
52
|
+
generating 10000 names (ffaker 1.5.0) 0.070000 0.000000 0.070000 ( 0.067526)
|
53
|
+
|
54
|
+
* ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
|
55
|
+
|
56
|
+
generating 10000 names (faker 0.9.5) 1.030000 0.020000 1.050000 ( 1.046116)
|
57
|
+
generating 10000 names (ffaker 1.7.0) 0.040000 0.000000 0.040000 ( 0.045917)
|
58
|
+
```
|
59
|
+
|
60
|
+
## Contributors
|
61
|
+
|
62
|
+
A lot of people has contributed to ffaker. Check [this list](https://github.com/EmmanuelOga/ffaker/graphs/contributors).
|
63
|
+
|
64
|
+
## TODO
|
65
|
+
|
66
|
+
* Even though the API is pretty simple, better rdoc documentation would not hurt.
|
67
|
+
* Put all modules under its respective language (E.G. EducationUS instead of just Education)
|
68
|
+
|
69
|
+
## Note on Patches/Pull Requests
|
70
|
+
|
71
|
+
* Fork the project.
|
72
|
+
* Make your feature addition or bug fix.
|
73
|
+
* Add tests for it. This is important so I don't break it in a
|
74
|
+
future version unintentionally.
|
75
|
+
* Commit, do not mess with rakefile, version, or history.
|
76
|
+
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
77
|
+
* Send me a pull request. Bonus points for topic branches.
|
78
|
+
|
79
|
+
## Copyright
|
80
|
+
|
81
|
+
Copyright (c) 2013 Emmanuel Oga. See LICENSE for details.
|
82
|
+
Copyright (c) 2007 Benjamin Curtis
|
data/ffaker.gemspec
CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
|
6
6
|
s.name = 'ffaker'
|
7
|
-
s.version = '1.16.
|
8
|
-
s.date = '2013-05
|
7
|
+
s.version = '1.16.2'
|
8
|
+
s.date = '2013-07-05'
|
9
9
|
s.rubyforge_project = 'ffaker'
|
10
10
|
|
11
11
|
s.summary = "Faster Faker, generates dummy data."
|
@@ -18,14 +18,14 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.require_paths = %w[lib]
|
19
19
|
|
20
20
|
s.rdoc_options = ["--charset=UTF-8"]
|
21
|
-
s.extra_rdoc_files = %w[README.
|
21
|
+
s.extra_rdoc_files = %w[README.md LICENSE Changelog.md]
|
22
22
|
|
23
23
|
# = MANIFEST =
|
24
24
|
s.files = %w[
|
25
|
-
Changelog.
|
25
|
+
Changelog.md
|
26
26
|
Gemfile
|
27
27
|
LICENSE
|
28
|
-
README.
|
28
|
+
README.md
|
29
29
|
Rakefile
|
30
30
|
ffaker.gemspec
|
31
31
|
lib/ffaker.rb
|
data/lib/ffaker.rb
CHANGED
data/lib/ffaker/ssn_se.rb
CHANGED
@@ -26,7 +26,7 @@ module Faker
|
|
26
26
|
def ssn(opts = {})
|
27
27
|
from = opts[:from] || ::Time.local(1940, 1, 1)
|
28
28
|
to = opts[:to] || ::Time.now
|
29
|
-
gender = opts[:gender] || GENDERS.rand
|
29
|
+
gender = (opts[:gender] || GENDERS.rand).to_s
|
30
30
|
|
31
31
|
raise_error_on_bad_arguments(from, to, gender)
|
32
32
|
|
metadata
CHANGED
@@ -1,65 +1,61 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffaker
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.16.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 16
|
9
|
-
- 1
|
10
|
-
version: 1.16.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Emmanuel Oga
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-07-05 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: rake
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :development
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: test-unit
|
36
23
|
prerelease: false
|
37
|
-
|
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: test-unit
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
38
33
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
46
38
|
type: :development
|
47
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
48
46
|
description: Faster Faker, generates dummy data.
|
49
47
|
email: EmmanuelOga@gmail.com
|
50
48
|
executables: []
|
51
|
-
|
52
49
|
extensions: []
|
53
|
-
|
54
|
-
|
55
|
-
- README.rdoc
|
50
|
+
extra_rdoc_files:
|
51
|
+
- README.md
|
56
52
|
- LICENSE
|
57
|
-
- Changelog.
|
58
|
-
files:
|
59
|
-
- Changelog.
|
53
|
+
- Changelog.md
|
54
|
+
files:
|
55
|
+
- Changelog.md
|
60
56
|
- Gemfile
|
61
57
|
- LICENSE
|
62
|
-
- README.
|
58
|
+
- README.md
|
63
59
|
- Rakefile
|
64
60
|
- ffaker.gemspec
|
65
61
|
- lib/ffaker.rb
|
@@ -173,38 +169,33 @@ files:
|
|
173
169
|
- test/test_venue.rb
|
174
170
|
homepage: http://github.com/emmanueloga/ffaker
|
175
171
|
licenses: []
|
176
|
-
|
177
172
|
post_install_message:
|
178
|
-
rdoc_options:
|
173
|
+
rdoc_options:
|
179
174
|
- --charset=UTF-8
|
180
|
-
require_paths:
|
175
|
+
require_paths:
|
181
176
|
- lib
|
182
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
177
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
183
178
|
none: false
|
184
|
-
requirements:
|
185
|
-
- -
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
|
188
|
-
segments:
|
179
|
+
requirements:
|
180
|
+
- - ! '>='
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
183
|
+
segments:
|
189
184
|
- 0
|
190
|
-
|
191
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
|
+
hash: 901117054328453094
|
186
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
187
|
none: false
|
193
|
-
requirements:
|
194
|
-
- -
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
|
197
|
-
segments:
|
198
|
-
- 0
|
199
|
-
version: "0"
|
188
|
+
requirements:
|
189
|
+
- - ! '>='
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
200
192
|
requirements: []
|
201
|
-
|
202
193
|
rubyforge_project: ffaker
|
203
194
|
rubygems_version: 1.8.25
|
204
195
|
signing_key:
|
205
196
|
specification_version: 2
|
206
197
|
summary: Faster Faker, generates dummy data.
|
207
|
-
test_files:
|
198
|
+
test_files:
|
208
199
|
- test/test_address.rb
|
209
200
|
- test/test_address_au.rb
|
210
201
|
- test/test_address_ca.rb
|
data/README.rdoc
DELETED
@@ -1,101 +0,0 @@
|
|
1
|
-
= ffaker
|
2
|
-
|
3
|
-
Fast Faker == Faker refactored. http://rubygems.org/gems/ffaker
|
4
|
-
|
5
|
-
= Faker
|
6
|
-
|
7
|
-
A port of Perl's Data::Faker library that generates fake data. http://rubygems.org/gems/faker
|
8
|
-
|
9
|
-
== Usage
|
10
|
-
|
11
|
-
require 'ffaker'
|
12
|
-
Faker::Name.name => "Christophe Bartell"
|
13
|
-
Faker::Internet.email => "kirsten.greenholt@corkeryfisher.info"
|
14
|
-
|
15
|
-
== Ffaker / Faker
|
16
|
-
|
17
|
-
Faker and Ffaker APIs are mostly the same, although the API on ffaker keeps
|
18
|
-
growing with its users additions. In general, the only difference is that you
|
19
|
-
need to:
|
20
|
-
|
21
|
-
gem install ffaker
|
22
|
-
|
23
|
-
and then
|
24
|
-
|
25
|
-
require 'ffaker'
|
26
|
-
|
27
|
-
instead of "faker" with only one f.
|
28
|
-
|
29
|
-
== Faster? does it really matter ?
|
30
|
-
|
31
|
-
Ffaker was initially written in an effort to speed up a slow spec suite. Bear
|
32
|
-
in mind, if your spec suite is slow, chances are the generation of random data
|
33
|
-
will not account for much of the run time.
|
34
|
-
|
35
|
-
Since then, the original faker gem has become faster (at the moment it did not
|
36
|
-
seem it was maintained). Nevertheless, ffaker is still about 20x faster than
|
37
|
-
faker.
|
38
|
-
|
39
|
-
$ cat scripts/benchmark.rb
|
40
|
-
|
41
|
-
# ...
|
42
|
-
N = 10_000
|
43
|
-
|
44
|
-
Benchmark.bm do |rep|
|
45
|
-
rep.report("generating #{ N } names") do
|
46
|
-
N.times do
|
47
|
-
Faker::Name.name
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
* ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2011.03
|
53
|
-
|
54
|
-
generating 10000 names (faker 0.9.5) 1.500000 0.000000 1.500000 ( 1.506865)
|
55
|
-
generating 10000 names (ffaker 1.5.0) 0.070000 0.000000 0.070000 ( 0.067526)
|
56
|
-
|
57
|
-
* ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
|
58
|
-
|
59
|
-
generating 10000 names (faker 0.9.5) 1.030000 0.020000 1.050000 ( 1.046116)
|
60
|
-
generating 10000 names (ffaker 1.7.0) 0.040000 0.000000 0.040000 ( 0.045917)
|
61
|
-
|
62
|
-
== Contributors
|
63
|
-
|
64
|
-
* James Rosen ( http://github.com/jamesarosen/ffaker ).
|
65
|
-
* Rafael Souza ( http://github.com/rafaelss/ffaker ).
|
66
|
-
* Robert Berry ( https://github.com/bdigital ).
|
67
|
-
* qichunren ( http://github.com/qichunren ).
|
68
|
-
* Kristján Pétursson ( https://github.com/kristjan )
|
69
|
-
* Rico Sta. Cruz ( https://github.com/rstacruz )
|
70
|
-
* Vsevolod Romashov ( https://github.com/7even )
|
71
|
-
* David Noelte (https://github.com/marvin)
|
72
|
-
* Port 80 Labs (https://github.com/port80labs)
|
73
|
-
* Shane Weng (https://github.com/swcool)
|
74
|
-
* Chris Bloom (https://github.com/chrisbloom7)
|
75
|
-
* SENE (https://github.com/PapePathe)
|
76
|
-
* kichiro (https://github.com/kichiro)
|
77
|
-
* doctorbh (https://github.com/doctorbh)
|
78
|
-
* Ben Wisleey ( https://github.com/wiseleyb )
|
79
|
-
* Simon Russel ( https://github.com/simonrussell )
|
80
|
-
* Piotr Usewicz ( https://github.com/pusewicz )
|
81
|
-
* And others... see complete list: https://github.com/EmmanuelOga/ffaker/network/members
|
82
|
-
|
83
|
-
== TODO
|
84
|
-
|
85
|
-
* Even though the API is pretty simple, better rdoc documentation would not hurt.
|
86
|
-
* Put all modules under its respective language (E.G. EducationUS instead of just Education)
|
87
|
-
|
88
|
-
== Note on Patches/Pull Requests
|
89
|
-
|
90
|
-
* Fork the project.
|
91
|
-
* Make your feature addition or bug fix.
|
92
|
-
* Add tests for it. This is important so I don't break it in a
|
93
|
-
future version unintentionally.
|
94
|
-
* Commit, do not mess with rakefile, version, or history.
|
95
|
-
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
96
|
-
* Send me a pull request. Bonus points for topic branches.
|
97
|
-
|
98
|
-
== Copyright
|
99
|
-
|
100
|
-
Copyright (c) 2010 Emmanuel Oga. See LICENSE for details.
|
101
|
-
Copyright (c) 2007 Benjamin Curtis
|