doctor_ipsum 0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.travis.yml +8 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +41 -0
- data/Rakefile +1 -0
- data/doctor_ipsum.gemspec +26 -0
- data/ipsum_lorem.md +151 -0
- data/lib/doctor_ipsum.rb +18 -0
- data/lib/doctor_ipsum/lorem.rb +41 -0
- data/lib/doctor_ipsum/version.rb +3 -0
- data/lib/locales/en.yml +5 -0
- data/spec/doctor_lorem_spec.rb +15 -0
- data/spec/paragraph_spec.rb +24 -0
- data/spec/sentence_spec.rb +45 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/word_spec.rb +66 -0
- metadata +122 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1a0e21e575404366798da35f0f23cb287a6699d8
|
4
|
+
data.tar.gz: b50d84cf8dfae6323c31133bedf603d899246bfc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8246e8738b967221740a01f6523e1282c616b957d623f7398e3a5ded26e585688494361236abab91a07cb0d0e7e553669ef5d613e950fa0e988b1b2129a70d1b
|
7
|
+
data.tar.gz: 10f493de93a66bd61f44ef074f80b059b27594e52518dc2e126707b0872a4e4318b6cda09cdb9ce157210396c81552a8c2cbd1aa07585044b56849f7e49652ca
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Nicholas Hwang
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# Lorem Ipsum MD
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/geekjuice/doctor_ipsum.png)](https://travis-ci.org/geekjuice/doctor_ipsum)
|
4
|
+
|
5
|
+
__Still under development__
|
6
|
+
|
7
|
+
Markdown formatted Lorem Ipsum generator. Lorem Ipsum generator cherry-picked
|
8
|
+
from the [Faker](https://github.com/stympy/faker) Lorem Ipsum generator.
|
9
|
+
|
10
|
+
Rather than use generator plain, unformatted placeholders, why not Markdown
|
11
|
+
placeholders
|
12
|
+
|
13
|
+
## Installation
|
14
|
+
|
15
|
+
Add this line to your application's Gemfile:
|
16
|
+
|
17
|
+
gem 'doctor_ipsum'
|
18
|
+
|
19
|
+
And then execute:
|
20
|
+
|
21
|
+
$ bundle
|
22
|
+
|
23
|
+
Or install it yourself as:
|
24
|
+
|
25
|
+
$ gem install doctor_ipsum
|
26
|
+
|
27
|
+
## Usage
|
28
|
+
|
29
|
+
TBA
|
30
|
+
|
31
|
+
## Contributing
|
32
|
+
|
33
|
+
1. Fork it
|
34
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
35
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
36
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
37
|
+
5. Create new Pull Request
|
38
|
+
|
39
|
+
## License
|
40
|
+
Doctor Ipsum is released under the MIT License.
|
41
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'doctor_ipsum/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "doctor_ipsum"
|
8
|
+
spec.version = DoctorIpsum::VERSION
|
9
|
+
spec.authors = ["Nicholas Hwang"]
|
10
|
+
spec.email = ["nick.joosung.hwang@gmail.com"]
|
11
|
+
spec.description = ["Markdown Lorem Ipsum"]
|
12
|
+
spec.summary = ["Lorem Ipsum generator with Markdown formatting"]
|
13
|
+
spec.homepage = "https://github.com/geekjuice/doctor_ipsum"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "i18n"
|
22
|
+
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
24
|
+
spec.add_development_dependency "rake"
|
25
|
+
spec.add_development_dependency "rspec"
|
26
|
+
end
|
data/ipsum_lorem.md
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
2
|
+
Proin risus.
|
3
|
+
Praesent lectus.
|
4
|
+
Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.
|
5
|
+
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.
|
6
|
+
Curabitur convallis.
|
7
|
+
Duis consequat dui nec nisi volutpat eleifend.
|
8
|
+
Donec ut dolor.
|
9
|
+
Morbi vel lectus in quam fringilla rhoncus.
|
10
|
+
Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.
|
11
|
+
Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.
|
12
|
+
Mauris lacinia sapien quis libero.
|
13
|
+
Nullam sit amet turpis elementum ligula vehicula consequat.
|
14
|
+
Morbi a ipsum.
|
15
|
+
Integer a nibh.
|
16
|
+
In quis justo.
|
17
|
+
Maecenas rhoncus aliquam lacus.
|
18
|
+
Morbi quis tortor id nulla ultrices aliquet.
|
19
|
+
Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.
|
20
|
+
Pellentesque viverra pede ac diam.
|
21
|
+
Cras pellentesque volutpat dui.
|
22
|
+
Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.
|
23
|
+
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.
|
24
|
+
Suspendisse potenti.
|
25
|
+
Nullam porttitor lacus at turpis.
|
26
|
+
Donec posuere metus vitae ipsum.
|
27
|
+
Aliquam non mauris.
|
28
|
+
Morbi non lectus.
|
29
|
+
Aliquam sit amet diam in magna bibendum imperdiet.
|
30
|
+
Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.
|
31
|
+
Fusce posuere felis sed lacus.
|
32
|
+
Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.
|
33
|
+
Nunc rhoncus dui vel sem.
|
34
|
+
Sed sagittis.
|
35
|
+
Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.
|
36
|
+
Nullam molestie nibh in lectus.
|
37
|
+
Pellentesque at nulla.
|
38
|
+
Suspendisse potenti.
|
39
|
+
Cras in purus eu magna vulputate luctus.
|
40
|
+
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
41
|
+
Vivamus vestibulum sagittis sapien.
|
42
|
+
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
43
|
+
Etiam vel augue.
|
44
|
+
Vestibulum rutrum rutrum neque.
|
45
|
+
Aenean auctor gravida sem.
|
46
|
+
Praesent id massa id nisl venenatis lacinia.
|
47
|
+
Aenean sit amet justo.
|
48
|
+
Morbi ut odio.
|
49
|
+
Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.
|
50
|
+
In blandit ultrices enim.
|
51
|
+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
52
|
+
Proin interdum mauris non ligula pellentesque ultrices.
|
53
|
+
Phasellus id sapien in sapien iaculis congue.
|
54
|
+
Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.
|
55
|
+
Aenean lectus.
|
56
|
+
Pellentesque eget nunc.
|
57
|
+
Donec quis orci eget orci vehicula condimentum.
|
58
|
+
Curabitur in libero ut massa volutpat convallis.
|
59
|
+
Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.
|
60
|
+
Maecenas pulvinar lobortis est.
|
61
|
+
Phasellus sit amet erat.
|
62
|
+
Nulla tempus.
|
63
|
+
Vivamus in felis eu sapien cursus vestibulum.
|
64
|
+
Proin eu mi.
|
65
|
+
Nulla ac enim.
|
66
|
+
In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.
|
67
|
+
Duis aliquam convallis nunc.
|
68
|
+
Proin at turpis a pede posuere nonummy.
|
69
|
+
Integer non velit.
|
70
|
+
Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.
|
71
|
+
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.
|
72
|
+
Integer ac neque.
|
73
|
+
Duis bibendum.
|
74
|
+
Morbi non quam nec dui luctus rutrum.
|
75
|
+
Nulla tellus.
|
76
|
+
In sagittis dui vel nisl.
|
77
|
+
Duis ac nibh.
|
78
|
+
Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.
|
79
|
+
Suspendisse potenti.
|
80
|
+
In eleifend quam a odio.
|
81
|
+
In hac habitasse platea dictumst.
|
82
|
+
Maecenas ut massa quis augue luctus tincidunt.
|
83
|
+
Nulla mollis molestie lorem.
|
84
|
+
Quisque ut erat.
|
85
|
+
Curabitur gravida nisi at nibh.
|
86
|
+
In hac habitasse platea dictumst.
|
87
|
+
Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.
|
88
|
+
Integer tincidunt ante vel ipsum.
|
89
|
+
Praesent blandit lacinia erat.
|
90
|
+
Vestibulum sed magna at nunc commodo placerat.
|
91
|
+
Praesent blandit.
|
92
|
+
Nam nulla.
|
93
|
+
Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.
|
94
|
+
Morbi porttitor lorem id ligula.
|
95
|
+
Suspendisse ornare consequat lectus.
|
96
|
+
In est risus, auctor sed, tristique in, tempus sit amet, sem.
|
97
|
+
Fusce consequat.
|
98
|
+
Nulla nisl.
|
99
|
+
Nunc nisl.
|
100
|
+
Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.
|
101
|
+
Donec dapibus.
|
102
|
+
Duis at velit eu est congue elementum.
|
103
|
+
In hac habitasse platea dictumst.
|
104
|
+
Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.
|
105
|
+
Nulla justo.
|
106
|
+
Aliquam quis turpis eget elit sodales scelerisque.
|
107
|
+
Mauris sit amet eros.
|
108
|
+
Suspendisse accumsan tortor quis turpis.
|
109
|
+
Sed ante.
|
110
|
+
Vivamus tortor.
|
111
|
+
Duis mattis egestas metus.
|
112
|
+
Aenean fermentum.
|
113
|
+
Donec ut mauris eget massa tempor convallis.
|
114
|
+
Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.
|
115
|
+
Quisque id justo sit amet sapien dignissim vestibulum.
|
116
|
+
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.
|
117
|
+
Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.
|
118
|
+
Vestibulum ac est lacinia nisi venenatis tristique.
|
119
|
+
Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.
|
120
|
+
Aliquam erat volutpat.
|
121
|
+
In congue.
|
122
|
+
Etiam justo.
|
123
|
+
Etiam pretium iaculis justo.
|
124
|
+
In hac habitasse platea dictumst.
|
125
|
+
Etiam faucibus cursus urna.
|
126
|
+
Ut tellus.
|
127
|
+
Nulla ut erat id mauris vulputate elementum.
|
128
|
+
Nullam varius.
|
129
|
+
Nulla facilisi.
|
130
|
+
Cras non velit nec nisi vulputate nonummy.
|
131
|
+
Maecenas tincidunt lacus at velit.
|
132
|
+
Vivamus vel nulla eget eros elementum pellentesque.
|
133
|
+
Quisque porta volutpat erat.
|
134
|
+
Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.
|
135
|
+
Nunc purus.
|
136
|
+
Phasellus in felis.
|
137
|
+
Donec semper sapien a libero.
|
138
|
+
Nam dui.
|
139
|
+
Proin leo odio, porttitor id, consequat in, consequat ut, nulla.
|
140
|
+
Sed accumsan felis.
|
141
|
+
Ut at dolor quis odio consequat varius.
|
142
|
+
Integer ac leo.
|
143
|
+
Pellentesque ultrices mattis odio.
|
144
|
+
Donec vitae nisi.
|
145
|
+
Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.
|
146
|
+
Sed vel enim sit amet nunc viverra dapibus.
|
147
|
+
Nulla suscipit ligula in lacus.
|
148
|
+
Curabitur at ipsum ac tellus semper interdum.
|
149
|
+
Mauris ullamcorper purus sit amet nulla.
|
150
|
+
Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.
|
151
|
+
Nam tristique tortor eu pede.
|
data/lib/doctor_ipsum.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
mydir = File.expand_path(File.dirname(__FILE__))
|
2
|
+
|
3
|
+
require 'i18n'
|
4
|
+
I18n.load_path += Dir[File.join(mydir,'locales','*.yml')]
|
5
|
+
I18n.reload!
|
6
|
+
|
7
|
+
module DoctorIpsum
|
8
|
+
class Base
|
9
|
+
class << self
|
10
|
+
def fetch(from)
|
11
|
+
I18n.translate(from)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
require 'doctor_ipsum/version'
|
18
|
+
require 'doctor_ipsum/lorem'
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module DoctorIpsum
|
2
|
+
class Lorem < Base
|
3
|
+
class << self
|
4
|
+
|
5
|
+
def word
|
6
|
+
fetch('lorem.words').sample 1
|
7
|
+
end
|
8
|
+
def words(num = 3, supplemental = false)
|
9
|
+
(
|
10
|
+
fetch('lorem.words') +
|
11
|
+
(supplemental ? fetch('lorem.supplemental') : [])
|
12
|
+
).shuffle[0, resolve(num)]
|
13
|
+
end
|
14
|
+
|
15
|
+
def sentence(word_count = 5, supplemental = false, extra_words = 3)
|
16
|
+
num_words = resolve(word_count) + rand(resolve(extra_words))
|
17
|
+
words(num_words, supplemental).join(' ').capitalize + '.'
|
18
|
+
end
|
19
|
+
def sentences(sentence_count = 5, supplemental = false)
|
20
|
+
[].tap { |s| sentence_count.times { s << sentence(5, supplemental) } }
|
21
|
+
.join(' ')
|
22
|
+
end
|
23
|
+
|
24
|
+
def paragraph(sentence_count = 5, supplemental = false)
|
25
|
+
sentences(sentence_count, supplemental)
|
26
|
+
end
|
27
|
+
|
28
|
+
end #END SELF
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def self.resolve(value)
|
33
|
+
case value
|
34
|
+
when Array then value[rand(value.size)]
|
35
|
+
when Range then rand((value.last+1) - value.first) + value.first
|
36
|
+
else value
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end #END LOREM
|
41
|
+
end
|
data/lib/locales/en.yml
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
en:
|
2
|
+
lorem:
|
3
|
+
words: [alias, consequatur, aut, perferendis, sit, voluptatem, accusantium, doloremque, aperiam, eaque, ipsa, quae, ab, illo, inventore, veritatis, et, quasi, architecto, beatae, vitae, dicta, sunt, explicabo, aspernatur, aut, odit, aut, fugit, sed, quia, consequuntur, magni, dolores, eos, qui, ratione, voluptatem, sequi, nesciunt, neque, dolorem, ipsum, quia, dolor, sit, amet, consectetur, adipisci, velit, sed, quia, non, numquam, eius, modi, tempora, incidunt, ut, labore, et, dolore, magnam, aliquam, quaerat, voluptatem, ut, enim, ad, minima, veniam, quis, nostrum, exercitationem, ullam, corporis, nemo, enim, ipsam, voluptatem, quia, voluptas, sit, suscipit, laboriosam, nisi, ut, aliquid, ex, ea, commodi, consequatur, quis, autem, vel, eum, iure, reprehenderit, qui, in, ea, voluptate, velit, esse, quam, nihil, molestiae, et, iusto, odio, dignissimos, ducimus, qui, blanditiis, praesentium, laudantium, totam, rem, voluptatum, deleniti, atque, corrupti, quos, dolores, et, quas, molestias, excepturi, sint, occaecati, cupiditate, non, provident, sed, ut, perspiciatis, unde, omnis, iste, natus, error, similique, sunt, in, culpa, qui, officia, deserunt, mollitia, animi, id, est, laborum, et, dolorum, fuga, et, harum, quidem, rerum, facilis, est, et, expedita, distinctio, nam, libero, tempore, cum, soluta, nobis, est, eligendi, optio, cumque, nihil, impedit, quo, porro, quisquam, est, qui, minus, id, quod, maxime, placeat, facere, possimus, omnis, voluptas, assumenda, est, omnis, dolor, repellendus, temporibus, autem, quibusdam, et, aut, consequatur, vel, illum, qui, dolorem, eum, fugiat, quo, voluptas, nulla, pariatur, at, vero, eos, et, accusamus, officiis, debitis, aut, rerum, necessitatibus, saepe, eveniet, ut, et, voluptates, repudiandae, sint, et, molestiae, non, recusandae, itaque, earum, rerum, hic, tenetur, a, sapiente, delectus, ut, aut, reiciendis, voluptatibus, maiores, doloribus, asperiores, repellat]
|
4
|
+
supplemental: [abbas, abduco, abeo, abscido, absconditus, absens, absorbeo, absque, abstergo, absum, abundans, abutor, accedo, accendo, acceptus, accipio, accommodo, accusator, acer, acerbitas, acervus, acidus, acies, acquiro, acsi, adamo, adaugeo, addo, adduco, ademptio, adeo, adeptio, adfectus, adfero, adficio, adflicto, adhaero, adhuc, adicio, adimpleo, adinventitias, adipiscor, adiuvo, administratio, admiratio, admitto, admoneo, admoveo, adnuo, adopto, adsidue, adstringo, adsuesco, adsum, adulatio, adulescens, adultus, aduro, advenio, adversus, advoco, aedificium, aeger, aegre, aegrotatio, aegrus, aeneus, aequitas, aequus, aer, aestas, aestivus, aestus, aetas, aeternus, ager, aggero, aggredior, agnitio, agnosco, ago, ait, aiunt, alienus, alii, alioqui, aliqua, alius, allatus, alo, alter, altus, alveus, amaritudo, ambitus, ambulo, amicitia, amiculum, amissio, amita, amitto, amo, amor, amoveo, amplexus, amplitudo, amplus, ancilla, angelus, angulus, angustus, animadverto, animi, animus, annus, anser, ante, antea, antepono, antiquus, aperio, aperte, apostolus, apparatus, appello, appono, appositus, approbo, apto, aptus, apud, aqua, ara, aranea, arbitro, arbor, arbustum, arca, arceo, arcesso, arcus, argentum, argumentum, arguo, arma, armarium, armo, aro, ars, articulus, artificiose, arto, arx, ascisco, ascit, asper, aspicio, asporto, assentator, astrum, atavus, ater, atqui, atrocitas, atrox, attero, attollo, attonbitus, auctor, auctus, audacia, audax, audentia, audeo, audio, auditor, aufero, aureus, auris, aurum, aut, autem, autus, auxilium, avaritia, avarus, aveho, averto, avoco, baiulus, balbus, barba, bardus, basium, beatus, bellicus, bellum, bene, beneficium, benevolentia, benigne, bestia, bibo, bis, blandior, bonus, bos, brevis, cado, caecus, caelestis, caelum, calamitas, calcar, calco, calculus, callide, campana, candidus, canis, canonicus, canto, capillus, capio, capitulus, capto, caput, carbo, carcer, careo, caries, cariosus, caritas, carmen, carpo, carus, casso, caste, casus, catena, caterva, cattus, cauda, causa, caute, caveo, cavus, cedo, celebrer, celer, celo, cena, cenaculum, ceno, censura, centum, cerno, cernuus, certe, certo, certus, cervus, cetera, charisma, chirographum, cibo, cibus, cicuta, cilicium, cimentarius, ciminatio, cinis, circumvenio, cito, civis, civitas, clam, clamo, claro, clarus, claudeo, claustrum, clementia, clibanus, coadunatio, coaegresco, coepi, coerceo, cogito, cognatus, cognomen, cogo, cohaero, cohibeo, cohors, colligo, colloco, collum, colo, color, coma, combibo, comburo, comedo, comes, cometes, comis, comitatus, commemoro, comminor, commodo, communis, comparo, compello, complectus, compono, comprehendo, comptus, conatus, concedo, concido, conculco, condico, conduco, confero, confido, conforto, confugo, congregatio, conicio, coniecto, conitor, coniuratio, conor, conqueror, conscendo, conservo, considero, conspergo, constans, consuasor, contabesco, contego, contigo, contra, conturbo, conventus, convoco, copia, copiose, cornu, corona, corpus, correptius, corrigo, corroboro, corrumpo, coruscus, cotidie, crapula, cras, crastinus, creator, creber, crebro, credo, creo, creptio, crepusculum, cresco, creta, cribro, crinis, cruciamentum, crudelis, cruentus, crur, crustulum, crux, cubicularis, cubitum, cubo, cui, cuius, culpa, culpo, cultellus, cultura, cum, cunabula, cunae, cunctatio, cupiditas, cupio, cuppedia, cupressus, cur, cura, curatio, curia, curiositas, curis, curo, curriculum, currus, cursim, curso, cursus, curto, curtus, curvo, curvus, custodia, damnatio, damno, dapifer, debeo, debilito, decens, decerno, decet, decimus, decipio, decor, decretum, decumbo, dedecor, dedico, deduco, defaeco, defendo, defero, defessus, defetiscor, deficio, defigo, defleo, defluo, defungo, degenero, degero, degusto, deinde, delectatio, delego, deleo, delibero, delicate, delinquo, deludo, demens, demergo, demitto, demo, demonstro, demoror, demulceo, demum, denego, denique, dens, denuncio, denuo, deorsum, depereo, depono, depopulo, deporto, depraedor, deprecator, deprimo, depromo, depulso, deputo, derelinquo, derideo, deripio, desidero, desino, desipio, desolo, desparatus, despecto, despirmatio, infit, inflammatio, paens, patior, patria, patrocinor, patruus, pauci, paulatim, pauper, pax, peccatus, pecco, pecto, pectus, pecunia, pecus, peior, pel, ocer, socius, sodalitas, sol, soleo, solio, solitudo, solium, sollers, sollicito, solum, solus, solutio, solvo, somniculosus, somnus, sonitus, sono, sophismata, sopor, sordeo, sortitus, spargo, speciosus, spectaculum, speculum, sperno, spero, spes, spiculum, spiritus, spoliatio, sponte, stabilis, statim, statua, stella, stillicidium, stipes, stips, sto, strenuus, strues, studio, stultus, suadeo, suasoria, sub, subito, subiungo, sublime, subnecto, subseco, substantia, subvenio, succedo, succurro, sufficio, suffoco, suffragium, suggero, sui, sulum, sum, summa, summisse, summopere, sumo, sumptus, supellex, super, suppellex, supplanto, suppono, supra, surculus, surgo, sursum, suscipio, suspendo, sustineo, suus, synagoga, tabella, tabernus, tabesco, tabgo, tabula, taceo, tactus, taedium, talio, talis, talus, tam, tamdiu, tamen, tametsi, tamisium, tamquam, tandem, tantillus, tantum, tardus, tego, temeritas, temperantia, templum, temptatio, tempus, tenax, tendo, teneo, tener, tenuis, tenus, tepesco, tepidus, ter, terebro, teres, terga, tergeo, tergiversatio, tergo, tergum, termes, terminatio, tero, terra, terreo, territo, terror, tersus, tertius, testimonium, texo, textilis, textor, textus, thalassinus, theatrum, theca, thema, theologus, thermae, thesaurus, thesis, thorax, thymbra, thymum, tibi, timidus, timor, titulus, tolero, tollo, tondeo, tonsor, torqueo, torrens, tot, totidem, toties, totus, tracto, trado, traho, trans, tredecim, tremo, trepide, tres, tribuo, tricesimus, triduana, triginta, tripudio, tristis, triumphus, trucido, truculenter, tubineus, tui, tum, tumultus, tunc, turba, turbo, turpe, turpis, tutamen, tutis, tyrannus, uberrime, ubi, ulciscor, ullus, ulterius, ultio, ultra, umbra, umerus, umquam, una, unde, undique, universe, unus, urbanus, urbs, uredo, usitas, usque, ustilo, ustulo, usus, uter, uterque, utilis, utique, utor, utpote, utrimque, utroque, utrum, uxor, vaco, vacuus, vado, vae, valde, valens, valeo, valetudo, validus, vallum, vapulus, varietas, varius, vehemens, vel, velociter, velum, velut, venia, venio, ventito, ventosus, ventus, venustas, ver, verbera, verbum, vere, verecundia, vereor, vergo, veritas, vero, versus, verto, verumtamen, verus, vesco, vesica, vesper, vespillo, vester, vestigium, vestrum, vetus, via, vicinus, vicissitudo, victoria, victus, videlicet, video, viduata, viduo, vigilo, vigor, vilicus, vilis, vilitas, villa, vinco, vinculum, vindico, vinitor, vinum, vir, virga, virgo, viridis, viriliter, virtus, vis, viscus, vita, vitiosus, vitium, vito, vivo, vix, vobis, vociferor, voco, volaticus, volo, volubilis, voluntarius, volup, volutabrum, volva, vomer, vomica, vomito, vorago, vorax, voro, vos, votum, voveo, vox, vulariter, vulgaris, vulgivagus, vulgo, vulgus, vulnero, vulnus, vulpes, vulticulus, vultuosus, xiphias]
|
5
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'doctor_ipsum'
|
3
|
+
|
4
|
+
describe DoctorIpsum do
|
5
|
+
|
6
|
+
it "must have correct name" do
|
7
|
+
DoctorIpsum.name.should eq('DoctorIpsum')
|
8
|
+
end
|
9
|
+
it "must be defined (VERSION)" do
|
10
|
+
DoctorIpsum::VERSION.should_not eq(nil)
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'doctor_ipsum'
|
3
|
+
|
4
|
+
describe "DoctorIpsum paragraphs(s): " do
|
5
|
+
|
6
|
+
let(:lorem) { DoctorIpsum::Lorem }
|
7
|
+
|
8
|
+
describe 'Lorem Paragrah' do
|
9
|
+
it 'should output String, not Array' do
|
10
|
+
lorem.paragraph.class.should eq String
|
11
|
+
lorem.paragraph.class.should_not eq Array
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should produce correct number of sentences" do
|
15
|
+
100.times do
|
16
|
+
rn = rand(10)
|
17
|
+
lorem.paragraph(rn,true).split('.').count.should eq (rn)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'doctor_ipsum'
|
3
|
+
|
4
|
+
describe "DoctorIpsum sentences(s): " do
|
5
|
+
|
6
|
+
let(:lorem) { DoctorIpsum::Lorem }
|
7
|
+
|
8
|
+
describe 'Lorem Sentence' do
|
9
|
+
it 'should output String, not Array' do
|
10
|
+
lorem.sentence.class.should eq String
|
11
|
+
lorem.sentence.class.should_not eq Array
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should start with uppercase' do
|
15
|
+
100.times do
|
16
|
+
sentence = lorem.sentence
|
17
|
+
sentence[0].should eq(sentence[0].upcase)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should end with period' do
|
22
|
+
100.times { lorem.sentence[-1].should eq('.') }
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should produce correct number of words' do
|
26
|
+
100.times do
|
27
|
+
word_count = rand(10)
|
28
|
+
lorem.sentence(word_count, true, 5).split(' ').count.should
|
29
|
+
be_between(word_count, word_count+5)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'Lorem Sentences' do
|
35
|
+
it 'should produce correct number of sentences' do
|
36
|
+
100.times do
|
37
|
+
sentence_count = rand(10)
|
38
|
+
lorem.sentences(sentence_count, true).split('.').count.should
|
39
|
+
eq(sentence_count)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
# Fail Fast
|
6
|
+
config.fail_fast = true
|
7
|
+
|
8
|
+
# Remove this line if you don't want RSpec's should and should_not
|
9
|
+
# methods or matchers
|
10
|
+
require 'rspec/expectations'
|
11
|
+
config.include RSpec::Matchers
|
12
|
+
|
13
|
+
# == Mock Framework
|
14
|
+
config.mock_framework = :rspec
|
15
|
+
end
|
data/spec/word_spec.rb
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'doctor_ipsum'
|
3
|
+
|
4
|
+
describe "DoctorIpsum word(s): " do
|
5
|
+
let(:lorem) { DoctorIpsum::Lorem }
|
6
|
+
|
7
|
+
describe 'Lorem Word' do
|
8
|
+
it 'should output array' do
|
9
|
+
lorem.word.class.should eq Array
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should sample from yaml' do
|
13
|
+
100.times { lorem.word.should_not be_empty }
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should only give one word' do
|
17
|
+
100.times { lorem.word.count.should eq(1) }
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
describe 'Lorem words' do
|
23
|
+
it 'should output array' do
|
24
|
+
100.times { lorem.words(rand(20)+1).class.should eq Array }
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should allow variable number of words' do
|
28
|
+
100.times do
|
29
|
+
rn = rand(20)+1
|
30
|
+
lorem.words(rn).count.should eq(rn)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should resolve array values' do
|
35
|
+
rn = (1..rand(10)+1).map { rand(10)+1 }
|
36
|
+
lorem.words(rn).should_not raise_error
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should resolve range values' do
|
40
|
+
lorem.words((1..rand(10)+1)).should_not raise_error
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe 'Lorem words with supplemental' do
|
45
|
+
it 'should output array' do
|
46
|
+
100.times { lorem.words(10,true).class.should eq Array }
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should allow variable number of words' do
|
50
|
+
100.times do
|
51
|
+
rn = rand(20)+1
|
52
|
+
lorem.words(rn,true).count.should eq(rn)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should resolve array values' do
|
57
|
+
rn = (1..rand(10)+1).map { rand(10)+1 }
|
58
|
+
lorem.words(rn,true).should_not raise_error
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'should resolve range values' do
|
62
|
+
lorem.words((1..rand(10)+1), true).should_not raise_error
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
metadata
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: doctor_ipsum
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Nicholas Hwang
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-08-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: i18n
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: '["Markdown Lorem Ipsum"]'
|
70
|
+
email:
|
71
|
+
- nick.joosung.hwang@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- .travis.yml
|
78
|
+
- Gemfile
|
79
|
+
- LICENSE.txt
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- doctor_ipsum.gemspec
|
83
|
+
- ipsum_lorem.md
|
84
|
+
- lib/doctor_ipsum.rb
|
85
|
+
- lib/doctor_ipsum/lorem.rb
|
86
|
+
- lib/doctor_ipsum/version.rb
|
87
|
+
- lib/locales/en.yml
|
88
|
+
- spec/doctor_lorem_spec.rb
|
89
|
+
- spec/paragraph_spec.rb
|
90
|
+
- spec/sentence_spec.rb
|
91
|
+
- spec/spec_helper.rb
|
92
|
+
- spec/word_spec.rb
|
93
|
+
homepage: https://github.com/geekjuice/doctor_ipsum
|
94
|
+
licenses:
|
95
|
+
- MIT
|
96
|
+
metadata: {}
|
97
|
+
post_install_message:
|
98
|
+
rdoc_options: []
|
99
|
+
require_paths:
|
100
|
+
- lib
|
101
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - '>='
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
requirements: []
|
112
|
+
rubyforge_project:
|
113
|
+
rubygems_version: 2.0.6
|
114
|
+
signing_key:
|
115
|
+
specification_version: 4
|
116
|
+
summary: '["Lorem Ipsum generator with Markdown formatting"]'
|
117
|
+
test_files:
|
118
|
+
- spec/doctor_lorem_spec.rb
|
119
|
+
- spec/paragraph_spec.rb
|
120
|
+
- spec/sentence_spec.rb
|
121
|
+
- spec/spec_helper.rb
|
122
|
+
- spec/word_spec.rb
|