lorem_ipsum_amet 0.3.1 → 0.4.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/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: []