cml 1.4.2 → 1.5.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/.rspec +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +33 -0
- data/README.rdoc +13 -3
- data/Rakefile +9 -49
- data/cml.gemspec +23 -125
- data/lib/cml/converters/jsawesome.rb +3 -3
- data/lib/cml/gold.rb +12 -7
- data/lib/cml/liquid_filters.rb +4 -0
- data/lib/cml/logic.rb +424 -0
- data/lib/cml/logic_tree/graph.rb +107 -0
- data/lib/cml/logic_tree/solver.rb +43 -0
- data/lib/cml/parser.rb +47 -7
- data/lib/cml/tag.rb +42 -21
- data/lib/cml/tags/checkbox.rb +14 -4
- data/lib/cml/tags/checkboxes.rb +4 -0
- data/lib/cml/tags/group.rb +4 -0
- data/lib/cml/tags/hours.rb +263 -0
- data/lib/cml/tags/iterate.rb +4 -0
- data/lib/cml/tags/meta.rb +4 -0
- data/lib/cml/tags/option.rb +4 -0
- data/lib/cml/tags/radio.rb +13 -4
- data/lib/cml/tags/radios.rb +4 -0
- data/lib/cml/tags/ratings.rb +9 -1
- data/lib/cml/tags/search.rb +8 -2
- data/lib/cml/tags/select.rb +6 -2
- data/lib/cml/tags/taxonomy.rb +148 -0
- data/lib/cml/tags/thumb.rb +4 -0
- data/lib/cml/tags/unknown.rb +4 -0
- data/lib/cml/version.rb +3 -0
- data/lib/cml.rb +3 -0
- data/spec/converters/jsawesome_spec.rb +0 -9
- data/spec/fixtures/logic_broken.cml +5 -0
- data/spec/fixtures/logic_circular.cml +5 -0
- data/spec/fixtures/logic_grouped.cml +7 -0
- data/spec/fixtures/logic_nested.cml +7 -0
- data/spec/fixtures/logic_none.cml +7 -0
- data/spec/fixtures/logic_not_nested.cml +7 -0
- data/spec/liquid_filter_spec.rb +19 -0
- data/spec/logic_depends_on_spec.rb +242 -0
- data/spec/logic_spec.rb +207 -0
- data/spec/logic_tree_graph_spec.rb +465 -0
- data/spec/logic_tree_solver_spec.rb +58 -0
- data/spec/meta_spec.rb +12 -2
- data/spec/show_data_spec.rb +3 -2
- data/spec/spec_helper.rb +22 -6
- data/spec/tags/checkboxes_spec.rb +2 -2
- data/spec/tags/group_spec.rb +5 -5
- data/spec/tags/hours_spec.rb +404 -0
- data/spec/tags/radios_spec.rb +2 -2
- data/spec/tags/ratings_spec.rb +1 -1
- data/spec/tags/select_spec.rb +45 -0
- data/spec/tags/tag_spec.rb +25 -0
- data/spec/tags/taxonomy_spec.rb +112 -0
- data/spec/validation_spec.rb +52 -0
- metadata +112 -17
- data/VERSION +0 -1
data/spec/tags/ratings_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
3
|
describe "CML Radios" do
|
4
|
-
it "should render simple
|
4
|
+
it "should render simple ratings" do
|
5
5
|
cml = <<-HTML
|
6
6
|
<cml:ratings label="Rate it" from="Bad" to="Worst" points="4" />
|
7
7
|
HTML
|
data/spec/tags/select_spec.rb
CHANGED
@@ -73,4 +73,49 @@ describe "CML Select" do
|
|
73
73
|
</div>
|
74
74
|
HTML
|
75
75
|
end
|
76
|
+
|
77
|
+
it "should render correctly with liquid logic" do
|
78
|
+
cml = <<-HTML
|
79
|
+
<cml:select label="basic" validates="required">
|
80
|
+
{% if entity1 != 'No data available' %}
|
81
|
+
<cml:option label="{{ entity1 }}" />
|
82
|
+
{% endif %}
|
83
|
+
{% if entity2 != 'No data available' %}
|
84
|
+
<cml:option label="{{ entity2 }}" />
|
85
|
+
{% endif %}
|
86
|
+
{% if entity3 != 'No data available' %}
|
87
|
+
<cml:option label="{{ entity3 }}" />
|
88
|
+
{% endif %}
|
89
|
+
{% if entity4 != 'No data available' %}
|
90
|
+
<cml:option label="{{ entity4 }}" />
|
91
|
+
{% endif %}
|
92
|
+
<cml:option label="none of the above" />
|
93
|
+
</cml:select>
|
94
|
+
HTML
|
95
|
+
@p = Parser.new(cml, :prefix => "u12345")
|
96
|
+
@p.to_html.should sorta_match(<<-HTML)
|
97
|
+
<div class="cml" id="u12345">
|
98
|
+
<div class="select cml_field">
|
99
|
+
<label class="legend">basic</label>
|
100
|
+
<div class="cml_row">
|
101
|
+
<select name="u12345[basic]" class="basic validates-required">
|
102
|
+
<option value="">Select one</option>
|
103
|
+
{% if entity1 != 'No data available' %}
|
104
|
+
<option>{{ entity1 }}</option>
|
105
|
+
{% endif %}
|
106
|
+
{% if entity2 != 'No data available' %}
|
107
|
+
<option>{{ entity2 }}</option>
|
108
|
+
{% endif %}
|
109
|
+
{% if entity3 != 'No data available' %}
|
110
|
+
<option>{{ entity3 }}</option>
|
111
|
+
{% endif %}
|
112
|
+
{% if entity4 != 'No data available' %}
|
113
|
+
<option>{{ entity4 }}</option>
|
114
|
+
{% endif %}
|
115
|
+
<option>none of the above</option></select>
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
</div>
|
119
|
+
HTML
|
120
|
+
end
|
76
121
|
end
|
data/spec/tags/tag_spec.rb
CHANGED
@@ -29,6 +29,31 @@ describe "CML Tag" do
|
|
29
29
|
HTML
|
30
30
|
end
|
31
31
|
|
32
|
+
it "allows #finite_value? override with CML `is-finite='true'` attribute" do
|
33
|
+
@p = Parser.new(<<-HTML)
|
34
|
+
<cml:text label="I could be anything" />
|
35
|
+
HTML
|
36
|
+
@p.tags[0].should_not be_finite_value
|
37
|
+
|
38
|
+
@p = Parser.new(<<-HTML)
|
39
|
+
<cml:text label="I feel boxed-in" is-finite="true" />
|
40
|
+
HTML
|
41
|
+
@p.tags[0].should be_finite_value
|
42
|
+
end
|
43
|
+
|
44
|
+
it "may be found in CML::Parser#finite_fields" do
|
45
|
+
@p = Parser.new(<<-HTML)
|
46
|
+
<cml:text label="I could be anything" />
|
47
|
+
<cml:text label="I feel boxed-in" is-finite="true" />
|
48
|
+
<cml:checkbox label="Black or white"/>
|
49
|
+
HTML
|
50
|
+
@p.finite_fields.length.should == 2
|
51
|
+
@p.finite_fields.keys.should include('i_feel_boxedin')
|
52
|
+
@p.finite_fields.keys.should include('black_or_white')
|
53
|
+
@p.finite_fields['i_feel_boxedin'].should be_kind_of(CML::Tag)
|
54
|
+
@p.finite_fields['black_or_white'].should be_kind_of(CML::Tag)
|
55
|
+
end
|
56
|
+
|
32
57
|
describe "with data attributes" do
|
33
58
|
it "handles one data attribute" do
|
34
59
|
@cml = "<cml:text label='foo' data-is-fun='true' />"
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "CML Taxonomy" do
|
4
|
+
it "should render taxonomy with attributes as a field" do
|
5
|
+
cml = <<-CML
|
6
|
+
<cml:taxonomy name="puppies" src="http://www.mycooltaxonomy.com" selectable="[1,2,3,4]" />
|
7
|
+
CML
|
8
|
+
|
9
|
+
@p = Parser.new(cml, :prefix => "u12345")
|
10
|
+
@p.to_html.should sorta_match(<<-HTML)
|
11
|
+
<div class="cml" id="u12345">
|
12
|
+
<div class="taxonomy cml_field">
|
13
|
+
<label class="legend">Puppies</label>
|
14
|
+
<div class="cml_row taxonomy_choice">
|
15
|
+
<input name="u12345[puppies]" type="text" class="puppies" value="" />
|
16
|
+
<input name="u12345[puppies_id]" type="text" class="taxonomy_id no_validate" value="" />
|
17
|
+
</div>
|
18
|
+
<div class="taxonomy_widget_container" data-selectable="[1,2,3,4]" data-src="http://www.mycooltaxonomy.com"></div>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
HTML
|
22
|
+
end
|
23
|
+
it "should render taxonomy with attributes as a multi-select field" do
|
24
|
+
cml = <<-CML
|
25
|
+
<cml:taxonomy name="puppies" src="http://www.mycooltaxonomy.com" selectable="[1,2,3,4]" multi-select="true" />
|
26
|
+
CML
|
27
|
+
|
28
|
+
@p = Parser.new(cml, :prefix => "u12345")
|
29
|
+
@p.to_html.should sorta_match(<<-HTML)
|
30
|
+
<div class="cml" id="u12345">
|
31
|
+
<div class="taxonomy cml_field">
|
32
|
+
<label class="legend">Puppies</label>
|
33
|
+
<div class="taxonomy_choices">
|
34
|
+
<div class="cml_row taxonomy_choice">
|
35
|
+
<input name="u12345[puppies][]" type="text" class="puppies" value="" />
|
36
|
+
<input name="u12345[puppies_id][]" type="text" class="taxonomy_id no_validate" value="" />
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<div class="taxonomy_widget_container" data-selectable="[1,2,3,4]" data-src="http://www.mycooltaxonomy.com" data-multi-select=\"true\"></div>
|
40
|
+
</div>
|
41
|
+
</div>
|
42
|
+
HTML
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should render taxonomy with search as a field" do
|
46
|
+
cml = <<-CML
|
47
|
+
<cml:taxonomy name="puppies" src="http://www.mycooltaxonomy.com" search-src="http://mycoolsearch.com" log-search="true" selectable="[1,2,3,4]" />
|
48
|
+
CML
|
49
|
+
|
50
|
+
@p = Parser.new(cml, :prefix => "u12345")
|
51
|
+
@p.to_html.should sorta_match(<<-HTML)
|
52
|
+
<div class="cml" id="u12345">
|
53
|
+
<div class="taxonomy cml_field">
|
54
|
+
<label class="legend">Puppies</label>
|
55
|
+
<div class="cml_row taxonomy_choice">
|
56
|
+
<input name="u12345[puppies]" type="text" class="puppies" value="" />
|
57
|
+
<input name="u12345[puppies_id]" type="text" class="taxonomy_id no_validate" value="" />
|
58
|
+
</div>
|
59
|
+
<div class="cml_row taxonomy_search" data-name="puppies_search_log"></div>
|
60
|
+
<div class="taxonomy_widget_container" data-search-src="http://mycoolsearch.com" data-selectable="[1,2,3,4]" data-log-search="true" data-src="http://www.mycooltaxonomy.com"></div>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
HTML
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should render taxonomy with attributes as a non-field" do
|
67
|
+
cml = <<-CML
|
68
|
+
<cml:taxonomy name="puppies" src="http://www.mycooltaxonomy.com" selectable="[1,2,3,4]" field="false" />
|
69
|
+
CML
|
70
|
+
|
71
|
+
@p = Parser.new(cml, :prefix => "u12345")
|
72
|
+
@p.to_html.should sorta_match(<<-HTML)
|
73
|
+
<div class="cml" id="u12345">
|
74
|
+
<div class="taxonomy cml_field">
|
75
|
+
<label class="legend">Puppies</label>
|
76
|
+
<div class="taxonomy_widget_container" data-selectable="[1,2,3,4]" data-src="http://www.mycooltaxonomy.com"></div>
|
77
|
+
</div>
|
78
|
+
</div>
|
79
|
+
HTML
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should handle normalization/gold" do
|
83
|
+
cml = <<-CML
|
84
|
+
<cml:taxonomy name="puppies" src="http://www.mycooltaxonomy.com" gold="true" />
|
85
|
+
CML
|
86
|
+
|
87
|
+
@p = Parser.new(cml, :prefix => "u12345", :normalize => true, :data =>{
|
88
|
+
"puppies_gold" => ["Animals > Dogs > Chihuahua", "Animals > Cats > Dead Cat"],
|
89
|
+
"puppies_id" => ["123", "456"]
|
90
|
+
})
|
91
|
+
@p.to_html.should sorta_match(<<-HTML)
|
92
|
+
<div class="cml" id="u12345">
|
93
|
+
<div class="taxonomy cml_field">
|
94
|
+
<label class="legend">Puppies</label>
|
95
|
+
<div class="cml_row taxonomy_choice">
|
96
|
+
<input name="u12345[puppies_gold][]" type="text" class="puppies_gold cml_gold_loaded" value="Animals > Dogs > Chihuahua" />
|
97
|
+
<input name="u12345[puppies_id][]" type="text" class="taxonomy_id no_validate" value="123" />
|
98
|
+
</div>
|
99
|
+
<div class="cml_row taxonomy_choice">
|
100
|
+
<input name="u12345[puppies_gold][]" type="text" class="puppies_gold cml_gold_loaded" value="Animals > Cats > Dead Cat" />
|
101
|
+
<input name="u12345[puppies_id][]" type="text" class="taxonomy_id no_validate" value="456" />
|
102
|
+
</div>
|
103
|
+
<div class="taxonomy_widget_container" data-src="http://www.mycooltaxonomy.com"></div>
|
104
|
+
<div class="cml_gold_reason">
|
105
|
+
<label class="legend">Reason</label>
|
106
|
+
<textarea name="u12345[puppies_gold_reason]"></textarea>
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
</div>
|
110
|
+
HTML
|
111
|
+
end
|
112
|
+
end
|
data/spec/validation_spec.rb
CHANGED
@@ -59,4 +59,56 @@ describe "CML Validation" do
|
|
59
59
|
@p = Parser.new(File.read(File.dirname(__FILE__) + "/fixtures/complex.cml"), {:prefix => "u12345"})
|
60
60
|
@p.should be_valid
|
61
61
|
end
|
62
|
+
|
63
|
+
it "reports logic referencing a non-existent element" do
|
64
|
+
@p = Parser.new(<<-HTML)
|
65
|
+
<cml:text label="OMG" />
|
66
|
+
<cml:checkboxes label="w t f" only-if="nonexistent:[1]">
|
67
|
+
<cml:checkbox label="lol" />
|
68
|
+
<cml:checkbox label="rtfm" />
|
69
|
+
</cml:checkboxes>
|
70
|
+
HTML
|
71
|
+
@p.should_not be_valid
|
72
|
+
@p.errors.should == ["CML element 'w_t_f' contains only-if logic that references a missing field 'nonexistent'."]
|
73
|
+
end
|
74
|
+
|
75
|
+
it "reports logic referencing the checked value of a non-checkbox element" do
|
76
|
+
@p = Parser.new(<<-HTML)
|
77
|
+
<cml:text label="OMG" />
|
78
|
+
<cml:text label="wtf" only-if="omg:unchecked" />
|
79
|
+
HTML
|
80
|
+
@p.should_not be_valid
|
81
|
+
@p.errors.should == ["CML element 'wtf' contains only-if logic that references a checked value, 'omg:unchecked', but 'omg' is not a checkbox nor contains checkboxes."]
|
82
|
+
end
|
83
|
+
|
84
|
+
it "reports logic referencing a child index on an element without children" do
|
85
|
+
@p = Parser.new(<<-HTML)
|
86
|
+
<cml:radios label="Does this Course have at least one required Book?" name="has_required_book" validates="required" >
|
87
|
+
<cml:radio label="Yes" value="TRUE" />
|
88
|
+
<cml:radio label="No" value="FALSE" />
|
89
|
+
</cml:radios>
|
90
|
+
|
91
|
+
<cml:checkbox label="If the ISBN is included, check this box and enter ONLY the ISBN below:" name="has_isbn" only-if="has_required_book:[0]" instructions="Other fields below are not needed and will be removed if the ISBN is present." value="true" />
|
92
|
+
|
93
|
+
<cml:text label="Copy/Paste the ISBN(s) as they appear:" only-if="has_required_book:[0]++has_isbn:[0]" default="978-3-16-148410-0" multiple="true" name="isbn" instructions="" />
|
94
|
+
|
95
|
+
|
96
|
+
<cml:group only-if="has_required_book:[0]++!has_isbn:[0]" multiple="true">
|
97
|
+
<div class="course_info">
|
98
|
+
<div class="book_title">
|
99
|
+
<cml:text label="Book(s) Title" default="e.g. Intermediate Accounting" name="book_title" instructions="" />
|
100
|
+
</div>
|
101
|
+
<div class="book_edition">
|
102
|
+
<cml:text label="Edition or Volume" default="e.g. 2nd Ed." name="book_edition" instructions="copy/paste the information as it appears in the syllabus" />
|
103
|
+
</div>
|
104
|
+
<div class="book_authors">
|
105
|
+
<cml:text label="Authors" default="e.g. Spiceland, Sepe, and Nelson" name="book_authors" instructions="copy/paste all the author names as they appear in the syllabus" />
|
106
|
+
</div>
|
107
|
+
</div>
|
108
|
+
</cml:group>
|
109
|
+
|
110
|
+
HTML
|
111
|
+
@p.should_not be_valid
|
112
|
+
@p.errors.should == ["CML element 'isbn' contains only-if logic that references a child index, 'has_isbn:[0]', but 'has_isbn' contains no child elements."]
|
113
|
+
end
|
62
114
|
end
|
metadata
CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 1.
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
version: 1.5.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Chris Van Pelt
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2013-04-06 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: liquid
|
@@ -50,33 +49,97 @@ dependencies:
|
|
50
49
|
version: 1.4.2
|
51
50
|
type: :runtime
|
52
51
|
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: json
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 3
|
61
|
+
segments:
|
62
|
+
- 0
|
63
|
+
version: "0"
|
64
|
+
type: :runtime
|
65
|
+
version_requirements: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
name: bundler
|
68
|
+
prerelease: false
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ~>
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 9
|
75
|
+
segments:
|
76
|
+
- 1
|
77
|
+
- 3
|
78
|
+
version: "1.3"
|
79
|
+
type: :development
|
80
|
+
version_requirements: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: rake
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 3
|
90
|
+
segments:
|
91
|
+
- 0
|
92
|
+
version: "0"
|
93
|
+
type: :development
|
94
|
+
version_requirements: *id005
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: rspec
|
97
|
+
prerelease: false
|
98
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
hash: 3
|
104
|
+
segments:
|
105
|
+
- 2
|
106
|
+
- 0
|
107
|
+
version: "2.0"
|
108
|
+
type: :development
|
109
|
+
version_requirements: *id006
|
53
110
|
description: CML let's you easily create form elements and custom interfaces for the CrowdFlower Croud Labor platform
|
54
|
-
email:
|
111
|
+
email:
|
112
|
+
- vanpelt@doloreslabs.com
|
55
113
|
executables: []
|
56
114
|
|
57
115
|
extensions: []
|
58
116
|
|
59
|
-
extra_rdoc_files:
|
60
|
-
|
61
|
-
- README.rdoc
|
117
|
+
extra_rdoc_files: []
|
118
|
+
|
62
119
|
files:
|
63
120
|
- .document
|
64
121
|
- .gitignore
|
122
|
+
- .rspec
|
123
|
+
- Gemfile
|
124
|
+
- Gemfile.lock
|
65
125
|
- LICENSE
|
66
126
|
- README.rdoc
|
67
127
|
- Rakefile
|
68
|
-
- VERSION
|
69
128
|
- cml.gemspec
|
70
129
|
- lib/cml.rb
|
71
130
|
- lib/cml/converters/jsawesome.rb
|
72
131
|
- lib/cml/gold.rb
|
73
132
|
- lib/cml/liquid_filters.rb
|
133
|
+
- lib/cml/logic.rb
|
134
|
+
- lib/cml/logic_tree/graph.rb
|
135
|
+
- lib/cml/logic_tree/solver.rb
|
74
136
|
- lib/cml/parser.rb
|
75
137
|
- lib/cml/tag.rb
|
76
138
|
- lib/cml/tags/checkbox.rb
|
77
139
|
- lib/cml/tags/checkboxes.rb
|
78
140
|
- lib/cml/tags/group.rb
|
79
141
|
- lib/cml/tags/hidden.rb
|
142
|
+
- lib/cml/tags/hours.rb
|
80
143
|
- lib/cml/tags/iterate.rb
|
81
144
|
- lib/cml/tags/meta.rb
|
82
145
|
- lib/cml/tags/multiple_text.rb
|
@@ -86,18 +149,31 @@ files:
|
|
86
149
|
- lib/cml/tags/ratings.rb
|
87
150
|
- lib/cml/tags/search.rb
|
88
151
|
- lib/cml/tags/select.rb
|
152
|
+
- lib/cml/tags/taxonomy.rb
|
89
153
|
- lib/cml/tags/text.rb
|
90
154
|
- lib/cml/tags/textarea.rb
|
91
155
|
- lib/cml/tags/thumb.rb
|
92
156
|
- lib/cml/tags/unknown.rb
|
157
|
+
- lib/cml/version.rb
|
93
158
|
- spec/complex_spec.rb
|
94
159
|
- spec/converters/jsawesome_spec.rb
|
95
160
|
- spec/fixtures/complex.cml
|
96
161
|
- spec/fixtures/html.cml
|
97
162
|
- spec/fixtures/invalid.cml
|
163
|
+
- spec/fixtures/logic_broken.cml
|
164
|
+
- spec/fixtures/logic_circular.cml
|
165
|
+
- spec/fixtures/logic_grouped.cml
|
166
|
+
- spec/fixtures/logic_nested.cml
|
167
|
+
- spec/fixtures/logic_none.cml
|
168
|
+
- spec/fixtures/logic_not_nested.cml
|
98
169
|
- spec/fixtures/script-style.cml
|
99
170
|
- spec/fixtures/segfault.cml
|
100
171
|
- spec/gold_spec.rb
|
172
|
+
- spec/liquid_filter_spec.rb
|
173
|
+
- spec/logic_depends_on_spec.rb
|
174
|
+
- spec/logic_spec.rb
|
175
|
+
- spec/logic_tree_graph_spec.rb
|
176
|
+
- spec/logic_tree_solver_spec.rb
|
101
177
|
- spec/meta_spec.rb
|
102
178
|
- spec/normalize_spec.rb
|
103
179
|
- spec/show_data_spec.rb
|
@@ -107,6 +183,7 @@ files:
|
|
107
183
|
- spec/tags/checkboxes_spec.rb
|
108
184
|
- spec/tags/group_spec.rb
|
109
185
|
- spec/tags/hidden_spec.rb
|
186
|
+
- spec/tags/hours_spec.rb
|
110
187
|
- spec/tags/iterate_spec.rb
|
111
188
|
- spec/tags/meta_spec.rb
|
112
189
|
- spec/tags/multiple_text_spec.rb
|
@@ -115,18 +192,18 @@ files:
|
|
115
192
|
- spec/tags/search_spec.rb
|
116
193
|
- spec/tags/select_spec.rb
|
117
194
|
- spec/tags/tag_spec.rb
|
195
|
+
- spec/tags/taxonomy_spec.rb
|
118
196
|
- spec/tags/text_spec.rb
|
119
197
|
- spec/tags/textarea_spec.rb
|
120
198
|
- spec/tags/thumb_spec.rb
|
121
199
|
- spec/tags/unknown_spec.rb
|
122
200
|
- spec/validation_spec.rb
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
201
|
+
homepage: https://github.com/dolores/cml
|
202
|
+
licenses:
|
203
|
+
- MIT
|
127
204
|
post_install_message:
|
128
|
-
rdoc_options:
|
129
|
-
|
205
|
+
rdoc_options: []
|
206
|
+
|
130
207
|
require_paths:
|
131
208
|
- lib
|
132
209
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -150,14 +227,30 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
227
|
requirements: []
|
151
228
|
|
152
229
|
rubyforge_project:
|
153
|
-
rubygems_version: 1.
|
230
|
+
rubygems_version: 1.8.15
|
154
231
|
signing_key:
|
155
232
|
specification_version: 3
|
156
233
|
summary: CML is CrowdFlower Markup Language
|
157
234
|
test_files:
|
158
235
|
- spec/complex_spec.rb
|
159
236
|
- spec/converters/jsawesome_spec.rb
|
237
|
+
- spec/fixtures/complex.cml
|
238
|
+
- spec/fixtures/html.cml
|
239
|
+
- spec/fixtures/invalid.cml
|
240
|
+
- spec/fixtures/logic_broken.cml
|
241
|
+
- spec/fixtures/logic_circular.cml
|
242
|
+
- spec/fixtures/logic_grouped.cml
|
243
|
+
- spec/fixtures/logic_nested.cml
|
244
|
+
- spec/fixtures/logic_none.cml
|
245
|
+
- spec/fixtures/logic_not_nested.cml
|
246
|
+
- spec/fixtures/script-style.cml
|
247
|
+
- spec/fixtures/segfault.cml
|
160
248
|
- spec/gold_spec.rb
|
249
|
+
- spec/liquid_filter_spec.rb
|
250
|
+
- spec/logic_depends_on_spec.rb
|
251
|
+
- spec/logic_spec.rb
|
252
|
+
- spec/logic_tree_graph_spec.rb
|
253
|
+
- spec/logic_tree_solver_spec.rb
|
161
254
|
- spec/meta_spec.rb
|
162
255
|
- spec/normalize_spec.rb
|
163
256
|
- spec/show_data_spec.rb
|
@@ -167,6 +260,7 @@ test_files:
|
|
167
260
|
- spec/tags/checkboxes_spec.rb
|
168
261
|
- spec/tags/group_spec.rb
|
169
262
|
- spec/tags/hidden_spec.rb
|
263
|
+
- spec/tags/hours_spec.rb
|
170
264
|
- spec/tags/iterate_spec.rb
|
171
265
|
- spec/tags/meta_spec.rb
|
172
266
|
- spec/tags/multiple_text_spec.rb
|
@@ -175,6 +269,7 @@ test_files:
|
|
175
269
|
- spec/tags/search_spec.rb
|
176
270
|
- spec/tags/select_spec.rb
|
177
271
|
- spec/tags/tag_spec.rb
|
272
|
+
- spec/tags/taxonomy_spec.rb
|
178
273
|
- spec/tags/text_spec.rb
|
179
274
|
- spec/tags/textarea_spec.rb
|
180
275
|
- spec/tags/thumb_spec.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1.4.1
|