simple_form_with_client_validation 0.0.0
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/CHANGELOG.md +6 -0
- data/MIT-LICENSE +20 -0
- data/README.md +783 -0
- data/lib/generators/simple_form_with_client_validation/USAGE +3 -0
- data/lib/generators/simple_form_with_client_validation/install_generator.rb +32 -0
- data/lib/generators/simple_form_with_client_validation/templates/README +12 -0
- data/lib/generators/simple_form_with_client_validation/templates/_form.html.erb +13 -0
- data/lib/generators/simple_form_with_client_validation/templates/_form.html.haml +10 -0
- data/lib/generators/simple_form_with_client_validation/templates/_form.html.slim +10 -0
- data/lib/generators/simple_form_with_client_validation/templates/config/initializers/simple_form.rb.tt +179 -0
- data/lib/generators/simple_form_with_client_validation/templates/config/locales/simple_form.en.yml +26 -0
- data/lib/simple_form_with_client_validation/action_view_extensions/builder.rb +331 -0
- data/lib/simple_form_with_client_validation/action_view_extensions/form_helper.rb +74 -0
- data/lib/simple_form_with_client_validation/components/errors.rb +35 -0
- data/lib/simple_form_with_client_validation/components/hints.rb +18 -0
- data/lib/simple_form_with_client_validation/components/html5.rb +26 -0
- data/lib/simple_form_with_client_validation/components/label_input.rb +15 -0
- data/lib/simple_form_with_client_validation/components/labels.rb +79 -0
- data/lib/simple_form_with_client_validation/components/maxlength.rb +41 -0
- data/lib/simple_form_with_client_validation/components/min_max.rb +50 -0
- data/lib/simple_form_with_client_validation/components/minlength.rb +41 -0
- data/lib/simple_form_with_client_validation/components/pattern.rb +34 -0
- data/lib/simple_form_with_client_validation/components/placeholders.rb +16 -0
- data/lib/simple_form_with_client_validation/components/readonly.rb +22 -0
- data/lib/simple_form_with_client_validation/components.rb +21 -0
- data/lib/simple_form_with_client_validation/core_ext/hash.rb +16 -0
- data/lib/simple_form_with_client_validation/error_notification.rb +48 -0
- data/lib/simple_form_with_client_validation/form_builder.rb +484 -0
- data/lib/simple_form_with_client_validation/helpers/autofocus.rb +11 -0
- data/lib/simple_form_with_client_validation/helpers/disabled.rb +15 -0
- data/lib/simple_form_with_client_validation/helpers/readonly.rb +15 -0
- data/lib/simple_form_with_client_validation/helpers/required.rb +35 -0
- data/lib/simple_form_with_client_validation/helpers/validators.rb +44 -0
- data/lib/simple_form_with_client_validation/helpers.rb +12 -0
- data/lib/simple_form_with_client_validation/i18n_cache.rb +22 -0
- data/lib/simple_form_with_client_validation/inputs/base.rb +162 -0
- data/lib/simple_form_with_client_validation/inputs/block_input.rb +14 -0
- data/lib/simple_form_with_client_validation/inputs/boolean_input.rb +64 -0
- data/lib/simple_form_with_client_validation/inputs/collection_check_boxes_input.rb +21 -0
- data/lib/simple_form_with_client_validation/inputs/collection_input.rb +101 -0
- data/lib/simple_form_with_client_validation/inputs/collection_radio_buttons_input.rb +63 -0
- data/lib/simple_form_with_client_validation/inputs/collection_select_input.rb +14 -0
- data/lib/simple_form_with_client_validation/inputs/date_time_input.rb +28 -0
- data/lib/simple_form_with_client_validation/inputs/file_input.rb +9 -0
- data/lib/simple_form_with_client_validation/inputs/grouped_collection_select_input.rb +41 -0
- data/lib/simple_form_with_client_validation/inputs/hidden_input.rb +17 -0
- data/lib/simple_form_with_client_validation/inputs/numeric_input.rb +24 -0
- data/lib/simple_form_with_client_validation/inputs/password_input.rb +12 -0
- data/lib/simple_form_with_client_validation/inputs/priority_input.rb +24 -0
- data/lib/simple_form_with_client_validation/inputs/range_input.rb +14 -0
- data/lib/simple_form_with_client_validation/inputs/string_input.rb +23 -0
- data/lib/simple_form_with_client_validation/inputs/text_input.rb +11 -0
- data/lib/simple_form_with_client_validation/inputs.rb +21 -0
- data/lib/simple_form_with_client_validation/map_type.rb +16 -0
- data/lib/simple_form_with_client_validation/version.rb +3 -0
- data/lib/simple_form_with_client_validation/wrappers/builder.rb +115 -0
- data/lib/simple_form_with_client_validation/wrappers/many.rb +78 -0
- data/lib/simple_form_with_client_validation/wrappers/root.rb +34 -0
- data/lib/simple_form_with_client_validation/wrappers/single.rb +18 -0
- data/lib/simple_form_with_client_validation/wrappers.rb +8 -0
- data/lib/simple_form_with_client_validation.rb +218 -0
- data/test/action_view_extensions/builder_test.rb +577 -0
- data/test/action_view_extensions/form_helper_test.rb +104 -0
- data/test/components/label_test.rb +310 -0
- data/test/form_builder/association_test.rb +177 -0
- data/test/form_builder/button_test.rb +47 -0
- data/test/form_builder/error_notification_test.rb +79 -0
- data/test/form_builder/error_test.rb +121 -0
- data/test/form_builder/general_test.rb +356 -0
- data/test/form_builder/hint_test.rb +139 -0
- data/test/form_builder/input_field_test.rb +63 -0
- data/test/form_builder/label_test.rb +71 -0
- data/test/form_builder/wrapper_test.rb +149 -0
- data/test/generators/simple_form_generator_test.rb +32 -0
- data/test/inputs/boolean_input_test.rb +108 -0
- data/test/inputs/collection_check_boxes_input_test.rb +224 -0
- data/test/inputs/collection_radio_buttons_input_test.rb +326 -0
- data/test/inputs/collection_select_input_test.rb +241 -0
- data/test/inputs/datetime_input_test.rb +99 -0
- data/test/inputs/disabled_test.rb +38 -0
- data/test/inputs/discovery_test.rb +61 -0
- data/test/inputs/file_input_test.rb +16 -0
- data/test/inputs/general_test.rb +69 -0
- data/test/inputs/grouped_collection_select_input_test.rb +118 -0
- data/test/inputs/hidden_input_test.rb +30 -0
- data/test/inputs/numeric_input_test.rb +173 -0
- data/test/inputs/priority_input_test.rb +43 -0
- data/test/inputs/readonly_test.rb +61 -0
- data/test/inputs/required_test.rb +113 -0
- data/test/inputs/string_input_test.rb +140 -0
- data/test/inputs/text_input_test.rb +29 -0
- data/test/simple_form_test.rb +9 -0
- data/test/support/discovery_inputs.rb +21 -0
- data/test/support/misc_helpers.rb +102 -0
- data/test/support/mock_controller.rb +24 -0
- data/test/support/mock_response.rb +14 -0
- data/test/support/models.rb +210 -0
- data/test/test_helper.rb +95 -0
- metadata +227 -0
@@ -0,0 +1,210 @@
|
|
1
|
+
Column = Struct.new(:name, :type, :limit)
|
2
|
+
Association = Struct.new(:klass, :name, :macro, :options)
|
3
|
+
|
4
|
+
class Company < Struct.new(:id, :name)
|
5
|
+
extend ActiveModel::Naming
|
6
|
+
include ActiveModel::Conversion
|
7
|
+
|
8
|
+
def self.all(options={})
|
9
|
+
all = (1..3).map{|i| Company.new(i, "Company #{i}")}
|
10
|
+
return [all.first] if options[:conditions].present?
|
11
|
+
return [all.last] if options[:order].present?
|
12
|
+
return all[0..1] if options[:include].present?
|
13
|
+
return all[1..2] if options[:joins].present?
|
14
|
+
all
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.merge_conditions(a, b)
|
18
|
+
(a || {}).merge(b || {})
|
19
|
+
end
|
20
|
+
|
21
|
+
def persisted?
|
22
|
+
true
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Tag < Company
|
27
|
+
def self.all(options={})
|
28
|
+
(1..3).map{|i| Tag.new(i, "Tag #{i}")}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
class TagGroup < Struct.new(:id, :name, :tags)
|
33
|
+
end
|
34
|
+
|
35
|
+
class User
|
36
|
+
extend ActiveModel::Naming
|
37
|
+
include ActiveModel::Conversion
|
38
|
+
|
39
|
+
attr_accessor :id, :name, :company, :company_id, :time_zone, :active, :age,
|
40
|
+
:description, :created_at, :updated_at, :credit_limit, :password, :url,
|
41
|
+
:delivery_time, :born_at, :special_company_id, :country, :tags, :tag_ids,
|
42
|
+
:avatar, :home_picture, :email, :status, :residence_country, :phone_number,
|
43
|
+
:post_count, :lock_version, :amount, :attempts, :action, :credit_card, :gender
|
44
|
+
|
45
|
+
def initialize(options={})
|
46
|
+
@new_record = false
|
47
|
+
options.each do |key, value|
|
48
|
+
send("#{key}=", value)
|
49
|
+
end if options
|
50
|
+
end
|
51
|
+
|
52
|
+
def new_record!
|
53
|
+
@new_record = true
|
54
|
+
end
|
55
|
+
|
56
|
+
def persisted?
|
57
|
+
!@new_record
|
58
|
+
end
|
59
|
+
|
60
|
+
def company_attributes=(*)
|
61
|
+
end
|
62
|
+
|
63
|
+
def tags_attributes=(*)
|
64
|
+
end
|
65
|
+
|
66
|
+
def column_for_attribute(attribute)
|
67
|
+
column_type, limit = case attribute.to_sym
|
68
|
+
when :name, :status, :password then [:string, 100]
|
69
|
+
when :description then [:text, 200]
|
70
|
+
when :age then :integer
|
71
|
+
when :credit_limit then [:decimal, 15]
|
72
|
+
when :active then :boolean
|
73
|
+
when :born_at then :date
|
74
|
+
when :delivery_time then :time
|
75
|
+
when :created_at then :datetime
|
76
|
+
when :updated_at then :timestamp
|
77
|
+
when :lock_version then :integer
|
78
|
+
when :home_picture then :string
|
79
|
+
when :amount then :integer
|
80
|
+
when :attempts then :integer
|
81
|
+
when :action then :string
|
82
|
+
when :credit_card then :string
|
83
|
+
end
|
84
|
+
Column.new(attribute, column_type, limit)
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.human_attribute_name(attribute)
|
88
|
+
case attribute
|
89
|
+
when 'name'
|
90
|
+
'Super User Name!'
|
91
|
+
when 'description'
|
92
|
+
'User Description!'
|
93
|
+
when 'company'
|
94
|
+
'Company Human Name!'
|
95
|
+
else
|
96
|
+
attribute.humanize
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
def self.reflect_on_association(association)
|
101
|
+
case association
|
102
|
+
when :company
|
103
|
+
Association.new(Company, association, :belongs_to, {})
|
104
|
+
when :tags
|
105
|
+
Association.new(Tag, association, :has_many, {})
|
106
|
+
when :first_company
|
107
|
+
Association.new(Company, association, :has_one, {})
|
108
|
+
when :special_company
|
109
|
+
Association.new(Company, association, :belongs_to, { :conditions => { :id => 1 } })
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def errors
|
114
|
+
@errors ||= begin
|
115
|
+
hash = Hash.new { |h,k| h[k] = [] }
|
116
|
+
hash.merge!(
|
117
|
+
:name => ["can't be blank"],
|
118
|
+
:description => ["must be longer than 15 characters"],
|
119
|
+
:age => ["is not a number", "must be greater than 18"],
|
120
|
+
:company => ["company must be present"],
|
121
|
+
:company_id => ["must be valid"]
|
122
|
+
)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
def self.readonly_attributes
|
127
|
+
[:credit_card]
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
class ValidatingUser < User
|
132
|
+
include ActiveModel::Validations
|
133
|
+
validates :name, :presence => true
|
134
|
+
validates :company, :presence => true
|
135
|
+
validates :age, :presence => true, :if => Proc.new { |user| user.name }
|
136
|
+
validates :amount, :presence => true, :unless => Proc.new { |user| user.age }
|
137
|
+
|
138
|
+
validates :action, :presence => true, :on => :create
|
139
|
+
validates :credit_limit, :presence => true, :on => :save
|
140
|
+
validates :phone_number, :presence => true, :on => :update
|
141
|
+
|
142
|
+
validates_numericality_of :age,
|
143
|
+
:greater_than_or_equal_to => 18,
|
144
|
+
:less_than_or_equal_to => 99,
|
145
|
+
:only_integer => true
|
146
|
+
validates_numericality_of :amount,
|
147
|
+
:greater_than => :min_amount,
|
148
|
+
:less_than => :max_amount,
|
149
|
+
:only_integer => true
|
150
|
+
validates_numericality_of :attempts,
|
151
|
+
:greater_than_or_equal_to => :min_attempts,
|
152
|
+
:less_than_or_equal_to => :max_attempts,
|
153
|
+
:only_integer => true
|
154
|
+
validates_length_of :name, :maximum => 25
|
155
|
+
validates_length_of :description, :maximum => 50, :minimum => 5
|
156
|
+
validates_length_of :action, :maximum => 10, :tokenizer => lambda { |str| str.scan(/\w+/) }
|
157
|
+
validates_length_of :home_picture, :is => 12
|
158
|
+
|
159
|
+
def min_amount
|
160
|
+
10
|
161
|
+
end
|
162
|
+
|
163
|
+
def max_amount
|
164
|
+
100
|
165
|
+
end
|
166
|
+
|
167
|
+
def min_attempts
|
168
|
+
1
|
169
|
+
end
|
170
|
+
|
171
|
+
def max_attempts
|
172
|
+
100
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
class OtherValidatingUser < User
|
177
|
+
include ActiveModel::Validations
|
178
|
+
validates_numericality_of :age,
|
179
|
+
:greater_than => 17,
|
180
|
+
:less_than => 100,
|
181
|
+
:only_integer => true
|
182
|
+
validates_numericality_of :amount,
|
183
|
+
:greater_than => Proc.new { |user| user.age },
|
184
|
+
:less_than => Proc.new { |user| user.age + 100},
|
185
|
+
:only_integer => true
|
186
|
+
validates_numericality_of :attempts,
|
187
|
+
:greater_than_or_equal_to => Proc.new { |user| user.age },
|
188
|
+
:less_than_or_equal_to => Proc.new { |user| user.age + 100},
|
189
|
+
:only_integer => true
|
190
|
+
|
191
|
+
validates_format_of :country, :with => /\w+/
|
192
|
+
|
193
|
+
# TODO: Remove this check when we drop Rails 3.0 support
|
194
|
+
if ActiveModel::VERSION::MAJOR == 3 && ActiveModel::VERSION::MINOR >= 1
|
195
|
+
validates_format_of :name, :with => Proc.new { /\w+/ }
|
196
|
+
else
|
197
|
+
validates_format_of :name, :with => /\w+/
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
class HashBackedAuthor < Hash
|
202
|
+
extend ActiveModel::Naming
|
203
|
+
include ActiveModel::Conversion
|
204
|
+
|
205
|
+
def persisted?; false; end
|
206
|
+
|
207
|
+
def name
|
208
|
+
'hash backed author'
|
209
|
+
end
|
210
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
|
4
|
+
require 'test/unit'
|
5
|
+
require 'mocha'
|
6
|
+
|
7
|
+
require 'active_model'
|
8
|
+
require 'action_controller'
|
9
|
+
require 'action_view'
|
10
|
+
require 'action_view/template'
|
11
|
+
|
12
|
+
# Rails 3.0.4 is missing this "deprecation" require.
|
13
|
+
require 'active_support/core_ext/module/deprecation'
|
14
|
+
require 'action_view/test_case'
|
15
|
+
|
16
|
+
module Rails
|
17
|
+
def self.env
|
18
|
+
ActiveSupport::StringInquirer.new("test")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
$:.unshift File.expand_path("../../lib", __FILE__)
|
23
|
+
require 'simple_form_with_client_validation'
|
24
|
+
|
25
|
+
require "rails/generators/test_case"
|
26
|
+
require 'generators/simple_form_with_client_validation/install_generator'
|
27
|
+
|
28
|
+
Dir["#{File.dirname(__FILE__)}/support/*.rb"].each do |file|
|
29
|
+
require file unless file.end_with?('discovery_inputs.rb')
|
30
|
+
end
|
31
|
+
I18n.default_locale = :en
|
32
|
+
|
33
|
+
require 'country_select'
|
34
|
+
|
35
|
+
ActionDispatch::Assertions::NO_STRIP << "label"
|
36
|
+
|
37
|
+
class ActionView::TestCase
|
38
|
+
include MiscHelpers
|
39
|
+
include SimpleFormWithClientValidation::ActionViewExtensions::FormHelper
|
40
|
+
|
41
|
+
setup :set_controller
|
42
|
+
setup :set_response
|
43
|
+
setup :setup_new_user
|
44
|
+
|
45
|
+
def set_controller
|
46
|
+
@controller = MockController.new
|
47
|
+
end
|
48
|
+
|
49
|
+
def set_response
|
50
|
+
@response = MockResponse.new(self)
|
51
|
+
end
|
52
|
+
|
53
|
+
def setup_new_user(options={})
|
54
|
+
@user = User.new({
|
55
|
+
:id => 1,
|
56
|
+
:name => 'New in SimpleFormWithClientValidation!',
|
57
|
+
:description => 'Hello!',
|
58
|
+
:created_at => Time.now
|
59
|
+
}.merge(options))
|
60
|
+
|
61
|
+
@validating_user = ValidatingUser.new({
|
62
|
+
:id => 1,
|
63
|
+
:name => 'New in SimpleFormWithClientValidation!',
|
64
|
+
:description => 'Hello!',
|
65
|
+
:home_picture => 'Home picture',
|
66
|
+
:created_at => Time.now,
|
67
|
+
:age => 19,
|
68
|
+
:amount => 15,
|
69
|
+
:attempts => 1,
|
70
|
+
:company => [1]
|
71
|
+
}.merge(options))
|
72
|
+
|
73
|
+
@other_validating_user = OtherValidatingUser.new({
|
74
|
+
:id => 1,
|
75
|
+
:name => 'New in SimpleFormWithClientValidation!',
|
76
|
+
:description => 'Hello!',
|
77
|
+
:created_at => Time.now,
|
78
|
+
:age => 19,
|
79
|
+
:company => 1
|
80
|
+
}.merge(options))
|
81
|
+
end
|
82
|
+
|
83
|
+
def protect_against_forgery?
|
84
|
+
false
|
85
|
+
end
|
86
|
+
|
87
|
+
def user_path(*args)
|
88
|
+
'/users'
|
89
|
+
end
|
90
|
+
alias :users_path :user_path
|
91
|
+
alias :super_user_path :user_path
|
92
|
+
alias :validating_user_path :user_path
|
93
|
+
alias :validating_users_path :user_path
|
94
|
+
alias :other_validating_user_path :user_path
|
95
|
+
end
|
metadata
ADDED
@@ -0,0 +1,227 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: simple_form_with_client_validation
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 31
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 0.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Will Bunker
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-03-12 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: activemodel
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ~>
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 7
|
29
|
+
segments:
|
30
|
+
- 3
|
31
|
+
- 0
|
32
|
+
version: "3.0"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: actionpack
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 7
|
44
|
+
segments:
|
45
|
+
- 3
|
46
|
+
- 0
|
47
|
+
version: "3.0"
|
48
|
+
type: :runtime
|
49
|
+
version_requirements: *id002
|
50
|
+
description: simple_form with client validations
|
51
|
+
email: will@thebunkers.com
|
52
|
+
executables: []
|
53
|
+
|
54
|
+
extensions: []
|
55
|
+
|
56
|
+
extra_rdoc_files: []
|
57
|
+
|
58
|
+
files:
|
59
|
+
- CHANGELOG.md
|
60
|
+
- MIT-LICENSE
|
61
|
+
- README.md
|
62
|
+
- lib/generators/simple_form_with_client_validation/install_generator.rb
|
63
|
+
- lib/generators/simple_form_with_client_validation/templates/_form.html.erb
|
64
|
+
- lib/generators/simple_form_with_client_validation/templates/_form.html.haml
|
65
|
+
- lib/generators/simple_form_with_client_validation/templates/_form.html.slim
|
66
|
+
- lib/generators/simple_form_with_client_validation/templates/config/initializers/simple_form.rb.tt
|
67
|
+
- lib/generators/simple_form_with_client_validation/templates/config/locales/simple_form.en.yml
|
68
|
+
- lib/generators/simple_form_with_client_validation/templates/README
|
69
|
+
- lib/generators/simple_form_with_client_validation/USAGE
|
70
|
+
- lib/simple_form_with_client_validation/action_view_extensions/builder.rb
|
71
|
+
- lib/simple_form_with_client_validation/action_view_extensions/form_helper.rb
|
72
|
+
- lib/simple_form_with_client_validation/components/errors.rb
|
73
|
+
- lib/simple_form_with_client_validation/components/hints.rb
|
74
|
+
- lib/simple_form_with_client_validation/components/html5.rb
|
75
|
+
- lib/simple_form_with_client_validation/components/label_input.rb
|
76
|
+
- lib/simple_form_with_client_validation/components/labels.rb
|
77
|
+
- lib/simple_form_with_client_validation/components/maxlength.rb
|
78
|
+
- lib/simple_form_with_client_validation/components/min_max.rb
|
79
|
+
- lib/simple_form_with_client_validation/components/minlength.rb
|
80
|
+
- lib/simple_form_with_client_validation/components/pattern.rb
|
81
|
+
- lib/simple_form_with_client_validation/components/placeholders.rb
|
82
|
+
- lib/simple_form_with_client_validation/components/readonly.rb
|
83
|
+
- lib/simple_form_with_client_validation/components.rb
|
84
|
+
- lib/simple_form_with_client_validation/core_ext/hash.rb
|
85
|
+
- lib/simple_form_with_client_validation/error_notification.rb
|
86
|
+
- lib/simple_form_with_client_validation/form_builder.rb
|
87
|
+
- lib/simple_form_with_client_validation/helpers/autofocus.rb
|
88
|
+
- lib/simple_form_with_client_validation/helpers/disabled.rb
|
89
|
+
- lib/simple_form_with_client_validation/helpers/readonly.rb
|
90
|
+
- lib/simple_form_with_client_validation/helpers/required.rb
|
91
|
+
- lib/simple_form_with_client_validation/helpers/validators.rb
|
92
|
+
- lib/simple_form_with_client_validation/helpers.rb
|
93
|
+
- lib/simple_form_with_client_validation/i18n_cache.rb
|
94
|
+
- lib/simple_form_with_client_validation/inputs/base.rb
|
95
|
+
- lib/simple_form_with_client_validation/inputs/block_input.rb
|
96
|
+
- lib/simple_form_with_client_validation/inputs/boolean_input.rb
|
97
|
+
- lib/simple_form_with_client_validation/inputs/collection_check_boxes_input.rb
|
98
|
+
- lib/simple_form_with_client_validation/inputs/collection_input.rb
|
99
|
+
- lib/simple_form_with_client_validation/inputs/collection_radio_buttons_input.rb
|
100
|
+
- lib/simple_form_with_client_validation/inputs/collection_select_input.rb
|
101
|
+
- lib/simple_form_with_client_validation/inputs/date_time_input.rb
|
102
|
+
- lib/simple_form_with_client_validation/inputs/file_input.rb
|
103
|
+
- lib/simple_form_with_client_validation/inputs/grouped_collection_select_input.rb
|
104
|
+
- lib/simple_form_with_client_validation/inputs/hidden_input.rb
|
105
|
+
- lib/simple_form_with_client_validation/inputs/numeric_input.rb
|
106
|
+
- lib/simple_form_with_client_validation/inputs/password_input.rb
|
107
|
+
- lib/simple_form_with_client_validation/inputs/priority_input.rb
|
108
|
+
- lib/simple_form_with_client_validation/inputs/range_input.rb
|
109
|
+
- lib/simple_form_with_client_validation/inputs/string_input.rb
|
110
|
+
- lib/simple_form_with_client_validation/inputs/text_input.rb
|
111
|
+
- lib/simple_form_with_client_validation/inputs.rb
|
112
|
+
- lib/simple_form_with_client_validation/map_type.rb
|
113
|
+
- lib/simple_form_with_client_validation/version.rb
|
114
|
+
- lib/simple_form_with_client_validation/wrappers/builder.rb
|
115
|
+
- lib/simple_form_with_client_validation/wrappers/many.rb
|
116
|
+
- lib/simple_form_with_client_validation/wrappers/root.rb
|
117
|
+
- lib/simple_form_with_client_validation/wrappers/single.rb
|
118
|
+
- lib/simple_form_with_client_validation/wrappers.rb
|
119
|
+
- lib/simple_form_with_client_validation.rb
|
120
|
+
- test/action_view_extensions/builder_test.rb
|
121
|
+
- test/action_view_extensions/form_helper_test.rb
|
122
|
+
- test/components/label_test.rb
|
123
|
+
- test/form_builder/association_test.rb
|
124
|
+
- test/form_builder/button_test.rb
|
125
|
+
- test/form_builder/error_notification_test.rb
|
126
|
+
- test/form_builder/error_test.rb
|
127
|
+
- test/form_builder/general_test.rb
|
128
|
+
- test/form_builder/hint_test.rb
|
129
|
+
- test/form_builder/input_field_test.rb
|
130
|
+
- test/form_builder/label_test.rb
|
131
|
+
- test/form_builder/wrapper_test.rb
|
132
|
+
- test/generators/simple_form_generator_test.rb
|
133
|
+
- test/inputs/boolean_input_test.rb
|
134
|
+
- test/inputs/collection_check_boxes_input_test.rb
|
135
|
+
- test/inputs/collection_radio_buttons_input_test.rb
|
136
|
+
- test/inputs/collection_select_input_test.rb
|
137
|
+
- test/inputs/datetime_input_test.rb
|
138
|
+
- test/inputs/disabled_test.rb
|
139
|
+
- test/inputs/discovery_test.rb
|
140
|
+
- test/inputs/file_input_test.rb
|
141
|
+
- test/inputs/general_test.rb
|
142
|
+
- test/inputs/grouped_collection_select_input_test.rb
|
143
|
+
- test/inputs/hidden_input_test.rb
|
144
|
+
- test/inputs/numeric_input_test.rb
|
145
|
+
- test/inputs/priority_input_test.rb
|
146
|
+
- test/inputs/readonly_test.rb
|
147
|
+
- test/inputs/required_test.rb
|
148
|
+
- test/inputs/string_input_test.rb
|
149
|
+
- test/inputs/text_input_test.rb
|
150
|
+
- test/simple_form_test.rb
|
151
|
+
- test/support/discovery_inputs.rb
|
152
|
+
- test/support/misc_helpers.rb
|
153
|
+
- test/support/mock_controller.rb
|
154
|
+
- test/support/mock_response.rb
|
155
|
+
- test/support/models.rb
|
156
|
+
- test/test_helper.rb
|
157
|
+
homepage: https://github.com/plataformatec/simple_form
|
158
|
+
licenses: []
|
159
|
+
|
160
|
+
post_install_message:
|
161
|
+
rdoc_options: []
|
162
|
+
|
163
|
+
require_paths:
|
164
|
+
- lib
|
165
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
166
|
+
none: false
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
hash: 3
|
171
|
+
segments:
|
172
|
+
- 0
|
173
|
+
version: "0"
|
174
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
hash: 3
|
180
|
+
segments:
|
181
|
+
- 0
|
182
|
+
version: "0"
|
183
|
+
requirements: []
|
184
|
+
|
185
|
+
rubyforge_project: simple_form_with_client_validation
|
186
|
+
rubygems_version: 1.8.17
|
187
|
+
signing_key:
|
188
|
+
specification_version: 3
|
189
|
+
summary: simple_form with client validations
|
190
|
+
test_files:
|
191
|
+
- test/action_view_extensions/builder_test.rb
|
192
|
+
- test/action_view_extensions/form_helper_test.rb
|
193
|
+
- test/components/label_test.rb
|
194
|
+
- test/form_builder/association_test.rb
|
195
|
+
- test/form_builder/button_test.rb
|
196
|
+
- test/form_builder/error_notification_test.rb
|
197
|
+
- test/form_builder/error_test.rb
|
198
|
+
- test/form_builder/general_test.rb
|
199
|
+
- test/form_builder/hint_test.rb
|
200
|
+
- test/form_builder/input_field_test.rb
|
201
|
+
- test/form_builder/label_test.rb
|
202
|
+
- test/form_builder/wrapper_test.rb
|
203
|
+
- test/generators/simple_form_generator_test.rb
|
204
|
+
- test/inputs/boolean_input_test.rb
|
205
|
+
- test/inputs/collection_check_boxes_input_test.rb
|
206
|
+
- test/inputs/collection_radio_buttons_input_test.rb
|
207
|
+
- test/inputs/collection_select_input_test.rb
|
208
|
+
- test/inputs/datetime_input_test.rb
|
209
|
+
- test/inputs/disabled_test.rb
|
210
|
+
- test/inputs/discovery_test.rb
|
211
|
+
- test/inputs/file_input_test.rb
|
212
|
+
- test/inputs/general_test.rb
|
213
|
+
- test/inputs/grouped_collection_select_input_test.rb
|
214
|
+
- test/inputs/hidden_input_test.rb
|
215
|
+
- test/inputs/numeric_input_test.rb
|
216
|
+
- test/inputs/priority_input_test.rb
|
217
|
+
- test/inputs/readonly_test.rb
|
218
|
+
- test/inputs/required_test.rb
|
219
|
+
- test/inputs/string_input_test.rb
|
220
|
+
- test/inputs/text_input_test.rb
|
221
|
+
- test/simple_form_test.rb
|
222
|
+
- test/support/discovery_inputs.rb
|
223
|
+
- test/support/misc_helpers.rb
|
224
|
+
- test/support/mock_controller.rb
|
225
|
+
- test/support/mock_response.rb
|
226
|
+
- test/support/models.rb
|
227
|
+
- test/test_helper.rb
|