attrtastic 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
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