need_label 0.2.1 → 0.2.2

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