simple_form 2.1.0 → 3.2.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.
Potentially problematic release.
This version of simple_form might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/CHANGELOG.md +77 -33
- data/MIT-LICENSE +1 -1
- data/README.md +387 -187
- data/lib/generators/simple_form/install_generator.rb +4 -4
- data/lib/generators/simple_form/templates/README +3 -4
- data/lib/generators/simple_form/templates/config/initializers/simple_form.rb +45 -22
- data/lib/generators/simple_form/templates/config/initializers/simple_form_bootstrap.rb +128 -24
- data/lib/generators/simple_form/templates/config/initializers/simple_form_foundation.rb +87 -6
- data/lib/generators/simple_form/templates/config/locales/simple_form.en.yml +7 -2
- data/lib/simple_form/action_view_extensions/builder.rb +2 -319
- data/lib/simple_form/action_view_extensions/form_helper.rb +8 -11
- data/lib/simple_form/components/errors.rb +28 -2
- data/lib/simple_form/components/hints.rb +8 -3
- data/lib/simple_form/components/html5.rb +6 -3
- data/lib/simple_form/components/label_input.rb +20 -2
- data/lib/simple_form/components/labels.rb +14 -10
- data/lib/simple_form/components/maxlength.rb +2 -9
- data/lib/simple_form/components/min_max.rb +1 -1
- data/lib/simple_form/components/pattern.rb +3 -3
- data/lib/simple_form/components/placeholders.rb +2 -2
- data/lib/simple_form/components/readonly.rb +1 -1
- data/lib/simple_form/components.rb +1 -1
- data/lib/simple_form/error_notification.rb +2 -2
- data/lib/simple_form/form_builder.rb +262 -107
- data/lib/simple_form/helpers.rb +6 -6
- data/lib/simple_form/inputs/base.rb +37 -16
- data/lib/simple_form/inputs/block_input.rb +2 -2
- data/lib/simple_form/inputs/boolean_input.rb +33 -18
- data/lib/simple_form/inputs/collection_input.rb +34 -13
- data/lib/simple_form/inputs/collection_radio_buttons_input.rb +7 -12
- data/lib/simple_form/inputs/collection_select_input.rb +4 -2
- data/lib/simple_form/inputs/date_time_input.rb +23 -9
- data/lib/simple_form/inputs/file_input.rb +4 -2
- data/lib/simple_form/inputs/grouped_collection_select_input.rb +15 -3
- data/lib/simple_form/inputs/hidden_input.rb +4 -2
- data/lib/simple_form/inputs/numeric_input.rb +3 -8
- data/lib/simple_form/inputs/password_input.rb +4 -3
- data/lib/simple_form/inputs/priority_input.rb +4 -2
- data/lib/simple_form/inputs/range_input.rb +1 -1
- data/lib/simple_form/inputs/string_input.rb +4 -3
- data/lib/simple_form/inputs/text_input.rb +4 -2
- data/lib/simple_form/railtie.rb +14 -0
- data/lib/simple_form/tags.rb +68 -0
- data/lib/simple_form/version.rb +1 -1
- data/lib/simple_form/wrappers/builder.rb +11 -35
- data/lib/simple_form/wrappers/leaf.rb +28 -0
- data/lib/simple_form/wrappers/many.rb +7 -7
- data/lib/simple_form/wrappers/root.rb +2 -2
- data/lib/simple_form/wrappers/single.rb +5 -3
- data/lib/simple_form/wrappers.rb +2 -1
- data/lib/simple_form.rb +99 -52
- data/test/action_view_extensions/builder_test.rb +113 -127
- data/test/action_view_extensions/form_helper_test.rb +58 -30
- data/test/components/label_test.rb +83 -83
- data/test/form_builder/association_test.rb +96 -61
- data/test/form_builder/button_test.rb +14 -14
- data/test/form_builder/error_notification_test.rb +9 -9
- data/test/form_builder/error_test.rb +159 -34
- data/test/form_builder/general_test.rb +176 -121
- data/test/form_builder/hint_test.rb +43 -37
- data/test/form_builder/input_field_test.rb +99 -52
- data/test/form_builder/label_test.rb +67 -15
- data/test/form_builder/wrapper_test.rb +157 -41
- data/test/generators/simple_form_generator_test.rb +4 -4
- data/test/inputs/boolean_input_test.rb +92 -24
- data/test/inputs/collection_check_boxes_input_test.rb +150 -71
- data/test/inputs/collection_radio_buttons_input_test.rb +213 -113
- data/test/inputs/collection_select_input_test.rb +221 -85
- data/test/inputs/datetime_input_test.rb +125 -47
- data/test/inputs/disabled_test.rb +25 -25
- data/test/inputs/discovery_test.rb +60 -10
- data/test/inputs/file_input_test.rb +3 -3
- data/test/inputs/general_test.rb +48 -32
- data/test/inputs/grouped_collection_select_input_test.rb +76 -27
- data/test/inputs/hidden_input_test.rb +6 -5
- data/test/inputs/numeric_input_test.rb +46 -46
- data/test/inputs/priority_input_test.rb +21 -15
- data/test/inputs/readonly_test.rb +31 -31
- data/test/inputs/required_test.rb +30 -18
- data/test/inputs/string_input_test.rb +53 -52
- data/test/inputs/text_input_test.rb +15 -8
- data/test/simple_form_test.rb +8 -0
- data/test/support/discovery_inputs.rb +32 -2
- data/test/support/misc_helpers.rb +130 -29
- data/test/support/mock_controller.rb +6 -6
- data/test/support/models.rb +125 -71
- data/test/test_helper.rb +28 -35
- metadata +17 -29
- data/lib/simple_form/action_view_extensions/builder.rb.orig +0 -247
- data/lib/simple_form/core_ext/hash.rb +0 -16
- data/lib/simple_form/form_builder.rb.orig +0 -486
- data/lib/simple_form/version.rb.orig +0 -7
@@ -13,12 +13,12 @@ class MockController
|
|
13
13
|
"http://example.com"
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
|
16
|
+
def url_options
|
17
|
+
{}
|
18
18
|
end
|
19
19
|
|
20
|
-
def hash_for_user_path(*
|
21
|
-
def hash_for_validating_user_path(*
|
22
|
-
def hash_for_other_validating_user_path(*
|
23
|
-
def hash_for_users_path(*
|
20
|
+
def hash_for_user_path(*); end
|
21
|
+
def hash_for_validating_user_path(*); end
|
22
|
+
def hash_for_other_validating_user_path(*); end
|
23
|
+
def hash_for_users_path(*); end
|
24
24
|
end
|
data/test/support/models.rb
CHANGED
@@ -1,27 +1,58 @@
|
|
1
|
-
Association = Struct.new(:klass, :name, :macro, :options)
|
1
|
+
Association = Struct.new(:klass, :name, :macro, :scope, :options)
|
2
2
|
|
3
|
-
|
3
|
+
Column = Struct.new(:name, :type, :limit) do
|
4
4
|
# Returns +true+ if the column is either of type integer, float or decimal.
|
5
5
|
def number?
|
6
6
|
type == :integer || type == :float || type == :decimal
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
|
-
|
10
|
+
Relation = Struct.new(:records) do
|
11
|
+
delegate :each, to: :records
|
12
|
+
|
13
|
+
def where(conditions = nil)
|
14
|
+
self.class.new conditions ? records.first : records
|
15
|
+
end
|
16
|
+
|
17
|
+
def order(conditions = nil)
|
18
|
+
self.class.new conditions ? records.last : records
|
19
|
+
end
|
20
|
+
|
21
|
+
alias_method :to_a, :records
|
22
|
+
alias_method :to_ary, :records
|
23
|
+
end
|
24
|
+
|
25
|
+
Picture = Struct.new(:id, :name) do
|
11
26
|
extend ActiveModel::Naming
|
12
27
|
include ActiveModel::Conversion
|
13
28
|
|
14
|
-
def self.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
29
|
+
def self.where(conditions = nil)
|
30
|
+
if conditions.is_a?(Hash) && conditions[:name]
|
31
|
+
all.to_a.last
|
32
|
+
else
|
33
|
+
all
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.all
|
38
|
+
Relation.new((1..3).map { |i| new(i, "#{name} #{i}") })
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
Company = Struct.new(:id, :name) do
|
43
|
+
extend ActiveModel::Naming
|
44
|
+
include ActiveModel::Conversion
|
45
|
+
|
46
|
+
class << self
|
47
|
+
delegate :order, :where, to: :_relation
|
48
|
+
end
|
49
|
+
|
50
|
+
def self._relation
|
20
51
|
all
|
21
52
|
end
|
22
53
|
|
23
|
-
def self.
|
24
|
-
(
|
54
|
+
def self.all
|
55
|
+
Relation.new((1..3).map { |i| new(i, "#{name} #{i}") })
|
25
56
|
end
|
26
57
|
|
27
58
|
def persisted?
|
@@ -29,14 +60,9 @@ class Company < Struct.new(:id, :name)
|
|
29
60
|
end
|
30
61
|
end
|
31
62
|
|
32
|
-
class Tag < Company
|
33
|
-
def self.all(options={})
|
34
|
-
(1..3).map{|i| Tag.new(i, "Tag #{i}")}
|
35
|
-
end
|
36
|
-
end
|
63
|
+
class Tag < Company; end
|
37
64
|
|
38
|
-
|
39
|
-
end
|
65
|
+
TagGroup = Struct.new(:id, :name, :tags)
|
40
66
|
|
41
67
|
class User
|
42
68
|
extend ActiveModel::Naming
|
@@ -46,9 +72,22 @@ class User
|
|
46
72
|
:description, :created_at, :updated_at, :credit_limit, :password, :url,
|
47
73
|
:delivery_time, :born_at, :special_company_id, :country, :tags, :tag_ids,
|
48
74
|
:avatar, :home_picture, :email, :status, :residence_country, :phone_number,
|
49
|
-
:post_count, :lock_version, :amount, :attempts, :action, :credit_card, :gender
|
75
|
+
:post_count, :lock_version, :amount, :attempts, :action, :credit_card, :gender,
|
76
|
+
:extra_special_company_id, :pictures, :picture_ids, :special_pictures,
|
77
|
+
:special_picture_ids, :uuid
|
78
|
+
|
79
|
+
def self.build(extra_attributes = {})
|
80
|
+
attributes = {
|
81
|
+
id: 1,
|
82
|
+
name: 'New in SimpleForm!',
|
83
|
+
description: 'Hello!',
|
84
|
+
created_at: Time.now
|
85
|
+
}.merge! extra_attributes
|
86
|
+
|
87
|
+
new attributes
|
88
|
+
end
|
50
89
|
|
51
|
-
def initialize(options={})
|
90
|
+
def initialize(options = {})
|
52
91
|
@new_record = false
|
53
92
|
options.each do |key, value|
|
54
93
|
send("#{key}=", value)
|
@@ -86,11 +125,22 @@ class User
|
|
86
125
|
when :attempts then :integer
|
87
126
|
when :action then :string
|
88
127
|
when :credit_card then :string
|
128
|
+
when :uuid then :uuid
|
89
129
|
end
|
90
130
|
Column.new(attribute, column_type, limit)
|
91
131
|
end
|
92
132
|
|
93
|
-
def
|
133
|
+
def has_attribute?(attribute)
|
134
|
+
case attribute.to_sym
|
135
|
+
when :name, :status, :password, :description, :age,
|
136
|
+
:credit_limit, :active, :born_at, :delivery_time,
|
137
|
+
:created_at, :updated_at, :lock_version, :home_picture,
|
138
|
+
:amount, :attempts, :action, :credit_card, :uuid then true
|
139
|
+
else false
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
def self.human_attribute_name(attribute, options = {})
|
94
144
|
case attribute
|
95
145
|
when 'name'
|
96
146
|
'Super User Name!'
|
@@ -99,33 +149,39 @@ class User
|
|
99
149
|
when 'company'
|
100
150
|
'Company Human Name!'
|
101
151
|
else
|
102
|
-
attribute.humanize
|
152
|
+
attribute.to_s.humanize
|
103
153
|
end
|
104
154
|
end
|
105
155
|
|
106
156
|
def self.reflect_on_association(association)
|
107
157
|
case association
|
108
158
|
when :company
|
109
|
-
Association.new(Company, association, :belongs_to, {})
|
159
|
+
Association.new(Company, association, :belongs_to, nil, {})
|
110
160
|
when :tags
|
111
|
-
Association.new(Tag, association, :has_many, {})
|
161
|
+
Association.new(Tag, association, :has_many, nil, {})
|
112
162
|
when :first_company
|
113
|
-
Association.new(Company, association, :has_one, {})
|
163
|
+
Association.new(Company, association, :has_one, nil, {})
|
114
164
|
when :special_company
|
115
|
-
Association.new(Company, association, :belongs_to, { :
|
165
|
+
Association.new(Company, association, :belongs_to, nil, { conditions: { id: 1 } })
|
166
|
+
when :extra_special_company
|
167
|
+
Association.new(Company, association, :belongs_to, nil, { conditions: proc { { id: self.id } } })
|
168
|
+
when :pictures
|
169
|
+
Association.new(Picture, association, :has_many, nil, {})
|
170
|
+
when :special_pictures
|
171
|
+
Association.new(Picture, association, :has_many, proc { where(name: self.name) }, {})
|
116
172
|
end
|
117
173
|
end
|
118
174
|
|
119
175
|
def errors
|
120
176
|
@errors ||= begin
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
177
|
+
errors = ActiveModel::Errors.new(self)
|
178
|
+
errors.add(:name, "cannot be blank")
|
179
|
+
errors.add(:description, 'must be longer than 15 characters')
|
180
|
+
errors.add(:age, 'is not a number')
|
181
|
+
errors.add(:age, 'must be greater than 18')
|
182
|
+
errors.add(:company, 'company must be present')
|
183
|
+
errors.add(:company_id, 'must be valid')
|
184
|
+
errors
|
129
185
|
end
|
130
186
|
end
|
131
187
|
|
@@ -136,31 +192,31 @@ end
|
|
136
192
|
|
137
193
|
class ValidatingUser < User
|
138
194
|
include ActiveModel::Validations
|
139
|
-
validates :name, :
|
140
|
-
validates :company, :
|
141
|
-
validates :age, :
|
142
|
-
validates :amount, :
|
195
|
+
validates :name, presence: true
|
196
|
+
validates :company, presence: true
|
197
|
+
validates :age, presence: true, if: Proc.new { |user| user.name }
|
198
|
+
validates :amount, presence: true, unless: Proc.new { |user| user.age }
|
143
199
|
|
144
|
-
validates :action, :
|
145
|
-
validates :credit_limit, :
|
146
|
-
validates :phone_number, :
|
200
|
+
validates :action, presence: true, on: :create
|
201
|
+
validates :credit_limit, presence: true, on: :save
|
202
|
+
validates :phone_number, presence: true, on: :update
|
147
203
|
|
148
204
|
validates_numericality_of :age,
|
149
|
-
:
|
150
|
-
:
|
151
|
-
:
|
205
|
+
greater_than_or_equal_to: 18,
|
206
|
+
less_than_or_equal_to: 99,
|
207
|
+
only_integer: true
|
152
208
|
validates_numericality_of :amount,
|
153
|
-
:
|
154
|
-
:
|
155
|
-
:
|
209
|
+
greater_than: :min_amount,
|
210
|
+
less_than: :max_amount,
|
211
|
+
only_integer: true
|
156
212
|
validates_numericality_of :attempts,
|
157
|
-
:
|
158
|
-
:
|
159
|
-
:
|
160
|
-
validates_length_of :name, :
|
161
|
-
validates_length_of :description, :
|
162
|
-
validates_length_of :action, :
|
163
|
-
validates_length_of :home_picture, :
|
213
|
+
greater_than_or_equal_to: :min_attempts,
|
214
|
+
less_than_or_equal_to: :max_attempts,
|
215
|
+
only_integer: true
|
216
|
+
validates_length_of :name, maximum: 25
|
217
|
+
validates_length_of :description, maximum: 50
|
218
|
+
validates_length_of :action, maximum: 10, tokenizer: lambda { |str| str.scan(/\w+/) }
|
219
|
+
validates_length_of :home_picture, is: 12
|
164
220
|
|
165
221
|
def min_amount
|
166
222
|
10
|
@@ -182,26 +238,21 @@ end
|
|
182
238
|
class OtherValidatingUser < User
|
183
239
|
include ActiveModel::Validations
|
184
240
|
validates_numericality_of :age,
|
185
|
-
:
|
186
|
-
:
|
187
|
-
:
|
241
|
+
greater_than: 17,
|
242
|
+
less_than: 100,
|
243
|
+
only_integer: true
|
188
244
|
validates_numericality_of :amount,
|
189
|
-
:
|
190
|
-
:
|
191
|
-
:
|
245
|
+
greater_than: Proc.new { |user| user.age },
|
246
|
+
less_than: Proc.new { |user| user.age + 100 },
|
247
|
+
only_integer: true
|
192
248
|
validates_numericality_of :attempts,
|
193
|
-
:
|
194
|
-
:
|
195
|
-
:
|
196
|
-
|
197
|
-
validates_format_of :country, :with => /\w+/
|
249
|
+
greater_than_or_equal_to: Proc.new { |user| user.age },
|
250
|
+
less_than_or_equal_to: Proc.new { |user| user.age + 100 },
|
251
|
+
only_integer: true
|
198
252
|
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
else
|
203
|
-
validates_format_of :name, :with => /\w+/
|
204
|
-
end
|
253
|
+
validates_format_of :country, with: /\w+/
|
254
|
+
validates_format_of :name, with: Proc.new { /\w+/ }
|
255
|
+
validates_format_of :description, without: /\d+/
|
205
256
|
end
|
206
257
|
|
207
258
|
class HashBackedAuthor < Hash
|
@@ -214,3 +265,6 @@ class HashBackedAuthor < Hash
|
|
214
265
|
'hash backed author'
|
215
266
|
end
|
216
267
|
end
|
268
|
+
|
269
|
+
class UserNumber1And2 < User
|
270
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,16 +1,14 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'bundler/setup'
|
3
2
|
|
4
|
-
require '
|
5
|
-
require 'mocha/setup'
|
3
|
+
require 'minitest/autorun'
|
6
4
|
|
7
5
|
require 'active_model'
|
8
6
|
require 'action_controller'
|
9
7
|
require 'action_view'
|
8
|
+
ActionView::RoutingUrlFor.send(:include, ActionDispatch::Routing::UrlFor)
|
9
|
+
|
10
10
|
require 'action_view/template'
|
11
11
|
|
12
|
-
# Rails 3.0.4 is missing this "deprecation" require.
|
13
|
-
require 'active_support/core_ext/module/deprecation'
|
14
12
|
require 'action_view/test_case'
|
15
13
|
|
16
14
|
module Rails
|
@@ -32,47 +30,42 @@ I18n.default_locale = :en
|
|
32
30
|
|
33
31
|
require 'country_select'
|
34
32
|
|
35
|
-
|
33
|
+
if defined?(HTMLSelector::NO_STRIP)
|
34
|
+
HTMLSelector::NO_STRIP << "label"
|
35
|
+
else
|
36
|
+
ActionDispatch::Assertions::NO_STRIP << "label"
|
37
|
+
end
|
38
|
+
|
39
|
+
if ActiveSupport::TestCase.respond_to?(:test_order=)
|
40
|
+
ActiveSupport::TestCase.test_order = :random
|
41
|
+
end
|
36
42
|
|
37
43
|
class ActionView::TestCase
|
38
44
|
include MiscHelpers
|
39
45
|
include SimpleForm::ActionViewExtensions::FormHelper
|
40
46
|
|
41
47
|
setup :set_controller
|
42
|
-
setup :
|
48
|
+
setup :setup_users
|
43
49
|
|
44
50
|
def set_controller
|
45
51
|
@controller = MockController.new
|
46
52
|
end
|
47
53
|
|
48
|
-
def
|
49
|
-
@user = User.
|
50
|
-
|
51
|
-
|
52
|
-
:
|
53
|
-
:
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
:
|
61
|
-
:
|
62
|
-
|
63
|
-
:amount => 15,
|
64
|
-
:attempts => 1,
|
65
|
-
:company => [1]
|
66
|
-
}.merge(options))
|
67
|
-
|
68
|
-
@other_validating_user = OtherValidatingUser.new({
|
69
|
-
:id => 1,
|
70
|
-
:name => 'New in SimpleForm!',
|
71
|
-
:description => 'Hello!',
|
72
|
-
:created_at => Time.now,
|
73
|
-
:age => 19,
|
74
|
-
:company => 1
|
75
|
-
}.merge(options))
|
54
|
+
def setup_users(extra_attributes = {})
|
55
|
+
@user = User.build(extra_attributes)
|
56
|
+
|
57
|
+
@validating_user = ValidatingUser.build({
|
58
|
+
home_picture: 'Home picture',
|
59
|
+
age: 19,
|
60
|
+
amount: 15,
|
61
|
+
attempts: 1,
|
62
|
+
company: [1]
|
63
|
+
}.merge!(extra_attributes))
|
64
|
+
|
65
|
+
@other_validating_user = OtherValidatingUser.build({
|
66
|
+
age: 19,
|
67
|
+
company: 1
|
68
|
+
}.merge!(extra_attributes))
|
76
69
|
end
|
77
70
|
|
78
71
|
def protect_against_forgery?
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
5
|
-
prerelease:
|
4
|
+
version: 3.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- José Valim
|
@@ -11,42 +10,38 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date:
|
13
|
+
date: 2015-09-22 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: activemodel
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
18
|
requirements:
|
21
19
|
- - ~>
|
22
20
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
21
|
+
version: '4.0'
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
25
|
requirements:
|
29
26
|
- - ~>
|
30
27
|
- !ruby/object:Gem::Version
|
31
|
-
version: '
|
28
|
+
version: '4.0'
|
32
29
|
- !ruby/object:Gem::Dependency
|
33
30
|
name: actionpack
|
34
31
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
32
|
requirements:
|
37
33
|
- - ~>
|
38
34
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
35
|
+
version: '4.0'
|
40
36
|
type: :runtime
|
41
37
|
prerelease: false
|
42
38
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
39
|
requirements:
|
45
40
|
- - ~>
|
46
41
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
42
|
+
version: '4.0'
|
48
43
|
description: Forms made easy!
|
49
|
-
email:
|
44
|
+
email: opensource@plataformatec.com.br
|
50
45
|
executables: []
|
51
46
|
extensions: []
|
52
47
|
extra_rdoc_files: []
|
@@ -65,7 +60,6 @@ files:
|
|
65
60
|
- lib/generators/simple_form/templates/README
|
66
61
|
- lib/generators/simple_form/USAGE
|
67
62
|
- lib/simple_form/action_view_extensions/builder.rb
|
68
|
-
- lib/simple_form/action_view_extensions/builder.rb.orig
|
69
63
|
- lib/simple_form/action_view_extensions/form_helper.rb
|
70
64
|
- lib/simple_form/components/errors.rb
|
71
65
|
- lib/simple_form/components/hints.rb
|
@@ -78,10 +72,8 @@ files:
|
|
78
72
|
- lib/simple_form/components/placeholders.rb
|
79
73
|
- lib/simple_form/components/readonly.rb
|
80
74
|
- lib/simple_form/components.rb
|
81
|
-
- lib/simple_form/core_ext/hash.rb
|
82
75
|
- lib/simple_form/error_notification.rb
|
83
76
|
- lib/simple_form/form_builder.rb
|
84
|
-
- lib/simple_form/form_builder.rb.orig
|
85
77
|
- lib/simple_form/helpers/autofocus.rb
|
86
78
|
- lib/simple_form/helpers/disabled.rb
|
87
79
|
- lib/simple_form/helpers/readonly.rb
|
@@ -108,9 +100,11 @@ files:
|
|
108
100
|
- lib/simple_form/inputs/text_input.rb
|
109
101
|
- lib/simple_form/inputs.rb
|
110
102
|
- lib/simple_form/map_type.rb
|
103
|
+
- lib/simple_form/railtie.rb
|
104
|
+
- lib/simple_form/tags.rb
|
111
105
|
- lib/simple_form/version.rb
|
112
|
-
- lib/simple_form/version.rb.orig
|
113
106
|
- lib/simple_form/wrappers/builder.rb
|
107
|
+
- lib/simple_form/wrappers/leaf.rb
|
114
108
|
- lib/simple_form/wrappers/many.rb
|
115
109
|
- lib/simple_form/wrappers/root.rb
|
116
110
|
- lib/simple_form/wrappers/single.rb
|
@@ -153,34 +147,28 @@ files:
|
|
153
147
|
- test/support/models.rb
|
154
148
|
- test/test_helper.rb
|
155
149
|
homepage: https://github.com/plataformatec/simple_form
|
156
|
-
licenses:
|
150
|
+
licenses:
|
151
|
+
- MIT
|
152
|
+
metadata: {}
|
157
153
|
post_install_message:
|
158
154
|
rdoc_options: []
|
159
155
|
require_paths:
|
160
156
|
- lib
|
161
157
|
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
158
|
requirements:
|
164
|
-
- -
|
159
|
+
- - '>='
|
165
160
|
- !ruby/object:Gem::Version
|
166
161
|
version: '0'
|
167
|
-
segments:
|
168
|
-
- 0
|
169
|
-
hash: -389428450847468473
|
170
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
163
|
requirements:
|
173
|
-
- -
|
164
|
+
- - '>='
|
174
165
|
- !ruby/object:Gem::Version
|
175
166
|
version: '0'
|
176
|
-
segments:
|
177
|
-
- 0
|
178
|
-
hash: -389428450847468473
|
179
167
|
requirements: []
|
180
168
|
rubyforge_project: simple_form
|
181
|
-
rubygems_version:
|
169
|
+
rubygems_version: 2.0.3
|
182
170
|
signing_key:
|
183
|
-
specification_version:
|
171
|
+
specification_version: 4
|
184
172
|
summary: Forms made easy!
|
185
173
|
test_files:
|
186
174
|
- test/action_view_extensions/builder_test.rb
|