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.
Files changed (99) hide show
  1. data/CHANGELOG.md +6 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +783 -0
  4. data/lib/generators/simple_form_with_client_validation/USAGE +3 -0
  5. data/lib/generators/simple_form_with_client_validation/install_generator.rb +32 -0
  6. data/lib/generators/simple_form_with_client_validation/templates/README +12 -0
  7. data/lib/generators/simple_form_with_client_validation/templates/_form.html.erb +13 -0
  8. data/lib/generators/simple_form_with_client_validation/templates/_form.html.haml +10 -0
  9. data/lib/generators/simple_form_with_client_validation/templates/_form.html.slim +10 -0
  10. data/lib/generators/simple_form_with_client_validation/templates/config/initializers/simple_form.rb.tt +179 -0
  11. data/lib/generators/simple_form_with_client_validation/templates/config/locales/simple_form.en.yml +26 -0
  12. data/lib/simple_form_with_client_validation/action_view_extensions/builder.rb +331 -0
  13. data/lib/simple_form_with_client_validation/action_view_extensions/form_helper.rb +74 -0
  14. data/lib/simple_form_with_client_validation/components/errors.rb +35 -0
  15. data/lib/simple_form_with_client_validation/components/hints.rb +18 -0
  16. data/lib/simple_form_with_client_validation/components/html5.rb +26 -0
  17. data/lib/simple_form_with_client_validation/components/label_input.rb +15 -0
  18. data/lib/simple_form_with_client_validation/components/labels.rb +79 -0
  19. data/lib/simple_form_with_client_validation/components/maxlength.rb +41 -0
  20. data/lib/simple_form_with_client_validation/components/min_max.rb +50 -0
  21. data/lib/simple_form_with_client_validation/components/minlength.rb +41 -0
  22. data/lib/simple_form_with_client_validation/components/pattern.rb +34 -0
  23. data/lib/simple_form_with_client_validation/components/placeholders.rb +16 -0
  24. data/lib/simple_form_with_client_validation/components/readonly.rb +22 -0
  25. data/lib/simple_form_with_client_validation/components.rb +21 -0
  26. data/lib/simple_form_with_client_validation/core_ext/hash.rb +16 -0
  27. data/lib/simple_form_with_client_validation/error_notification.rb +48 -0
  28. data/lib/simple_form_with_client_validation/form_builder.rb +484 -0
  29. data/lib/simple_form_with_client_validation/helpers/autofocus.rb +11 -0
  30. data/lib/simple_form_with_client_validation/helpers/disabled.rb +15 -0
  31. data/lib/simple_form_with_client_validation/helpers/readonly.rb +15 -0
  32. data/lib/simple_form_with_client_validation/helpers/required.rb +35 -0
  33. data/lib/simple_form_with_client_validation/helpers/validators.rb +44 -0
  34. data/lib/simple_form_with_client_validation/helpers.rb +12 -0
  35. data/lib/simple_form_with_client_validation/i18n_cache.rb +22 -0
  36. data/lib/simple_form_with_client_validation/inputs/base.rb +162 -0
  37. data/lib/simple_form_with_client_validation/inputs/block_input.rb +14 -0
  38. data/lib/simple_form_with_client_validation/inputs/boolean_input.rb +64 -0
  39. data/lib/simple_form_with_client_validation/inputs/collection_check_boxes_input.rb +21 -0
  40. data/lib/simple_form_with_client_validation/inputs/collection_input.rb +101 -0
  41. data/lib/simple_form_with_client_validation/inputs/collection_radio_buttons_input.rb +63 -0
  42. data/lib/simple_form_with_client_validation/inputs/collection_select_input.rb +14 -0
  43. data/lib/simple_form_with_client_validation/inputs/date_time_input.rb +28 -0
  44. data/lib/simple_form_with_client_validation/inputs/file_input.rb +9 -0
  45. data/lib/simple_form_with_client_validation/inputs/grouped_collection_select_input.rb +41 -0
  46. data/lib/simple_form_with_client_validation/inputs/hidden_input.rb +17 -0
  47. data/lib/simple_form_with_client_validation/inputs/numeric_input.rb +24 -0
  48. data/lib/simple_form_with_client_validation/inputs/password_input.rb +12 -0
  49. data/lib/simple_form_with_client_validation/inputs/priority_input.rb +24 -0
  50. data/lib/simple_form_with_client_validation/inputs/range_input.rb +14 -0
  51. data/lib/simple_form_with_client_validation/inputs/string_input.rb +23 -0
  52. data/lib/simple_form_with_client_validation/inputs/text_input.rb +11 -0
  53. data/lib/simple_form_with_client_validation/inputs.rb +21 -0
  54. data/lib/simple_form_with_client_validation/map_type.rb +16 -0
  55. data/lib/simple_form_with_client_validation/version.rb +3 -0
  56. data/lib/simple_form_with_client_validation/wrappers/builder.rb +115 -0
  57. data/lib/simple_form_with_client_validation/wrappers/many.rb +78 -0
  58. data/lib/simple_form_with_client_validation/wrappers/root.rb +34 -0
  59. data/lib/simple_form_with_client_validation/wrappers/single.rb +18 -0
  60. data/lib/simple_form_with_client_validation/wrappers.rb +8 -0
  61. data/lib/simple_form_with_client_validation.rb +218 -0
  62. data/test/action_view_extensions/builder_test.rb +577 -0
  63. data/test/action_view_extensions/form_helper_test.rb +104 -0
  64. data/test/components/label_test.rb +310 -0
  65. data/test/form_builder/association_test.rb +177 -0
  66. data/test/form_builder/button_test.rb +47 -0
  67. data/test/form_builder/error_notification_test.rb +79 -0
  68. data/test/form_builder/error_test.rb +121 -0
  69. data/test/form_builder/general_test.rb +356 -0
  70. data/test/form_builder/hint_test.rb +139 -0
  71. data/test/form_builder/input_field_test.rb +63 -0
  72. data/test/form_builder/label_test.rb +71 -0
  73. data/test/form_builder/wrapper_test.rb +149 -0
  74. data/test/generators/simple_form_generator_test.rb +32 -0
  75. data/test/inputs/boolean_input_test.rb +108 -0
  76. data/test/inputs/collection_check_boxes_input_test.rb +224 -0
  77. data/test/inputs/collection_radio_buttons_input_test.rb +326 -0
  78. data/test/inputs/collection_select_input_test.rb +241 -0
  79. data/test/inputs/datetime_input_test.rb +99 -0
  80. data/test/inputs/disabled_test.rb +38 -0
  81. data/test/inputs/discovery_test.rb +61 -0
  82. data/test/inputs/file_input_test.rb +16 -0
  83. data/test/inputs/general_test.rb +69 -0
  84. data/test/inputs/grouped_collection_select_input_test.rb +118 -0
  85. data/test/inputs/hidden_input_test.rb +30 -0
  86. data/test/inputs/numeric_input_test.rb +173 -0
  87. data/test/inputs/priority_input_test.rb +43 -0
  88. data/test/inputs/readonly_test.rb +61 -0
  89. data/test/inputs/required_test.rb +113 -0
  90. data/test/inputs/string_input_test.rb +140 -0
  91. data/test/inputs/text_input_test.rb +29 -0
  92. data/test/simple_form_test.rb +9 -0
  93. data/test/support/discovery_inputs.rb +21 -0
  94. data/test/support/misc_helpers.rb +102 -0
  95. data/test/support/mock_controller.rb +24 -0
  96. data/test/support/mock_response.rb +14 -0
  97. data/test/support/models.rb +210 -0
  98. data/test/test_helper.rb +95 -0
  99. metadata +227 -0
@@ -0,0 +1,14 @@
1
+ class MockResponse
2
+
3
+ def initialize(test_case)
4
+ @test_case = test_case
5
+ end
6
+
7
+ def content_type
8
+ 'text/html'
9
+ end
10
+
11
+ def body
12
+ @test_case.send :output_buffer
13
+ end
14
+ end
@@ -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
@@ -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