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 CHANGED
@@ -2,3 +2,5 @@ source "http://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in attrtastic.gemspec
4
4
  gemspec
5
+
6
+ gem "rake"
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- attrtastic (0.3.3)
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
- elsif methods.present?
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)
@@ -1,3 +1,3 @@
1
1
  module Attrtastic
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -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
@@ -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 = @user_builder.attributes
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.0
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-06-25 00:00:00.000000000 +02:00
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: &13820520 !ruby/object:Gem::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: *13820520
25
+ version_requirements: *8555040
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bluecloth
28
- requirement: &13820000 !ruby/object:Gem::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: *13820000
36
+ version_requirements: *8554520
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: shoulda
39
- requirement: &13819520 !ruby/object:Gem::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: *13819520
47
+ version_requirements: *8554040
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: activesupport
50
- requirement: &13819040 !ruby/object:Gem::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: *13819040
58
+ version_requirements: *8553560
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: actionpack
61
- requirement: &13818560 !ruby/object:Gem::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: *13818560
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