dolores-cml 0.3.1 → 0.3.2
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/VERSION +1 -1
- data/cml.gemspec +2 -2
- data/lib/cml/tag.rb +3 -3
- data/lib/cml/tags/select.rb +7 -1
- data/spec/complex_spec.rb +3 -3
- data/spec/tags/group_spec.rb +1 -1
- data/spec/tags/select_spec.rb +26 -2
- data/spec/tags/text_spec.rb +2 -2
- data/spec/tags/textarea_spec.rb +2 -2
- metadata +4 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.3
|
data/cml.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{cml}
|
5
|
-
s.version = "0.3.
|
5
|
+
s.version = "0.3.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Chris Van Pelt"]
|
9
|
-
s.date = %q{2009-08-
|
9
|
+
s.date = %q{2009-08-27}
|
10
10
|
s.description = %q{CML let's you easily create form elements and custom interfaces for the CrowdFlower Croud Labor platform}
|
11
11
|
s.email = %q{vanpelt@doloreslabs.com}
|
12
12
|
s.extra_rdoc_files = [
|
data/lib/cml/tag.rb
CHANGED
@@ -83,11 +83,11 @@ module CML
|
|
83
83
|
def label(label, tag = "label")
|
84
84
|
label ||= @attrs["name"].to_s.capitalize
|
85
85
|
required = " <span class=\"required\">(required)</span>" if validations.include?("required")
|
86
|
-
"<#{tag}>#{label}#{required}</#{tag.split(" ")[0]}>" if label.to_s != ""
|
86
|
+
"<#{tag} class=\"legend\">#{label}#{required}</#{tag.split(" ")[0]}>" if label.to_s != ""
|
87
87
|
end
|
88
88
|
|
89
89
|
def legend(label)
|
90
|
-
label(label, "
|
90
|
+
label(label, "h2") if label
|
91
91
|
end
|
92
92
|
|
93
93
|
def to_liquid
|
@@ -125,7 +125,7 @@ module CML
|
|
125
125
|
(@opts[:data] || {}).merge({
|
126
126
|
"name" => prefix(name),
|
127
127
|
"label" => label(@attrs["label"]),
|
128
|
-
"legend" =>
|
128
|
+
"legend" => legend(@attrs["label"]),
|
129
129
|
"classes" => classes,
|
130
130
|
"value" => value
|
131
131
|
})
|
data/lib/cml/tags/select.rb
CHANGED
@@ -8,8 +8,14 @@ module CML
|
|
8
8
|
</select>
|
9
9
|
HTML
|
10
10
|
|
11
|
+
#Auto magically prepend a default option if required
|
12
|
+
def default
|
13
|
+
default = [Option.new("<cml:option value=\"\">#{@cml["default"]}</cml:option>", @opts)] if @cml["default"]
|
14
|
+
default ||= [Option.new("<cml:option value=\"\">Select one</cml:option", @opts)] if validations.include?('validates-required')
|
15
|
+
default || []
|
16
|
+
end
|
17
|
+
|
11
18
|
def children
|
12
|
-
default = @cml["default"] ? [Option.new("<cml:option value=\"\">#{@cml["default"]}</cml:option>", @opts)] : []
|
13
19
|
default + @cml.xpath("cml:option").map do |c|
|
14
20
|
Option.new(c, @opts)
|
15
21
|
end
|
data/spec/complex_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe "CML Complex" do
|
|
8
8
|
<h1>This is my name</h1>
|
9
9
|
<p>This is a description about me</p>
|
10
10
|
<div class="select">
|
11
|
-
<label>Awesome</label>
|
11
|
+
<label class="legend">Awesome</label>
|
12
12
|
<select name="u12345[awesome]" class="awesome validates-required">
|
13
13
|
<option value="">Choose an option</option>
|
14
14
|
<option>Awesome</option>
|
@@ -19,11 +19,11 @@ describe "CML Complex" do
|
|
19
19
|
<p class="instructions">Just be cool about it</p>
|
20
20
|
</div>
|
21
21
|
<div class="text">
|
22
|
-
<label>Opinion</label>
|
22
|
+
<label class="legend">Opinion</label>
|
23
23
|
<input name="u12345[opinion]" class="opinion validates-minLength:30 large" type="text" value="">
|
24
24
|
</div>
|
25
25
|
<div class="text">
|
26
|
-
<label>Email</label>
|
26
|
+
<label class="legend">Email</label>
|
27
27
|
<input name="u12345[email]" class="email validates-required validates-email" type="text" value="">
|
28
28
|
</div>
|
29
29
|
<div class="rad">
|
data/spec/tags/group_spec.rb
CHANGED
data/spec/tags/select_spec.rb
CHANGED
@@ -13,7 +13,7 @@ describe "CML Select" do
|
|
13
13
|
@p.to_html.should sorta_match(<<-HTML)
|
14
14
|
<div class="cml" id="u12345">
|
15
15
|
<div class="select">
|
16
|
-
<label>Basic</label>
|
16
|
+
<label class="legend">Basic</label>
|
17
17
|
<select name="u12345[basic]" class="basic">
|
18
18
|
<option>One</option>
|
19
19
|
<option>Two</option>
|
@@ -24,6 +24,30 @@ describe "CML Select" do
|
|
24
24
|
HTML
|
25
25
|
end
|
26
26
|
|
27
|
+
it "should render correctly when required" do
|
28
|
+
cml = <<-HTML
|
29
|
+
<cml:select label="Basic" validates="required">
|
30
|
+
<cml:option value="oney">One</option>
|
31
|
+
<cml:option selected="true">Two</option>
|
32
|
+
<cml:option label="Awesome"/>
|
33
|
+
</cml:select>
|
34
|
+
HTML
|
35
|
+
@p = Parser.new(cml, :prefix => "u12345")
|
36
|
+
@p.to_html.should sorta_match(<<-HTML)
|
37
|
+
<div class="cml" id="u12345">
|
38
|
+
<div class="select">
|
39
|
+
<label class="legend">Basic</label>
|
40
|
+
<select name="u12345[basic]" class="basic validates-required">
|
41
|
+
<option value="">Select one</option>
|
42
|
+
<option value="oney">One</option>
|
43
|
+
<option selected="selected">Two</option>
|
44
|
+
<option>Awesome</option>
|
45
|
+
</select>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
HTML
|
49
|
+
end
|
50
|
+
|
27
51
|
it "should render complex select" do
|
28
52
|
cml = <<-HTML
|
29
53
|
<cml:select label="Basic" default="Choose an option">
|
@@ -36,7 +60,7 @@ describe "CML Select" do
|
|
36
60
|
@p.to_html.should sorta_match(<<-HTML)
|
37
61
|
<div class="cml" id="u12345">
|
38
62
|
<div class="select">
|
39
|
-
<label>Basic</label>
|
63
|
+
<label class="legend">Basic</label>
|
40
64
|
<select name="u12345[basic]" class="basic">
|
41
65
|
<option value="">Choose an option</option>
|
42
66
|
<option value="oney">One</option>
|
data/spec/tags/text_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe "CML Text" do
|
|
9
9
|
@p.to_html.should sorta_match(<<-HTML)
|
10
10
|
<div class="cml" id="u12345">
|
11
11
|
<div class="text">
|
12
|
-
<label>Coolio</label>
|
12
|
+
<label class="legend">Coolio</label>
|
13
13
|
<input type="text" value="" name="u12345[coolio]" class="coolio"/>
|
14
14
|
</div>
|
15
15
|
</div>
|
@@ -26,7 +26,7 @@ describe "CML Text" do
|
|
26
26
|
@p.to_html.should sorta_match(<<-HTML)
|
27
27
|
<div class="cml" id="u12345">
|
28
28
|
<div class="text">
|
29
|
-
<label>Coolio</label>
|
29
|
+
<label class="legend">Coolio</label>
|
30
30
|
<input type="text" class="coolio validates-required small default" value="Awesome" name="u12345[coolio]" />
|
31
31
|
<p class="instructions">Just be <b>cool</b> bro!</p>
|
32
32
|
</div>
|
data/spec/tags/textarea_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe "CML Textarea" do
|
|
9
9
|
@p.to_html.should sorta_match(<<-HTML)
|
10
10
|
<div class="cml" id="u12345">
|
11
11
|
<div class="textarea">
|
12
|
-
<label>Sweet dude man!</label>
|
12
|
+
<label class="legend">Sweet dude man!</label>
|
13
13
|
<textarea name="u12345[sweet_dude_man]" class="sweet_dude_man">4 sure</textarea>
|
14
14
|
</div>
|
15
15
|
</div>
|
@@ -24,7 +24,7 @@ describe "CML Textarea" do
|
|
24
24
|
@p.to_html.should sorta_match(<<-HTML)
|
25
25
|
<div class="cml" id="u12345">
|
26
26
|
<div class="textarea">
|
27
|
-
<label>Hot</label>
|
27
|
+
<label class="legend">Hot</label>
|
28
28
|
<textarea name="u12345[hot]" class="hot validates-url default">Awesome</textarea>
|
29
29
|
<p class="instructions">Nice</p>
|
30
30
|
</div>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dolores-cml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Van Pelt
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
12
|
+
date: 2009-08-27 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- spec/validation_spec.rb
|
98
98
|
has_rdoc: false
|
99
99
|
homepage: http://github.com/dolores/cml
|
100
|
+
licenses:
|
100
101
|
post_install_message:
|
101
102
|
rdoc_options:
|
102
103
|
- --charset=UTF-8
|
@@ -117,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
118
|
requirements: []
|
118
119
|
|
119
120
|
rubyforge_project:
|
120
|
-
rubygems_version: 1.
|
121
|
+
rubygems_version: 1.3.5
|
121
122
|
signing_key:
|
122
123
|
specification_version: 3
|
123
124
|
summary: CML is CrowdFlower Markup Language
|