taggart 0.0.5 → 0.0.6
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/README.markdown +27 -8
- data/lib/taggart.rb +27 -2
- data/spec/taggart_spec.rb +49 -1
- data/taggart.gemspec +2 -2
- metadata +4 -4
data/README.markdown
CHANGED
@@ -89,27 +89,43 @@ Like this:
|
|
89
89
|
```ruby
|
90
90
|
"alert('This string will pop up an alert!')".script
|
91
91
|
```
|
92
|
+
|
92
93
|
gives you
|
94
|
+
|
93
95
|
```html
|
94
|
-
<script
|
96
|
+
<script type="text/javascript">alert('This string will pop up an alert!')</script>
|
95
97
|
```
|
96
98
|
|
97
99
|
whereas this string
|
98
100
|
|
99
101
|
```ruby
|
100
|
-
"/script/
|
102
|
+
"/script/awesome_script.js".script
|
101
103
|
```
|
102
104
|
|
103
105
|
gives you this
|
104
106
|
|
105
107
|
```html
|
106
|
-
|
108
|
+
<script type="text/javascript" src="/script/awesome_script.js"></script>
|
109
|
+
```
|
110
|
+
|
111
|
+
Calling `.ol` or `.ul` on an array, will generate a full ordered or unordered list, like this
|
112
|
+
|
113
|
+
```ruby
|
114
|
+
%w(First Second Third).ol
|
115
|
+
```
|
116
|
+
|
117
|
+
returns
|
118
|
+
|
119
|
+
```html
|
120
|
+
<ol><li>First</li><li>Second</li><li>Third</li></ol>
|
107
121
|
```
|
108
122
|
|
109
|
-
|
123
|
+
|
124
|
+
Naturally they all also work with attributes.
|
110
125
|
|
111
126
|
See the `spec/taggart_spec.rb` for more examples (until I have time to do a bigger-better-faster-example file).
|
112
127
|
|
128
|
+
|
113
129
|
Background:
|
114
130
|
-----------
|
115
131
|
I have a lot of Ruby code that marks some String in an HTML tag, usually with a
|
@@ -147,9 +163,12 @@ Taggart is now active, which means you can play around.
|
|
147
163
|
|
148
164
|
History
|
149
165
|
-------
|
150
|
-
|
166
|
+
|
167
|
+
- Added `<table>` to Array that creates single or multi row tables.
|
168
|
+
- Added `<ol>` and `<ul>` tags to the Array so you can now generate lists in one fast action.
|
169
|
+
- Added `<script>`-tag. You can now add `"my-script.js".script` and `"alert('Hello World!')".script`.
|
151
170
|
- Added several tags (still not a complete list, tweet or send a pull request for more tags.)
|
152
|
-
- Removed several
|
171
|
+
- Removed several `if DEBUG` lines
|
153
172
|
- Removed examples and most comments from taggart.rb file
|
154
173
|
- Converted the README to markdown for a bit better formatting fun.
|
155
174
|
- Added `.href` and `.img` feature.
|
@@ -188,8 +207,8 @@ Feedback welcome!!
|
|
188
207
|
|
189
208
|
Author: Jocke Selin <jocke@selincite.com> @jockeselin
|
190
209
|
|
191
|
-
Date: 2012-03-
|
210
|
+
Date: 2012-03-14
|
192
211
|
|
193
|
-
Version: 0.0.
|
212
|
+
Version: 0.0.6 Build 011
|
194
213
|
|
195
214
|
Github: <https://github.com/jocke/taggart>
|
data/lib/taggart.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
# ===========================================
|
3
3
|
# Author: Jocke Selin <jocke@selincite.com>
|
4
4
|
# @jockeselin
|
5
|
-
# Date: 2012-03-
|
6
|
-
# Version: 0.0.
|
5
|
+
# Date: 2012-03-14
|
6
|
+
# Version: 0.0.6 Build 011
|
7
7
|
# Github: https://github.com/jocke/taggart
|
8
8
|
|
9
9
|
module Taggart
|
@@ -159,6 +159,31 @@ module Taggart
|
|
159
159
|
end
|
160
160
|
|
161
161
|
|
162
|
+
def ol(*args)
|
163
|
+
self.li.ol(*args)
|
164
|
+
end
|
165
|
+
|
166
|
+
|
167
|
+
def ul(*args)
|
168
|
+
self.li.ul(*args)
|
169
|
+
end
|
170
|
+
|
171
|
+
|
172
|
+
def tr(*args)
|
173
|
+
self.td.tr(*args)
|
174
|
+
end
|
175
|
+
|
176
|
+
|
177
|
+
def table(*args)
|
178
|
+
if self.first.is_a? Array
|
179
|
+
self.map do |table_row|
|
180
|
+
table_row.tr if table_row.is_a? Array
|
181
|
+
end.join.table(*args)
|
182
|
+
else
|
183
|
+
self.tr.table(*args)
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
162
187
|
end # End Array module
|
163
188
|
end
|
164
189
|
|
data/spec/taggart_spec.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
# Run with: rspec -fd -c taggart_spec.rb
|
1
|
+
# Run with rake or with: rspec -fd -c taggart_spec.rb
|
2
|
+
|
2
3
|
require 'taggart.rb'
|
3
4
|
|
4
5
|
describe Taggart::String, "#attribute_tags" do
|
@@ -195,4 +196,51 @@ describe Taggart::Array, "#array_attribute_tag" do
|
|
195
196
|
end
|
196
197
|
end
|
197
198
|
end
|
199
|
+
|
200
|
+
describe Taggart::Array, "smarter tags" do
|
201
|
+
context "cleverer lists" do
|
202
|
+
it "returns an ordered list when calling ol." do
|
203
|
+
%w{one two three}.ol.should == "<ol><li>one</li><li>two</li><li>three</li></ol>"
|
204
|
+
end
|
205
|
+
|
206
|
+
it "returns an ordered list with attributes when calling ol." do
|
207
|
+
%w{one two three}.ol(id: :my_unordered_list).should == "<ol id=\"my_unordered_list\"><li>one</li><li>two</li><li>three</li></ol>"
|
208
|
+
end
|
209
|
+
|
210
|
+
it "returns an unordered list when calling ul." do
|
211
|
+
%w{one two three}.ul.should == "<ul><li>one</li><li>two</li><li>three</li></ul>"
|
212
|
+
end
|
213
|
+
|
214
|
+
it "returns an unordered list with attributes when calling ol." do
|
215
|
+
%w{one two three}.ul(id: :my_ordered_list).should == "<ul id=\"my_ordered_list\"><li>one</li><li>two</li><li>three</li></ul>"
|
216
|
+
end
|
217
|
+
|
218
|
+
end
|
219
|
+
|
220
|
+
context "cleverer tables" do
|
221
|
+
it "returns a table row when calling tr." do
|
222
|
+
%w{one two three}.tr.should == "<tr><td>one</td><td>two</td><td>three</td></tr>"
|
223
|
+
end
|
224
|
+
|
225
|
+
it "returns a table row witth attributes when calling tr." do
|
226
|
+
%w{one two three}.tr(id: :my_table_row).should == "<tr id=\"my_table_row\"><td>one</td><td>two</td><td>three</td></tr>"
|
227
|
+
end
|
228
|
+
|
229
|
+
it "returns a single row table when calling table with strings." do
|
230
|
+
%w{one two three}.table.should == "<table><tr><td>one</td><td>two</td><td>three</td></tr></table>"
|
231
|
+
end
|
232
|
+
|
233
|
+
it "returns a single row table with attributes when calling table with strings." do
|
234
|
+
%w{one two three}.table(id: :single_row).should == "<table id=\"single_row\"><tr><td>one</td><td>two</td><td>three</td></tr></table>"
|
235
|
+
end
|
236
|
+
|
237
|
+
it "returns a multi-row table when calling table with multidimensional arrays" do
|
238
|
+
[%w(one two three), %w(zero nine eight)].table.should == "<table><tr><td>one</td><td>two</td><td>three</td></tr><tr><td>zero</td><td>nine</td><td>eight</td></tr></table>"
|
239
|
+
end
|
240
|
+
|
241
|
+
it "returns a multi-row table with attributes when calling table with multidimensional arrays" do
|
242
|
+
[%w(one two three), %w(zero nine eight)].table(id: :multi_row).should == "<table id=\"multi_row\"><tr><td>one</td><td>two</td><td>three</td></tr><tr><td>zero</td><td>nine</td><td>eight</td></tr></table>"
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|
198
246
|
end
|
data/taggart.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "taggart"
|
3
|
-
s.version = "0.0.
|
4
|
-
s.date = "2012-03-
|
3
|
+
s.version = "0.0.6"
|
4
|
+
s.date = "2012-03-14"
|
5
5
|
s.summary = "Tag Strings with HTML; 'Hello World'.h1"
|
6
6
|
s.description = "Tag your strings in a simple and easy way by running \"Hello World\".h1 for example."
|
7
7
|
s.authors = ["Jocke Selin"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taggart
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70344203614200 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70344203614200
|
25
25
|
description: Tag your strings in a simple and easy way by running "Hello World".h1
|
26
26
|
for example.
|
27
27
|
email:
|