attrtastic 0.4.0 → 0.4.1
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/Gemfile +2 -0
- data/Gemfile.lock +3 -1
- data/lib/attrtastic/semantic_attributes_builder.rb +4 -1
- data/lib/attrtastic/version.rb +1 -1
- data/test/helper.rb +12 -0
- data/test/test_attributes.rb +16 -2
- metadata +12 -12
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
attrtastic (0.
|
4
|
+
attrtastic (0.4.1)
|
5
5
|
actionpack (>= 3.0)
|
6
6
|
activesupport (>= 3.0)
|
7
7
|
|
@@ -34,6 +34,7 @@ GEM
|
|
34
34
|
rack (>= 1.0.0)
|
35
35
|
rack-test (0.5.7)
|
36
36
|
rack (>= 1.0)
|
37
|
+
rake (0.9.2)
|
37
38
|
shoulda (2.11.3)
|
38
39
|
tzinfo (0.3.28)
|
39
40
|
yard (0.6.3)
|
@@ -44,5 +45,6 @@ PLATFORMS
|
|
44
45
|
DEPENDENCIES
|
45
46
|
attrtastic!
|
46
47
|
bluecloth (~> 2.0.0)
|
48
|
+
rake
|
47
49
|
shoulda (~> 2.11.0)
|
48
50
|
yard (~> 0.6.0)
|
@@ -354,7 +354,10 @@ module Attrtastic
|
|
354
354
|
output << template.tag(:ol, {}, true)
|
355
355
|
output << template.capture(new_builder, &block)
|
356
356
|
output.safe_concat("</ol>")
|
357
|
-
|
357
|
+
else
|
358
|
+
if methods.blank? && object.respond_to?(:attribute_names)
|
359
|
+
methods = object.attribute_names
|
360
|
+
end
|
358
361
|
output << template.tag(:ol, {}, true)
|
359
362
|
methods.each do |method|
|
360
363
|
output << new_builder.attribute(method, options)
|
data/lib/attrtastic/version.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -49,13 +49,25 @@ class User
|
|
49
49
|
def full_name
|
50
50
|
[last_name,first_name].join(", ")
|
51
51
|
end
|
52
|
+
|
53
|
+
def attribute_names
|
54
|
+
%w( first_name last_name email title created_at time birthday float decimal integer address full_name )
|
55
|
+
end
|
52
56
|
end
|
53
57
|
|
54
58
|
class Blog
|
55
59
|
attr_accessor :name, :url, :author, :posts
|
56
60
|
delegate :full_name, :to => :author, :prefix => true
|
61
|
+
|
62
|
+
def attribute_names
|
63
|
+
%w( name url author_full_name )
|
64
|
+
end
|
57
65
|
end
|
58
66
|
|
59
67
|
class Post
|
60
68
|
attr_accessor :title, :content
|
69
|
+
|
70
|
+
def attribute_names
|
71
|
+
%w( title content )
|
72
|
+
end
|
61
73
|
end
|
data/test/test_attributes.rb
CHANGED
@@ -17,12 +17,26 @@ class TestAttributes < TestCase
|
|
17
17
|
assert block_run
|
18
18
|
end
|
19
19
|
|
20
|
-
should "generate output even when no block given" do
|
20
|
+
should "generate output even when no block given, outputting all attributes (from #attribute_names) " do
|
21
21
|
expected = html <<-EOHTML
|
22
22
|
<div class="attributes">
|
23
|
+
<ol>
|
24
|
+
<li class="attribute">
|
25
|
+
<span class="label">Name</span>
|
26
|
+
<span class="value">IT Pro Blog</span>
|
27
|
+
</li>
|
28
|
+
<li class="attribute">
|
29
|
+
<span class="label">Url</span>
|
30
|
+
<span class="value">http://www.it.pro.blog</span>
|
31
|
+
</li>
|
32
|
+
<li class="attribute">
|
33
|
+
<span class="label">Author full name</span>
|
34
|
+
<span class="value">Doe, John</span>
|
35
|
+
</li>
|
36
|
+
</ol>
|
23
37
|
</div>
|
24
38
|
EOHTML
|
25
|
-
actual = @
|
39
|
+
actual = @blog_builder.attributes
|
26
40
|
|
27
41
|
assert_equal expected, actual
|
28
42
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: attrtastic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-08-16 00:00:00.000000000 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: yard
|
17
|
-
requirement: &
|
17
|
+
requirement: &8555040 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 0.6.0
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *8555040
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bluecloth
|
28
|
-
requirement: &
|
28
|
+
requirement: &8554520 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 2.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *8554520
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: shoulda
|
39
|
-
requirement: &
|
39
|
+
requirement: &8554040 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 2.11.0
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *8554040
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: activesupport
|
50
|
-
requirement: &
|
50
|
+
requirement: &8553560 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '3.0'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *8553560
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: actionpack
|
61
|
-
requirement: &
|
61
|
+
requirement: &8553080 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
version: '3.0'
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *8553080
|
70
70
|
description: Rails view helper for scaffolding show/index pages for objects
|
71
71
|
email:
|
72
72
|
- boruta.miroslaw@gmail.com
|