lorem_ipsum_amet 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Changelog
2
+
3
+ ## 0.4.0 (2012-12-10)
4
+
5
+ * Added alternative short syntax: #lorem_ipsum(c: X), #lorem_ipsum(p: X), #lorem_ipsum(w: X)
6
+ * Added short methods: #c(X), #p(X), #w(X)
7
+
data/README.md CHANGED
@@ -1,77 +1,95 @@
1
1
  # Lorem Ipsum Amet - blind text generator
2
2
  ===========
3
3
 
4
- **Lorem Ipsum Amet** provides a simple yet powerful DSL for generating blind text in your projects.
4
+ **Lorem Ipsum Amet** is a gem that provides a simple yet powerful DSL for generating blind texts in your **Ruby** or **Ruby on Rails** projects.
5
+
6
+ Lots of shortcuts have been incorporated in order to make the DSL concise yet expressive to avoid lots of typing.
5
7
 
6
8
  ## Installation
7
9
 
8
10
  Add it to your Gemfile:
9
11
 
10
- `gem 'lorem-ipsum-amet'`
12
+ gem 'lorem-ipsum-amet'
11
13
 
12
14
  And run:
13
15
 
14
- `bundle install`
16
+ bundle install
15
17
 
16
18
  to install it.
17
19
 
18
20
  ## Usage
19
21
 
20
- The gem provides all of its features through the namespace LoremIpsum. If you are using it in a Rails project, refer to the next section.
22
+ The gem provides all of its features through the namespace LoremIpsum. If you are using it in a **Rails** project, refer to the next section.
21
23
 
22
24
  ### Examples
23
25
 
24
26
  #### Get some lorem ipsum!
25
27
 
26
- `LoremIpsum.lorem_ipsum` or
27
- (alternatively) `LoremIpsum.text`
28
+ LoremIpsum.lorem_ipsum
29
+
30
+ or (alternatively)
31
+
32
+ LoremIpsum.text
28
33
 
29
34
  #### Characters
30
35
 
31
36
  Get 100 characters:
32
37
 
33
- `LoremIpsum.lorem_ipsum(100)` or
34
- `LoremIpsum.lorem_ipsum(characters: 100)`
38
+ LoremIpsum.lorem_ipsum(100)
39
+
40
+ LoremIpsum.lorem_ipsum(characters: 100)
41
+
42
+ LoremIpsum.lorem_ipsum(c: 100)
43
+
44
+ LoremIpsum.c(100)
35
45
 
36
46
  #### Paragraph
37
47
 
38
48
  Get 3 paragraphs:
39
49
 
40
- `LoremIpsum.lorem_ipsum(paragraphs: 3)`
50
+ LoremIpsum.lorem_ipsum(paragraphs: 3)
51
+
52
+ LoremIpsum.lorem_ipsum(p: 3)
53
+
54
+ LoremIpsum.c(3)
41
55
 
42
56
  #### Words
43
57
 
44
58
  Get 200 words:
45
59
 
46
- `LoremIpsum.lorem_ipsum(words: 3)`
60
+ LoremIpsum.lorem_ipsum(words: 3)
61
+
62
+ LoremIpsum.lorem_ipsum(w: 3)
63
+
64
+ LoremIpsum.w(200)
47
65
 
48
66
  #### HTML
49
67
 
50
68
  Get 5 paragraphs with `<br />` breaks instead of `\n`:
51
69
 
52
- `LoremIpsum.lorem_ipsum(paragraphs: 5, html: true)`
70
+ LoremIpsum.lorem_ipsum(paragraphs: 5, html: true)
53
71
 
54
72
  #### Custom paragraph join
55
73
 
56
- Get 3 paragraphs joined by `\r\n`:
74
+ Get 3 paragraphs joined by \r\n:
57
75
 
58
- `LoremIpsum.lorem_ipsum(paragraphs: 3, join: "\r\n")`
76
+ LoremIpsum.lorem_ipsum(paragraphs: 3, join: "\r\n")
59
77
 
60
78
  #### Text formatting
61
79
 
62
- Use the `format` parameter.
80
+ Use the format parameter.
63
81
 
64
82
  Title case:
65
83
 
66
- `LoremIpsum.lorem_ipsum(10, format: :title_case)`
84
+ LoremIpsum.lorem_ipsum(10, format: :title_case)
67
85
 
68
86
  Upcase:
69
87
 
70
- `LoremIpsum.lorem_ipsum(10, format: :upcase)`
88
+ LoremIpsum.lorem_ipsum(10, format: :upcase)
71
89
 
72
90
  Downcase:
73
91
 
74
- `LoremIpsum.lorem_ipsum(10, format: :downcase)`
92
+ LoremIpsum.lorem_ipsum(10, format: :downcase)
75
93
 
76
94
  #### Different text lengths
77
95
 
@@ -79,36 +97,36 @@ There are also some shortcuts for getting different text lengths.
79
97
 
80
98
  Short:
81
99
 
82
- `LoremIpsum.short`
100
+ LoremIpsum.short
83
101
 
84
102
  Medium:
85
103
 
86
- `LoremIpsum.medium`
87
- `LoremIpsum.medium("<br />")`
104
+ LoremIpsum.medium
105
+ LoremIpsum.medium("<br />")
88
106
 
89
107
  Long:
90
108
 
91
- `LoremIpsum.long`
92
- `LoremIpsum.long("<br />")`
109
+ LoremIpsum.long
110
+ LoremIpsum.long("<br />")
93
111
 
94
112
  Very long:
95
113
 
96
- `LoremIpsum.very_long`
97
- `LoremIpsum.very_long("<br />")`
114
+ LoremIpsum.very_long
115
+ LoremIpsum.very_long("<br />")
98
116
 
99
117
  ### Rails integration
100
118
 
101
- If you are using this gem in a Rails project, you can access the helper method `lorem_ipsum` to get exactly the same functionality as described in the examples before.
119
+ If you are using this gem in a Rails project, you can access the helper method lorem_ipsum to get exactly the same functionality as described in the examples before.
102
120
 
103
121
  The html option is activated by default.
104
122
 
105
123
  ERB:
106
124
 
107
- `<%= text_area_tag 'placeholder', lorem_ipsum %>`
125
+ <%= text_area_tag 'placeholder', lorem_ipsum %>
108
126
 
109
127
  HAML:
110
128
 
111
- `%p= lorem_ipsum(paragraphs: 5)`
129
+ %p= lorem_ipsum(paragraphs: 5)
112
130
 
113
131
  ## Bug reports and contributions
114
132
 
@@ -120,5 +138,5 @@ If you discover any bugs or need a feature, feel free to create an issue on GitH
120
138
 
121
139
  ## License
122
140
 
123
- MIT License.
141
+ MIT License. Refer to [License file](https://github.com/yagooar/lorem_ipsum_amet/blob/master/LICENSE.txt)
124
142
 
data/Rakefile CHANGED
@@ -18,8 +18,8 @@ Jeweler::Tasks.new do |gem|
18
18
  gem.name = 'lorem_ipsum_amet'
19
19
  gem.homepage = 'http://yagooar.github.com/lorem_ipsum_amet/'
20
20
  gem.license = 'MIT'
21
- gem.summary = %Q{Lorem Ipsum generator}
22
- gem.description = %Q{Generate blind texts with different configurations}
21
+ gem.summary = %Q{Lorem Ipsum generator for Ruby and Rails}
22
+ gem.description = %Q{Generate blind texts with tons of options in Ruby and Ruby on Rails}
23
23
  gem.email = 'yagooar@gmail.com'
24
24
  gem.authors = ['Mateusz Sojka']
25
25
  gem.require_paths = ['lib']
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.4.0
@@ -14,10 +14,16 @@ module LoremIpsumAmet
14
14
 
15
15
  if params[:characters]
16
16
  Character.new(self, params.delete(:characters), join_element).text
17
+ elsif params[:c]
18
+ Character.new(self, params.delete(:c), join_element).text
17
19
  elsif params[:paragraphs]
18
20
  Paragraph.new(self, params.delete(:paragraphs), join_element).text
21
+ elsif params[:p]
22
+ Paragraph.new(self, params.delete(:p), join_element).text
19
23
  elsif params[:words]
20
24
  Word.new(self, params.delete(:words), join_element).text
25
+ elsif params[:w]
26
+ Word.new(self, params.delete(:w), join_element).text
21
27
  else
22
28
  paragraphs.first
23
29
  end
@@ -30,24 +36,36 @@ module LoremIpsumAmet
30
36
  end
31
37
 
32
38
  def short
33
- Word.new(self, 8, nil).text
39
+ lorem_ipsum(words: 8)
34
40
  end
35
41
 
36
42
  def medium(join_element = "\n")
37
- Paragraph.new(self, 2, join_element).text
43
+ lorem_ipsum(paragraphs: 2, join: join_element)
38
44
  end
39
45
 
40
46
  def long(join_element = "\n")
41
- Paragraph.new(self, 8, join_element).text
47
+ lorem_ipsum(paragraphs: 8, join: join_element)
42
48
  end
43
49
 
44
50
  def very_long(join_element = "\n")
45
- Paragraph.new(self, 24, join_element).text
51
+ lorem_ipsum(paragraphs: 24, join: join_element)
46
52
  end
47
53
 
48
54
  # http://goo.gl/m0MMz ;)
49
55
  def the_lord_of_the_rings_long(join_element = "\n")
50
- Word.new(self, 500000, join_element).text
56
+ lorem_ipsum(words: 500000, join: join_element)
57
+ end
58
+
59
+ def c(characters, join_element = "\n")
60
+ lorem_ipsum(characters, join: join_element)
61
+ end
62
+
63
+ def p(paragraphs, join_element = "\n")
64
+ lorem_ipsum(paragraphs: paragraphs, join: join_element)
65
+ end
66
+
67
+ def w(words, join_element = "\n")
68
+ lorem_ipsum(words: words, join: join_element)
51
69
  end
52
70
 
53
71
  private
@@ -32,6 +32,10 @@ describe LoremIpsumAmet::Base do
32
32
  expect(subject.lorem_ipsum(characters: 20)).to eq(first_paragraph[0...20])
33
33
  end
34
34
 
35
+ it 'returns a given amount of characters (short syntax)' do
36
+ expect(subject.lorem_ipsum(c: 20)).to eq(first_paragraph[0...20])
37
+ end
38
+
35
39
  describe 'join element' do
36
40
 
37
41
  it 'returns paragraphs separated by the given join element' do
@@ -48,6 +52,20 @@ describe LoremIpsumAmet::Base do
48
52
 
49
53
  end
50
54
 
55
+ describe '#c' do
56
+
57
+ it 'returns the given number of characters' do
58
+ expect(subject.c(25)).to eq(first_paragraph[0...25])
59
+ end
60
+
61
+ it 'returns the given number of characters with custom join' do
62
+ two_paragraphs = [first_paragraph, second_paragraph].join("\r\n")
63
+
64
+ expect(subject.c(two_paragraphs.length, "\r\n")).to eq(two_paragraphs)
65
+ end
66
+
67
+ end
68
+
51
69
  end
52
70
 
53
71
  describe 'paragraphs' do
@@ -57,6 +75,11 @@ describe LoremIpsumAmet::Base do
57
75
  expect(subject.lorem_ipsum(paragraphs: 2)).to eq(two_paragraphs)
58
76
  end
59
77
 
78
+ it 'returns a given amount of paragraphs (short syntax)' do
79
+ two_paragraphs = [first_paragraph, second_paragraph].join("\n")
80
+ expect(subject.lorem_ipsum(p: 2)).to eq(two_paragraphs)
81
+ end
82
+
60
83
  it 'returns a given amount of paragraphs (more paragraphs than in raw text)' do
61
84
  seven_paragraphs = [raw_text, first_paragraph].join("\n")
62
85
  expect(subject.lorem_ipsum(paragraphs: 7)).to eq(seven_paragraphs)
@@ -76,6 +99,23 @@ describe LoremIpsumAmet::Base do
76
99
  expect(subject.lorem_ipsum(paragraphs: 2, html: true)).to eq(two_paragraphs)
77
100
  end
78
101
 
102
+
103
+ describe '#p' do
104
+
105
+ it 'returns the given number of paragraphs' do
106
+ two_paragraphs = [first_paragraph, second_paragraph].join("\n")
107
+
108
+ expect(subject.p(2)).to eq(two_paragraphs)
109
+ end
110
+
111
+ it 'returns the given number of paragraphs (with custom join)' do
112
+ two_paragraphs = [first_paragraph, second_paragraph].join("\r\n")
113
+
114
+ expect(subject.p(2, "\r\n")).to eq(two_paragraphs)
115
+ end
116
+
117
+ end
118
+
79
119
  end
80
120
 
81
121
  end
@@ -88,6 +128,12 @@ describe LoremIpsumAmet::Base do
88
128
  expect(subject.lorem_ipsum(words: 8)).to eq(eight_words)
89
129
  end
90
130
 
131
+ it 'returns a given amount of words (short syntax)' do
132
+ eight_words = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.'
133
+
134
+ expect(subject.lorem_ipsum(w: 8)).to eq(eight_words)
135
+ end
136
+
91
137
  it 'returns a given amount of words (more than in the whole text)' do
92
138
  seven_paragraphs = [raw_text, first_paragraph].join("\n")
93
139
  words = seven_paragraphs.split.size
@@ -101,6 +147,24 @@ describe LoremIpsumAmet::Base do
101
147
 
102
148
  expect(subject.lorem_ipsum(words: words, join: "\r\n")).to eq(seven_paragraphs)
103
149
  end
150
+
151
+ describe '#w' do
152
+
153
+ it 'returns the given amount of words' do
154
+ eight_words = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.'
155
+
156
+ expect(subject.w(8)).to eq(eight_words)
157
+ end
158
+
159
+ it 'returns a given amount of words separated by \r\n' do
160
+ seven_paragraphs = [raw_text, first_paragraph].join("\n").gsub("\n", "\r\n")
161
+ words = seven_paragraphs.split.size
162
+
163
+ expect(subject.w(words, "\r\n")).to eq(seven_paragraphs)
164
+ end
165
+
166
+ end
167
+
104
168
  end
105
169
 
106
170
  describe 'text format' do
@@ -169,10 +233,12 @@ describe LoremIpsumAmet::Base do
169
233
 
170
234
  end
171
235
 
172
- describe '.text' do
173
- it 'is an alias of .lorem_ipsum' do
236
+ describe '#text' do
237
+
238
+ it 'is an alias of #lorem_ipsum' do
174
239
  expect(subject.method(:text)).to eq(subject.method(:lorem_ipsum))
175
240
  end
241
+
176
242
  end
177
243
 
178
244
  end
data/spec/spec_helper.rb CHANGED
@@ -6,7 +6,7 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
6
6
  # SimpleCov.start
7
7
 
8
8
  require 'rspec'
9
- require 'lorem_ipsum'
9
+ require 'lorem_ipsum_amet'
10
10
 
11
11
  # Requires supporting files with custom matchers and macros, etc,
12
12
  # in ./support/ and its subdirectories.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lorem_ipsum_amet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-09 00:00:00.000000000 Z
12
+ date: 2012-12-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -107,7 +107,7 @@ dependencies:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
- description: Generate blind texts with different configurations
110
+ description: Generate blind texts with tons of options in Ruby and Ruby on Rails
111
111
  email: yagooar@gmail.com
112
112
  executables: []
113
113
  extensions: []
@@ -115,6 +115,7 @@ extra_rdoc_files:
115
115
  - LICENSE.txt
116
116
  - README.md
117
117
  files:
118
+ - CHANGELOG.md
118
119
  - Gemfile
119
120
  - Gemfile.lock
120
121
  - LICENSE.txt
@@ -147,7 +148,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
147
148
  version: '0'
148
149
  segments:
149
150
  - 0
150
- hash: 26969897705915607
151
+ hash: 2022820521436179043
151
152
  required_rubygems_version: !ruby/object:Gem::Requirement
152
153
  none: false
153
154
  requirements:
@@ -159,5 +160,5 @@ rubyforge_project:
159
160
  rubygems_version: 1.8.23
160
161
  signing_key:
161
162
  specification_version: 3
162
- summary: Lorem Ipsum generator
163
+ summary: Lorem Ipsum generator for Ruby and Rails
163
164
  test_files: []