need_label 0.2.1 → 0.2.2

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.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- need_label (0.2.1)
4
+ need_label (0.2.2)
5
5
  rails (>= 3.0.7)
6
6
 
7
7
  GEM
@@ -20,7 +20,7 @@ module ActionView
20
20
  else
21
21
  if validator.options[:if].is_a? Proc
22
22
  need_attributes << validator if object.instance_eval(&validator.options[:if])
23
- elsif validator.options[:if].is_a? String
23
+ elsif (validator.options[:if].is_a? String) || (validator.options[:if].is_a? Symbol)
24
24
  need_attributes << validator if object.instance_eval(&eval("proc{#{validator.options[:if]}}"))
25
25
  end
26
26
  end
@@ -1,3 +1,3 @@
1
1
  module NeedLabel
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.2'
3
3
  end
data/spec/fake_app.rb CHANGED
@@ -20,6 +20,7 @@ app.routes.draw do
20
20
  resources :users
21
21
  resources :user_with_procs
22
22
  resources :user_with_strings
23
+ resources :user_with_symbols
23
24
  end
24
25
 
25
26
  # models
@@ -35,6 +36,14 @@ class UserWithString < ActiveRecord::Base
35
36
  validates :name, :presence => true, :if => 'self.age > 20'
36
37
  end
37
38
 
39
+ class UserWithSymbol < ActiveRecord::Base
40
+ validates :name, :presence => true, :if => :age_threshold
41
+
42
+ def age_threshold
43
+ self.age > 20
44
+ end
45
+ end
46
+
38
47
  # controllers
39
48
  class ApplicationController < ActionController::Base; end
40
49
 
@@ -47,5 +56,6 @@ class CreateAllTables < ActiveRecord::Migration
47
56
  create_table(:users) {|t| t.string :name; t.integer :age}
48
57
  create_table(:user_with_procs) {|t| t.string :name; t.integer :age}
49
58
  create_table(:user_with_strings) {|t| t.string :name; t.integer :age}
59
+ create_table(:user_with_symbols) {|t| t.string :name; t.integer :age}
50
60
  end
51
61
  end
@@ -176,4 +176,27 @@ describe 'need-label is outputted to class.' do
176
176
  page.has_xpath?("//label[@for='user_with_string_name'][@class='need-label']").should be_true
177
177
  end
178
178
  end
179
+
180
+ describe "symbol type 'if' validate presence option added." do
181
+ before do
182
+ class UserWithSymbolsController < ApplicationController
183
+ def new
184
+ @user_with_symbol = UserWithSymbol.new(:age => 21)
185
+ render :inline => <<-ERB
186
+ <%= form_for @user_with_symbol do |f| %>
187
+ <%= f.label :name %>
188
+ <%= f.text_field :name %>
189
+ <%= f.label :age %>
190
+ <%= f.text_field :age %>
191
+ <%= f.submit "save" %>
192
+ <% end %>
193
+ ERB
194
+ end
195
+ end
196
+ visit '/user_with_symbols/new'
197
+ end
198
+ it 'It checks that need-label is outputted.' do
199
+ page.has_xpath?("//label[@for='user_with_symbol_name'][@class='need-label']").should be_true
200
+ end
201
+ end
179
202
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: need_label
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Yamamoto Kazuhisa
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-06-09 00:00:00.000000000 Z
12
+ date: 2013-06-10 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,20 +30,23 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rspec
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ~>
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
@@ -55,20 +62,23 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rspec-rails
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: sqlite3
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ~>
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ~>
81
92
  - !ruby/object:Gem::Version
@@ -83,6 +94,7 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: capybara
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
99
  - - ~>
88
100
  - !ruby/object:Gem::Version
@@ -90,6 +102,7 @@ dependencies:
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
107
  - - ~>
95
108
  - !ruby/object:Gem::Version
@@ -97,29 +110,33 @@ dependencies:
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: rr
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - '>='
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - '>='
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: rails
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - '>='
131
+ - - ! '>='
116
132
  - !ruby/object:Gem::Version
117
133
  version: 3.0.7
118
134
  type: :runtime
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
- - - '>='
139
+ - - ! '>='
123
140
  - !ruby/object:Gem::Version
124
141
  version: 3.0.7
125
142
  description: A class is outputted about an indispensable input item.
@@ -147,26 +164,27 @@ files:
147
164
  homepage: https://github.com/kazuhisa/need_label
148
165
  licenses:
149
166
  - MIT
150
- metadata: {}
151
167
  post_install_message:
152
168
  rdoc_options: []
153
169
  require_paths:
154
170
  - lib
155
171
  required_ruby_version: !ruby/object:Gem::Requirement
172
+ none: false
156
173
  requirements:
157
- - - '>='
174
+ - - ! '>='
158
175
  - !ruby/object:Gem::Version
159
176
  version: '0'
160
177
  required_rubygems_version: !ruby/object:Gem::Requirement
178
+ none: false
161
179
  requirements:
162
- - - '>='
180
+ - - ! '>='
163
181
  - !ruby/object:Gem::Version
164
182
  version: '0'
165
183
  requirements: []
166
184
  rubyforge_project:
167
- rubygems_version: 2.0.3
185
+ rubygems_version: 1.8.24
168
186
  signing_key:
169
- specification_version: 4
187
+ specification_version: 3
170
188
  summary: A class is outputted about an indispensable input item.
171
189
  test_files:
172
190
  - spec/fake_app.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 5193845409dd8b3135875c34d8a07c72920ec516
4
- data.tar.gz: c965e696a57e557a594124706d8a00939dd99e37
5
- SHA512:
6
- metadata.gz: e77a05db2825165053d81e4e715fbed0b2e442decb3cc0726c04cbb76c1c84082a8c262a8ec34f410748cf8f88a8765bfc8305f9962af93c1de19aa30fd2dd43
7
- data.tar.gz: 36d9acc055fef475c08c6dbacbea60eb20d87b2d6b4b6e67f9d09837f7d49d860ba2594287387aa80c0cdd110f0539c06b774d8e5300daf01c23745fb47371fd