attrtastic 0.4.2 → 0.4.3

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
@@ -3,4 +3,4 @@ source "http://rubygems.org"
3
3
  # Specify your gem's dependencies in attrtastic.gemspec
4
4
  gemspec
5
5
 
6
- gem "rake"
6
+ gem "rake", '~> 0.9.2.2'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- attrtastic (0.4.2)
4
+ attrtastic (0.4.3)
5
5
  actionpack (>= 3.0)
6
6
  activesupport (>= 3.0)
7
7
 
@@ -34,8 +34,9 @@ GEM
34
34
  rack (>= 1.0.0)
35
35
  rack-test (0.5.7)
36
36
  rack (>= 1.0)
37
- rake (0.9.2)
38
- shoulda (2.11.3)
37
+ rake (0.9.2.2)
38
+ shoulda-context (1.0.0)
39
+ test-unit (2.4.1)
39
40
  tzinfo (0.3.28)
40
41
  yard (0.6.3)
41
42
 
@@ -45,6 +46,7 @@ PLATFORMS
45
46
  DEPENDENCIES
46
47
  attrtastic!
47
48
  bluecloth (~> 2.0.0)
48
- rake
49
- shoulda (~> 2.11.0)
49
+ rake (~> 0.9.2.2)
50
+ shoulda-context (~> 1.0.0)
51
+ test-unit (~> 2.4.1)
50
52
  yard (~> 0.6.0)
@@ -21,7 +21,8 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_development_dependency("yard", ["~> 0.6.0"])
23
23
  s.add_development_dependency("bluecloth", ["~>2.0.0"])
24
- s.add_development_dependency("shoulda", ["~> 2.11.0"])
24
+ s.add_development_dependency("shoulda-context", ["~> 1.0.0"])
25
+ s.add_development_dependency("test-unit", ["~> 2.4.1"])
25
26
 
26
27
  s.add_dependency("activesupport", [">= 3.0"])
27
28
  s.add_dependency("actionpack", [">= 3.0"])
@@ -11,5 +11,17 @@ require "attrtastic/semantic_attributes_builder"
11
11
  require File.join(File.dirname(__FILE__), *%w[attrtastic railtie]) if defined?(::Rails::Railtie)
12
12
 
13
13
  module Attrtastic
14
+ extend self
15
+
16
+ # Set default options for attribute such as :display_empty
17
+ #
18
+ # @example
19
+ # Attrtastic.default_options[:display_empty] = true
20
+ attr_accessor :default_options
21
+ self.default_options ||= {}
22
+
23
+ def reset_default_options
24
+ self.default_options = {}
25
+ end
14
26
  end
15
27
 
@@ -277,8 +277,10 @@ module Attrtastic
277
277
  # <%= attr.attribute :label => "User link" do %>
278
278
  # <%= link_to @user.full_name, user_path(@user) %>
279
279
  #
280
+ # Options can be set globally with Attrtastic.default_options
280
281
  def attribute(*args, &block)
281
282
  options = args.extract_options!
283
+ options.reverse_merge!(Attrtastic.default_options)
282
284
  options[:html] ||= {}
283
285
 
284
286
  method = args.shift
@@ -1,3 +1,3 @@
1
1
  module Attrtastic
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  require 'test/unit'
2
- require 'shoulda'
2
+ require 'shoulda-context'
3
3
  require 'action_view'
4
4
  require 'bigdecimal'
5
5
 
@@ -11,6 +11,11 @@ class TestCase < Test::Unit::TestCase
11
11
  def html(string)
12
12
  string.split(/\n/m).map(&:strip).join
13
13
  end
14
+
15
+ def setup
16
+ Attrtastic.reset_default_options
17
+ end
18
+
14
19
  def setup_fixtures
15
20
  @user = User.new.tap do |u|
16
21
  u.first_name,u.last_name = "John","Doe"
@@ -37,6 +37,21 @@ class TestAttribute < TestCase
37
37
  assert_equal expected, actual
38
38
  end
39
39
 
40
+ context "with default_options" do
41
+ should "show attribute with default_options[:display_empty] => true" do
42
+ Attrtastic.default_options[:display_empty] = true
43
+ expected = html <<-EOHTML
44
+ <li class="attribute">
45
+ <span class="label">Title</span>
46
+ <span class="value"></span>
47
+ </li>
48
+ EOHTML
49
+
50
+ actual = @user_builder.attribute(:title)
51
+ assert_equal expected, actual
52
+ end
53
+ end
54
+
40
55
  context "with default formating" do
41
56
  should "properly format a String" do
42
57
  expected = html <<-EOHTML
@@ -72,10 +87,11 @@ class TestAttribute < TestCase
72
87
  end
73
88
 
74
89
  should "properly format a Time" do
90
+ time = @user.time.strftime("%a, %d %b %Y %H:%M:%S %z")
75
91
  expected = html <<-EOHTML
76
92
  <li class="attribute">
77
93
  <span class="label">Time</span>
78
- <span class="value">Sat, 01 Jan 2000 06:00:00 +0100</span>
94
+ <span class="value">#{time}</span>
79
95
  </li>
80
96
  EOHTML
81
97
  actual = @user_builder.attribute(:time)
@@ -154,7 +170,7 @@ class TestAttribute < TestCase
154
170
  expected = html <<-EOHTML
155
171
  <li class="attribute">
156
172
  <span class="label">Time</span>
157
- <span class="value">2000-01-01 06:00:00 +0100</span>
173
+ <span class="value">#{@user.time}</span>
158
174
  </li>
159
175
  EOHTML
160
176
  actual = @user_builder.attribute(:time, :format => false)
@@ -88,6 +88,26 @@ class TestAttrtastic < TestCase
88
88
  assert_equal expected, actual
89
89
  end
90
90
 
91
+ context "Default Options" do
92
+ should "setup default options" do
93
+ assert Attrtastic.default_options.is_a?(Hash)
94
+ end
95
+
96
+ should "set default options" do
97
+ Attrtastic.default_options[:display_empty] = true
98
+ expected = {:display_empty => true}
99
+
100
+ assert_equal expected, Attrtastic.default_options
101
+ end
102
+
103
+ should "reset default options" do
104
+ Attrtastic.default_options[:display_empty] = true
105
+ Attrtastic.reset_default_options
106
+ assert_equal Hash.new, Attrtastic.default_options
107
+
108
+ end
109
+ end
110
+
91
111
  end
92
112
 
93
113
  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.2
4
+ version: 0.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-16 00:00:00.000000000 +02:00
13
- default_executable:
12
+ date: 2011-12-11 00:00:00.000000000Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: yard
17
- requirement: &8213840 !ruby/object:Gem::Requirement
16
+ requirement: &19525400 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: 0.6.0
23
22
  type: :development
24
23
  prerelease: false
25
- version_requirements: *8213840
24
+ version_requirements: *19525400
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: bluecloth
28
- requirement: &8213320 !ruby/object:Gem::Requirement
27
+ requirement: &20574880 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ~>
@@ -33,21 +32,32 @@ dependencies:
33
32
  version: 2.0.0
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *8213320
35
+ version_requirements: *20574880
37
36
  - !ruby/object:Gem::Dependency
38
- name: shoulda
39
- requirement: &8212840 !ruby/object:Gem::Requirement
37
+ name: shoulda-context
38
+ requirement: &21662280 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ~>
43
42
  - !ruby/object:Gem::Version
44
- version: 2.11.0
43
+ version: 1.0.0
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *8212840
46
+ version_requirements: *21662280
47
+ - !ruby/object:Gem::Dependency
48
+ name: test-unit
49
+ requirement: &21661620 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.4.1
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *21661620
48
58
  - !ruby/object:Gem::Dependency
49
59
  name: activesupport
50
- requirement: &8212360 !ruby/object:Gem::Requirement
60
+ requirement: &21660820 !ruby/object:Gem::Requirement
51
61
  none: false
52
62
  requirements:
53
63
  - - ! '>='
@@ -55,10 +65,10 @@ dependencies:
55
65
  version: '3.0'
56
66
  type: :runtime
57
67
  prerelease: false
58
- version_requirements: *8212360
68
+ version_requirements: *21660820
59
69
  - !ruby/object:Gem::Dependency
60
70
  name: actionpack
61
- requirement: &8211880 !ruby/object:Gem::Requirement
71
+ requirement: &21660120 !ruby/object:Gem::Requirement
62
72
  none: false
63
73
  requirements:
64
74
  - - ! '>='
@@ -66,7 +76,7 @@ dependencies:
66
76
  version: '3.0'
67
77
  type: :runtime
68
78
  prerelease: false
69
- version_requirements: *8211880
79
+ version_requirements: *21660120
70
80
  description: Rails view helper for scaffolding show/index pages for objects
71
81
  email:
72
82
  - boruta.miroslaw@gmail.com
@@ -111,7 +121,6 @@ files:
111
121
  - test/test_attributes.rb
112
122
  - test/test_attrtastic.rb
113
123
  - test/test_semantic_attributes_helper.rb
114
- has_rdoc: true
115
124
  homepage: http://github.com/MBO/attrtastic
116
125
  licenses: []
117
126
  post_install_message:
@@ -124,15 +133,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
133
  - - ! '>='
125
134
  - !ruby/object:Gem::Version
126
135
  version: '0'
136
+ segments:
137
+ - 0
138
+ hash: -1079247490965953772
127
139
  required_rubygems_version: !ruby/object:Gem::Requirement
128
140
  none: false
129
141
  requirements:
130
142
  - - ! '>='
131
143
  - !ruby/object:Gem::Version
132
144
  version: '0'
145
+ segments:
146
+ - 0
147
+ hash: -1079247490965953772
133
148
  requirements: []
134
149
  rubyforge_project: attrtastic
135
- rubygems_version: 1.6.2
150
+ rubygems_version: 1.8.6
136
151
  signing_key:
137
152
  specification_version: 3
138
153
  summary: Rails view helper for scaffolding show/index pages for objects