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 +1 -1
- data/lib/need_label/helpers.rb +1 -1
- data/lib/need_label/version.rb +1 -1
- data/spec/fake_app.rb +10 -0
- data/spec/requests/need_label_spec.rb +23 -0
- metadata +33 -15
- checksums.yaml +0 -7
data/Gemfile.lock
CHANGED
data/lib/need_label/helpers.rb
CHANGED
@@ -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
|
data/lib/need_label/version.rb
CHANGED
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.
|
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-
|
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:
|
185
|
+
rubygems_version: 1.8.24
|
168
186
|
signing_key:
|
169
|
-
specification_version:
|
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
|