fusionary-easel_helpers 0.2.11 → 0.2.12
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/Rakefile +1 -1
- data/easel_helpers.gemspec +2 -2
- data/lib/easel_helpers/helpers/grid_helper.rb +21 -6
- data/test/grid_helper_test.rb +61 -18
- data/test/structure_helper_test.rb +11 -11
- metadata +2 -2
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@ require 'rake/testtask'
|
|
3
3
|
require 'rake/rdoctask'
|
4
4
|
require 'echoe'
|
5
5
|
|
6
|
-
Echoe.new("easel_helpers", "0.2.
|
6
|
+
Echoe.new("easel_helpers", "0.2.12") do |p|
|
7
7
|
p.description = "Fusionary Rails View Helpers"
|
8
8
|
p.url = "http://github.com/fusionary/easel_helpers"
|
9
9
|
p.author = "Joshua Clayton"
|
data/easel_helpers.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{easel_helpers}
|
5
|
-
s.version = "0.2.
|
5
|
+
s.version = "0.2.12"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Joshua Clayton"]
|
9
|
-
s.date = %q{2009-06-
|
9
|
+
s.date = %q{2009-06-28}
|
10
10
|
s.description = %q{Fusionary Rails View Helpers}
|
11
11
|
s.email = %q{joshua.clayton@gmail.com}
|
12
12
|
s.extra_rdoc_files = ["lib/easel_helpers/helpers/date_helper.rb", "lib/easel_helpers/helpers/form_helper.rb", "lib/easel_helpers/helpers/grid_helper.rb", "lib/easel_helpers/helpers/jquery_helper.rb", "lib/easel_helpers/helpers/link_helper.rb", "lib/easel_helpers/helpers/message_helper.rb", "lib/easel_helpers/helpers/rjs_helper.rb", "lib/easel_helpers/helpers/structure_helper.rb", "lib/easel_helpers/helpers/table_helper.rb", "lib/easel_helpers/helpers.rb", "lib/easel_helpers/rails_partial_caching.rb", "lib/easel_helpers.rb", "README.textile", "tasks/easel_helpers_tasks.rake"]
|
@@ -30,8 +30,20 @@ module EaselHelpers
|
|
30
30
|
}.freeze
|
31
31
|
MULTIPLE_FRACTIONS = MULTIPLES.keys.map {|key| key.to_s }.freeze
|
32
32
|
|
33
|
+
def self.easel_grid!
|
34
|
+
@@last_column = "col-last"
|
35
|
+
@@column_prefix = "col"
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.blueprint_grid!
|
39
|
+
@@last_column = "last"
|
40
|
+
@@column_prefix = "span"
|
41
|
+
end
|
42
|
+
|
43
|
+
easel_grid!
|
44
|
+
|
33
45
|
def last_column
|
34
|
-
|
46
|
+
@@last_column
|
35
47
|
end
|
36
48
|
|
37
49
|
def column(*args, &block)
|
@@ -45,7 +57,7 @@ module EaselHelpers
|
|
45
57
|
end
|
46
58
|
|
47
59
|
def clean_column(classes, &block)
|
48
|
-
size = classes.scan(
|
60
|
+
size = classes.scan(/#{column_prefix}-(\d+)/).flatten.last
|
49
61
|
|
50
62
|
if size.nil?
|
51
63
|
html = capture(&block)
|
@@ -79,8 +91,8 @@ module EaselHelpers
|
|
79
91
|
method_missing_without_easel_widths(call, *args) and return unless found
|
80
92
|
|
81
93
|
# one of the widths is somewhere in the helper call; let's find it
|
82
|
-
call.to_s =~ /^((append|prepend
|
83
|
-
class_name = $2 ||
|
94
|
+
call.to_s =~ /^((append|prepend|#{column_prefix})_)?(.+)$/
|
95
|
+
class_name = $2 || column_prefix
|
84
96
|
class_width = $3
|
85
97
|
|
86
98
|
if MULTIPLES.keys.include?(class_width.to_sym)
|
@@ -143,7 +155,7 @@ module EaselHelpers
|
|
143
155
|
|
144
156
|
css_classes = [] << options.delete(:class) << args
|
145
157
|
unless options.delete(:suppress_col)
|
146
|
-
css_classes << "
|
158
|
+
css_classes << "#{column_prefix}-#{@_easel_column_count}"
|
147
159
|
end
|
148
160
|
|
149
161
|
if size.to_sym == :full && @_easel_column_count != application_width
|
@@ -151,11 +163,14 @@ module EaselHelpers
|
|
151
163
|
end
|
152
164
|
|
153
165
|
css_classes = clean_css_classes(css_classes, {"last" => last_column})
|
154
|
-
content_tag(:div,
|
166
|
+
content_tag(options[:tag] || :div,
|
155
167
|
capture(&block),
|
156
168
|
{:class => css_classes}.merge(options))
|
157
169
|
end
|
158
170
|
|
171
|
+
def column_prefix
|
172
|
+
@@column_prefix
|
173
|
+
end
|
159
174
|
end
|
160
175
|
end
|
161
176
|
end
|
data/test/grid_helper_test.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class GridHelperTest < EaselHelpers::ViewTestCase
|
4
|
-
|
4
|
+
|
5
5
|
context "advanced grid structures" do
|
6
|
-
|
6
|
+
|
7
7
|
should "properly assign classes for a simple column layout" do
|
8
8
|
template = %(
|
9
9
|
<% container do %>
|
@@ -26,7 +26,7 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
26
26
|
<% end %>
|
27
27
|
<% end %>
|
28
28
|
)
|
29
|
-
|
29
|
+
|
30
30
|
show_view template do
|
31
31
|
assert_select ".container", 1
|
32
32
|
assert_select ".col-24", 1
|
@@ -41,7 +41,7 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
41
41
|
assert_select "hr", 2
|
42
42
|
end
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
should "properly assign classes for generic helpers" do
|
46
46
|
template = %(
|
47
47
|
<% column do %>
|
@@ -52,7 +52,7 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
52
52
|
<% recordset :half, :last do %>table<% end %>
|
53
53
|
<% end %>
|
54
54
|
)
|
55
|
-
|
55
|
+
|
56
56
|
show_view template do
|
57
57
|
assert_select "div.col-24" do
|
58
58
|
assert_select "fieldset.hform.col-12" do
|
@@ -63,7 +63,7 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
66
|
-
|
66
|
+
|
67
67
|
should "properly assign classes for generic helpers without column wrappers" do
|
68
68
|
template = %(
|
69
69
|
<% fieldset :hform, :half do %>
|
@@ -84,12 +84,12 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
84
84
|
<% end %>
|
85
85
|
<% recordset :one_sixth, :last do %>table<% end %>
|
86
86
|
)
|
87
|
-
|
87
|
+
|
88
88
|
show_view template do
|
89
89
|
assert_select "fieldset.hform.col-12" do
|
90
90
|
assert_select "div.col-4", "text"
|
91
91
|
assert_select "div.col-8.col-last", "more text"
|
92
|
-
|
92
|
+
|
93
93
|
assert_select "div.col-12.col-last" do
|
94
94
|
assert_select "div.col-4", "one third"
|
95
95
|
assert_select "div.col-8.col-last" do
|
@@ -106,7 +106,7 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
106
106
|
assert_select "table.col-4.col-last", "table"
|
107
107
|
end
|
108
108
|
end
|
109
|
-
|
109
|
+
|
110
110
|
should "properly assign classes for a deeply-nested view" do
|
111
111
|
template = %(
|
112
112
|
<% container do %>
|
@@ -125,7 +125,7 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
125
125
|
<% end %>
|
126
126
|
<% end %>
|
127
127
|
)
|
128
|
-
|
128
|
+
|
129
129
|
show_view template do
|
130
130
|
assert_select "div.container" do
|
131
131
|
assert_select "div.col-12" do
|
@@ -135,9 +135,9 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
135
135
|
end
|
136
136
|
assert_select "table.col-6.col-last", "table"
|
137
137
|
end
|
138
|
-
|
138
|
+
|
139
139
|
assert_select "div.col-8", "one third!"
|
140
|
-
|
140
|
+
|
141
141
|
assert_select "div.col-4.col-last" do
|
142
142
|
assert_select "fieldset.vform.col-4.col-last" do
|
143
143
|
assert_select "div", "text"
|
@@ -146,17 +146,55 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
146
146
|
end
|
147
147
|
end
|
148
148
|
end
|
149
|
-
|
149
|
+
|
150
|
+
should "properly assign classes when using Blueprint grid" do
|
151
|
+
template = %(
|
152
|
+
<% container do %>
|
153
|
+
<% column do %>
|
154
|
+
<% column :half, :id => "primary" do %>
|
155
|
+
<% column :one_third do %>
|
156
|
+
one third of one half of 24 is 4
|
157
|
+
<% end %>
|
158
|
+
<% column :one_third, :last, prepend_one_third do %>
|
159
|
+
one third of one half of 24 is 4 (but prepended 4 as well)
|
160
|
+
<% end %>
|
161
|
+
<hr/>
|
162
|
+
more text
|
163
|
+
<% end %>
|
164
|
+
<% column :half, :last, :id => "secondary" do %>
|
165
|
+
second column
|
166
|
+
<% end %>
|
167
|
+
<hr/>
|
168
|
+
text
|
169
|
+
<% end %>
|
170
|
+
<% end %>
|
171
|
+
)
|
172
|
+
EaselHelpers::Helpers::GridHelper.blueprint_grid!
|
173
|
+
show_view template do
|
174
|
+
assert_select ".container", 1
|
175
|
+
assert_select ".span-24", 1
|
176
|
+
assert_select ".span-12", 2
|
177
|
+
assert_select ".span-12#primary", 1
|
178
|
+
assert_select ".span-12#secondary", 1
|
179
|
+
assert_select ".span-4", 2
|
180
|
+
assert_select ".prepend-4", 1
|
181
|
+
assert_select ".span-24.last", 0
|
182
|
+
assert_select ".span-12.last", 1
|
183
|
+
assert_select ".span-4.last", 1
|
184
|
+
assert_select "hr", 2
|
185
|
+
end
|
186
|
+
EaselHelpers::Helpers::GridHelper.easel_grid!
|
187
|
+
end
|
150
188
|
end
|
151
|
-
|
189
|
+
|
152
190
|
context "column" do
|
153
|
-
|
191
|
+
|
154
192
|
should "allow assigning options hash without having to define a width" do
|
155
193
|
show_view %(<% column :id => "my-custom-id", :class => "content" do %>words<% end %>) do
|
156
194
|
assert_select "div.col-24.content#my-custom-id", "words"
|
157
195
|
end
|
158
196
|
end
|
159
|
-
|
197
|
+
|
160
198
|
should "allow explicit column assignment" do
|
161
199
|
show_view %(
|
162
200
|
<% column 6, :sidebar do %>
|
@@ -174,6 +212,11 @@ class GridHelperTest < EaselHelpers::ViewTestCase
|
|
174
212
|
end
|
175
213
|
end
|
176
214
|
end
|
177
|
-
|
215
|
+
|
216
|
+
should "allow tag overriding" do
|
217
|
+
show_view %(<% column :tag => :section do %>content<% end %>) do
|
218
|
+
assert_select "section.col-24", "content"
|
219
|
+
end
|
220
|
+
end
|
178
221
|
end
|
179
|
-
end
|
222
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class StructureHelperTest < EaselHelpers::ViewTestCase
|
4
|
-
|
4
|
+
|
5
5
|
context "blockquote" do
|
6
|
-
|
6
|
+
|
7
7
|
should "default with the correct structure" do
|
8
8
|
show_view "<% blockquote do %>My quoted text<% end %>" do
|
9
9
|
assert_select "blockquote", "My quoted text"
|
10
10
|
end
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
should "default with the correct structure when an author is set" do
|
14
14
|
show_view "<% blockquote :author => 'W. Shakespeare' do %>All the world's a stage<% end %>" do
|
15
15
|
assert_select "div.quote-cited" do
|
@@ -18,11 +18,11 @@ class StructureHelperTest < EaselHelpers::ViewTestCase
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
context "body" do
|
25
|
-
|
25
|
+
|
26
26
|
should "allow passing a block structure" do
|
27
27
|
show_view %(
|
28
28
|
<% body do %>body goes here<% end %>
|
@@ -30,7 +30,7 @@ class StructureHelperTest < EaselHelpers::ViewTestCase
|
|
30
30
|
assert_select "body", "body goes here"
|
31
31
|
end
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
should "allow passing arguments" do
|
35
35
|
show_view %(
|
36
36
|
<% body :home, 'home-index', 'logged-in', :id => 'application' do %>body goes here<% end %>
|
@@ -38,7 +38,7 @@ class StructureHelperTest < EaselHelpers::ViewTestCase
|
|
38
38
|
assert_select "body#application.home.home-index.logged-in", "body goes here"
|
39
39
|
end
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
should "allow multiple body definitions that set attributes" do
|
43
43
|
show_view %(
|
44
44
|
<% body :home, 'logged-in' %>
|
@@ -48,7 +48,7 @@ class StructureHelperTest < EaselHelpers::ViewTestCase
|
|
48
48
|
assert_select "body#application-override.home.home-index.logged-in", "body goes here"
|
49
49
|
end
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
end
|
53
|
-
|
54
|
-
end
|
53
|
+
|
54
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fusionary-easel_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Clayton
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-28 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|