ms_lorem 0.1.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/.document +5 -0
- data/.gitignore +21 -0
- data/LICENSE +20 -0
- data/README.rdoc +17 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/lib/ms_lorem.rb +113 -0
- data/ms_lorem.gemspec +52 -0
- data/ms_lorem.kpf +7 -0
- data/test/helper.rb +10 -0
- data/test/test_ms_lorem.rb +7 -0
- metadata +74 -0
data/.document
ADDED
data/.gitignore
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 wmerrell
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
= ms_lorem
|
2
|
+
|
3
|
+
Description goes here.
|
4
|
+
|
5
|
+
== Note on Patches/Pull Requests
|
6
|
+
|
7
|
+
* Fork the project.
|
8
|
+
* Make your feature addition or bug fix.
|
9
|
+
* Add tests for it. This is important so I don't break it in a
|
10
|
+
future version unintentionally.
|
11
|
+
* Commit, do not mess with rakefile, version, or history.
|
12
|
+
(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)
|
13
|
+
* Send me a pull request. Bonus points for topic branches.
|
14
|
+
|
15
|
+
== Copyright
|
16
|
+
|
17
|
+
Copyright (c) 2010 wmerrell. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "ms_lorem"
|
8
|
+
gem.summary = %Q{Generates a Lorem Ipsum string.}
|
9
|
+
gem.description = %Q{Creates a new class, Lorem, which is a sub class of String. Lorem.new(word_count) returns a Lorem string of specified length. The only parameter is the number of words to include in the returned string and defaults to twenty words.}
|
10
|
+
gem.email = "will@morelandsolutions.com"
|
11
|
+
gem.homepage = "http://github.com/wmerrell/ms_lorem"
|
12
|
+
gem.authors = ["Will Merrell"]
|
13
|
+
#gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
14
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
15
|
+
end
|
16
|
+
Jeweler::GemcutterTasks.new
|
17
|
+
rescue LoadError
|
18
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
19
|
+
end
|
20
|
+
|
21
|
+
require 'rake/testtask'
|
22
|
+
Rake::TestTask.new(:test) do |test|
|
23
|
+
test.libs << 'lib' << 'test'
|
24
|
+
test.pattern = 'test/**/test_*.rb'
|
25
|
+
test.verbose = true
|
26
|
+
end
|
27
|
+
|
28
|
+
begin
|
29
|
+
require 'rcov/rcovtask'
|
30
|
+
Rcov::RcovTask.new do |test|
|
31
|
+
test.libs << 'test'
|
32
|
+
test.pattern = 'test/**/test_*.rb'
|
33
|
+
test.verbose = true
|
34
|
+
end
|
35
|
+
rescue LoadError
|
36
|
+
task :rcov do
|
37
|
+
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
task :test => :check_dependencies
|
42
|
+
|
43
|
+
task :default => :test
|
44
|
+
|
45
|
+
require 'rake/rdoctask'
|
46
|
+
Rake::RDocTask.new do |rdoc|
|
47
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
48
|
+
|
49
|
+
rdoc.rdoc_dir = 'rdoc'
|
50
|
+
rdoc.title = "ms_lorem #{version}"
|
51
|
+
rdoc.rdoc_files.include('README*')
|
52
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
53
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
data/lib/ms_lorem.rb
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
class Lorem < String
|
2
|
+
|
3
|
+
def initialize(word_count=20)
|
4
|
+
# ===== words
|
5
|
+
words =<<EOS
|
6
|
+
lorem ipsum dolor sit amet consectetuer adipiscing elit integer in mi a mauris ornare sagittis
|
7
|
+
suspendisse potenti suspendisse dapibus dignissim dolor nam sapien tellus tempus et tempus ac
|
8
|
+
tincidunt in arcu duis dictum proin magna nulla pellentesque non commodo et iaculis sit amet
|
9
|
+
mi mauris condimentum massa ut metus donec viverra sapien mattis rutrum tristique lacus eros
|
10
|
+
semper tellus et molestie nisi sapien eu massa vestibulum ante ipsum primis in faucibus orci
|
11
|
+
luctus et ultrices posuere cubilia curae; fusce erat tortor mollis ut accumsan ut lacinia
|
12
|
+
gravida libero curabitur massa felis accumsan feugiat convallis sit amet porta vel neque duis
|
13
|
+
et ligula non elit ultricies rutrum suspendisse tempor quisque posuere malesuada velit sed
|
14
|
+
pellentesque mi a purus integer imperdiet orci a eleifend mollis velit nulla iaculis arcu eu
|
15
|
+
rutrum magna quam sed elit nullam egestas integer interdum purus nec mauris vestibulum ac mi in
|
16
|
+
nunc suscipit dapibus duis consectetuer ipsum et pharetra sollicitudin metus turpis facilisis
|
17
|
+
magna vitae dictum ligula nulla nec mi nunc ante urna gravida sit amet congue et accumsan
|
18
|
+
vitae magna praesent luctus nullam in velit praesent est curabitur turpis class aptent taciti
|
19
|
+
sociosqu ad litora torquent per conubia nostra per inceptos hymenaeos cras consectetuer nibh in
|
20
|
+
lacinia ornare turpis sem tempor massa sagittis feugiat mauris nibh non tellus phasellus mi
|
21
|
+
fusce enim mauris ultrices turpis eu adipiscing viverra justo libero ullamcorper massa id
|
22
|
+
ultrices velit est quis tortor quisque condimentum lacus volutpat nonummy accumsan est nunc
|
23
|
+
imperdiet magna vulputate aliquet nisi risus at est aliquam imperdiet gravida tortor praesent
|
24
|
+
interdum accumsan ante vivamus est ligula consequat sed pulvinar eu consequat vitae eros nulla
|
25
|
+
elit nunc congue eget scelerisque a tempor ac nisi morbi facilisis pellentesque habitant morbi
|
26
|
+
tristique senectus et netus et malesuada fames ac turpis egestas in hac habitasse platea dictumst
|
27
|
+
suspendisse vel lorem ut ligula tempor consequat quisque consectetuer nisl eget elit proin quis
|
28
|
+
mauris ac orci accumsan suscipit sed ipsum sed vel libero nec elit feugiat blandit vestibulum
|
29
|
+
purus nulla accumsan et volutpat at pellentesque vel urna suspendisse nonummy aliquam pulvinar
|
30
|
+
libero donec vulputate orci ornare bibendum condimentum lorem elit dignissim sapien ut aliquam
|
31
|
+
nibh augue in turpis phasellus ac eros praesent luctus lorem a mollis lacinia leo turpis commodo
|
32
|
+
sem in lacinia mi quam et quam curabitur a libero vel tellus mattis imperdiet in congue neque ut
|
33
|
+
scelerisque bibendum libero lacus ullamcorper sapien quis aliquet massa velit vel orci fusce in
|
34
|
+
nulla quis est cursus gravida in nibh lorem ipsum dolor sit amet consectetuer adipiscing elit
|
35
|
+
integer fermentum pretium massa morbi feugiat iaculis nunc aenean aliquam pretium orci cum sociis
|
36
|
+
natoque penatibus et magnis dis parturient montes nascetur ridiculus mus vivamus quis tellus vel
|
37
|
+
quam varius bibendum fusce est metus feugiat at porttitor et cursus quis pede nam ut augue
|
38
|
+
nulla posuere phasellus at dolor a enim cursus vestibulum duis id nisi duis semper tellus ac
|
39
|
+
nulla vestibulum scelerisque lobortis dolor aenean a felis aliquam erat volutpat donec a magna
|
40
|
+
vitae pede sagittis lacinia cras vestibulum diam ut arcu mauris a nunc duis sollicitudin erat sit
|
41
|
+
amet turpis proin at libero eu diam lobortis fermentum nunc lorem turpis imperdiet id gravida
|
42
|
+
eget aliquet sed purus ut vehicula laoreet ante mauris eu nunc sed sit amet elit nec ipsum
|
43
|
+
aliquam egestas donec non nibh cras sodales pretium massa praesent hendrerit est et risus
|
44
|
+
vivamus eget pede curabitur tristique scelerisque dui nullam ullamcorper vivamus venenatis velit
|
45
|
+
eget enim nunc eu nunc eget felis malesuada fermentum quisque magna mauris ligula felis luctus
|
46
|
+
a aliquet nec vulputate eget magna quisque placerat diam sed arcu praesent sollicitudin
|
47
|
+
aliquam non sapien quisque id augue class aptent taciti sociosqu ad litora torquent per conubia
|
48
|
+
nostra per inceptos hymenaeos etiam lacus lectus mollis quis mattis nec commodo facilisis
|
49
|
+
nibh sed sodales sapien ac ante duis eget lectus in nibh lacinia auctor fusce interdum lectus non
|
50
|
+
dui integer accumsan quisque quam curabitur scelerisque imperdiet nisl suspendisse potenti nam
|
51
|
+
massa leo iaculis sed accumsan id ultrices nec velit suspendisse potenti mauris bibendum
|
52
|
+
turpis ac viverra sollicitudin metus massa interdum orci non imperdiet orci ante at ipsum etiam
|
53
|
+
eget magna mauris at tortor eu lectus tempor tincidunt phasellus justo purus pharetra ut
|
54
|
+
ultricies nec consequat vel nisi fusce vitae velit at libero sollicitudin sodales aenean mi
|
55
|
+
libero ultrices id suscipit vitae dapibus eu metus aenean vestibulum nibh ac massa vivamus
|
56
|
+
vestibulum libero vitae purus in hac habitasse platea dictumst curabitur blandit nunc non arcu ut
|
57
|
+
nec nibh morbi quis leo vel magna commodo rhoncus donec congue leo eu lacus pellentesque at erat
|
58
|
+
id mi consequat congue praesent a nisl ut diam interdum molestie fusce suscipit rhoncus sem donec
|
59
|
+
pretium aliquam molestie vivamus et justo at augue aliquet dapibus pellentesque felis morbi
|
60
|
+
semper in venenatis imperdiet neque donec auctor molestie augue nulla id arcu sit amet dui
|
61
|
+
lacinia convallis proin tincidunt proin a ante nunc imperdiet augue nullam sit amet arcu
|
62
|
+
quisque laoreet viverra felis lorem ipsum dolor sit amet consectetuer adipiscing elit in hac
|
63
|
+
habitasse platea dictumst pellentesque habitant morbi tristique senectus et netus et malesuada
|
64
|
+
fames ac turpis egestas class aptent taciti sociosqu ad litora torquent per conubia nostra per
|
65
|
+
inceptos hymenaeos nullam nibh sapien volutpat ut placerat quis ornare at lorem class aptent
|
66
|
+
taciti sociosqu ad litora torquent per conubia nostra per inceptos hymenaeos morbi dictum massa id
|
67
|
+
libero ut neque phasellus tincidunt nibh ut tincidunt lacinia lacus nulla aliquam mi a interdum
|
68
|
+
dui augue non pede duis nunc magna vulputate a porta at tincidunt a nulla praesent facilisis
|
69
|
+
suspendisse sodales feugiat purus cras et justo a mauris mollis imperdiet morbi erat mi ultrices
|
70
|
+
eget aliquam elementum iaculis id velit in scelerisque enim sit amet turpis sed aliquam odio
|
71
|
+
nonummy ullamcorper mollis lacus nibh tempor dolor sit amet varius sem neque ac dui nunc et est
|
72
|
+
eu massa eleifend mollis mauris aliquet orci quis tellus ut mattis praesent mollis consectetuer
|
73
|
+
quam nulla nulla nunc accumsan nunc sit amet scelerisque porttitor nibh pede lacinia justo
|
74
|
+
tristique mattis purus eros non velit aenean sagittis commodo erat aliquam id lacus morbi
|
75
|
+
vulputate vestibulum elit
|
76
|
+
EOS
|
77
|
+
words.gsub!(/\n/,' ')
|
78
|
+
words.gsub!(/ */,' ')
|
79
|
+
words.strip!
|
80
|
+
words = words.split(/ /)
|
81
|
+
|
82
|
+
lorem = ""
|
83
|
+
|
84
|
+
# ===== total
|
85
|
+
twn = 0
|
86
|
+
twc = word_count
|
87
|
+
while twn < twc
|
88
|
+
|
89
|
+
# ===== paragraph
|
90
|
+
pwn = 0
|
91
|
+
pwc = rand(100)+50
|
92
|
+
while pwn < pwc and twn < twc do
|
93
|
+
|
94
|
+
# ===== sentence
|
95
|
+
swn = 0
|
96
|
+
swc = rand(10)+3
|
97
|
+
while swn < swc and pwn < pwc and twn < twc do
|
98
|
+
word = words[rand(words.length)]
|
99
|
+
if swn == 0
|
100
|
+
lorem << "#{word.capitalize} "
|
101
|
+
else
|
102
|
+
lorem << "#{word} "
|
103
|
+
end
|
104
|
+
twn +=1
|
105
|
+
pwn +=1
|
106
|
+
swn +=1
|
107
|
+
end
|
108
|
+
lorem << ". "
|
109
|
+
end
|
110
|
+
end
|
111
|
+
super(lorem.gsub!(/ \./,'.'))
|
112
|
+
end # end of lorem
|
113
|
+
end
|
data/ms_lorem.gemspec
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{ms_lorem}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Will Merrell"]
|
12
|
+
s.date = %q{2010-06-11}
|
13
|
+
s.description = %q{Creates a new class, Lorem, which is a sub class of String. Lorem.new(word_count) returns a Lorem string of specified length. The only parameter is the number of words to include in the returned string and defaults to twenty words.}
|
14
|
+
s.email = %q{will@morelandsolutions.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"LICENSE",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"lib/ms_lorem.rb",
|
27
|
+
"ms_lorem.gemspec",
|
28
|
+
"ms_lorem.kpf",
|
29
|
+
"test/helper.rb",
|
30
|
+
"test/test_ms_lorem.rb"
|
31
|
+
]
|
32
|
+
s.homepage = %q{http://github.com/wmerrell/ms_lorem}
|
33
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
34
|
+
s.require_paths = ["lib"]
|
35
|
+
s.rubygems_version = %q{1.3.6}
|
36
|
+
s.summary = %q{Generates a Lorem Ipsum string.}
|
37
|
+
s.test_files = [
|
38
|
+
"test/helper.rb",
|
39
|
+
"test/test_ms_lorem.rb"
|
40
|
+
]
|
41
|
+
|
42
|
+
if s.respond_to? :specification_version then
|
43
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
44
|
+
s.specification_version = 3
|
45
|
+
|
46
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
47
|
+
else
|
48
|
+
end
|
49
|
+
else
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
data/ms_lorem.kpf
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Komodo Project File - DO NOT EDIT -->
|
3
|
+
<project id="0c2970bd-a77d-4559-8f37-a86ccd102334" kpf_version="4" name="ms_lorem.kpf">
|
4
|
+
<preference-set idref="0c2970bd-a77d-4559-8f37-a86ccd102334">
|
5
|
+
<boolean id="import_live">1</boolean>
|
6
|
+
</preference-set>
|
7
|
+
</project>
|
data/test/helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ms_lorem
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Will Merrell
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-06-11 00:00:00 -04:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description: Creates a new class, Lorem, which is a sub class of String. Lorem.new(word_count) returns a Lorem string of specified length. The only parameter is the number of words to include in the returned string and defaults to twenty words.
|
22
|
+
email: will@morelandsolutions.com
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files:
|
28
|
+
- LICENSE
|
29
|
+
- README.rdoc
|
30
|
+
files:
|
31
|
+
- .document
|
32
|
+
- .gitignore
|
33
|
+
- LICENSE
|
34
|
+
- README.rdoc
|
35
|
+
- Rakefile
|
36
|
+
- VERSION
|
37
|
+
- lib/ms_lorem.rb
|
38
|
+
- ms_lorem.gemspec
|
39
|
+
- ms_lorem.kpf
|
40
|
+
- test/helper.rb
|
41
|
+
- test/test_ms_lorem.rb
|
42
|
+
has_rdoc: true
|
43
|
+
homepage: http://github.com/wmerrell/ms_lorem
|
44
|
+
licenses: []
|
45
|
+
|
46
|
+
post_install_message:
|
47
|
+
rdoc_options:
|
48
|
+
- --charset=UTF-8
|
49
|
+
require_paths:
|
50
|
+
- lib
|
51
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
version: "0"
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
version: "0"
|
65
|
+
requirements: []
|
66
|
+
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 1.3.6
|
69
|
+
signing_key:
|
70
|
+
specification_version: 3
|
71
|
+
summary: Generates a Lorem Ipsum string.
|
72
|
+
test_files:
|
73
|
+
- test/helper.rb
|
74
|
+
- test/test_ms_lorem.rb
|