reform-rails 0.1.7 → 0.2.0.rc1
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.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.travis.yml +18 -9
- data/CHANGES.md +12 -1
- data/Gemfile +12 -1
- data/README.md +10 -1
- data/Rakefile +3 -1
- data/database.sqlite3 +0 -0
- data/lib/reform/form/active_model.rb +7 -4
- data/lib/reform/form/active_model/validations.rb +130 -72
- data/lib/reform/form/mongoid.rb +37 -0
- data/lib/reform/form/multi_parameter_attributes.rb +5 -1
- data/lib/reform/form/validation/unique_validator.rb +18 -4
- data/lib/reform/mongoid.rb +4 -0
- data/lib/reform/rails/railtie.rb +19 -13
- data/lib/reform/rails/version.rb +1 -1
- data/reform-rails.gemspec +1 -1
- metadata +15 -12
- data/gemfiles/Gemfile.rails-3.2 +0 -7
- data/gemfiles/Gemfile.rails-4.0 +0 -7
- data/gemfiles/Gemfile.rails-4.1 +0 -7
- data/gemfiles/Gemfile.rails-4.2 +0 -7
- data/log/development.log +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c305a6d82ff671f19e202c55d4e6ecdbb65b0d7
|
4
|
+
data.tar.gz: 50fbfe33f1cdc8ec9816fbaaba231900b028bdd8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97c4240b05d195f6005aeab035fab28577057fd0a654a78fd2ed7b212c850ed55073e72366b2fec112dba561a8e73fafc5e3d23231e3bf7eed9fa6da5551c2d4
|
7
|
+
data.tar.gz: 7121028adddb1ac1e96dc433f7887e9cfdb690fb1914b5e4b89726d29cfb68f1f9b833eaa00149bd880325601c8dd99565da1a41d4539fafbd9f68386198817b
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -2,17 +2,26 @@ language: ruby
|
|
2
2
|
cache: bundler
|
3
3
|
|
4
4
|
rvm:
|
5
|
+
- 2.1.10
|
6
|
+
- 2.2.5
|
5
7
|
- 2.3.1
|
6
|
-
- 2.
|
7
|
-
- 2.0.0
|
8
|
+
- 2.4.0
|
8
9
|
services:
|
9
10
|
- mongodb
|
10
|
-
|
11
|
-
-
|
12
|
-
-
|
13
|
-
-
|
14
|
-
-
|
15
|
-
|
16
|
-
# - gemfiles/Gemfile.rails-3.0
|
11
|
+
env:
|
12
|
+
- "RAILS_VERSION=3.2.0"
|
13
|
+
- "RAILS_VERSION=4.0.0"
|
14
|
+
- "RAILS_VERSION=4.1.0"
|
15
|
+
- "RAILS_VERSION=4.2.0"
|
16
|
+
- "RAILS_VERSION=5.0.0"
|
17
17
|
matrix:
|
18
18
|
fast_finish: true
|
19
|
+
exclude:
|
20
|
+
- rvm: 2.1.10
|
21
|
+
env: "RAILS_VERSION=5.0.0"
|
22
|
+
- rvm: 2.4.0
|
23
|
+
env: "RAILS_VERSION=3.2.0"
|
24
|
+
- rvm: 2.4.0
|
25
|
+
env: "RAILS_VERSION=4.0.0"
|
26
|
+
- rvm: 2.4.0
|
27
|
+
env: "RAILS_VERSION=4.1.0"
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
# 0.2.0
|
2
|
+
|
3
|
+
* Needs Reform >= 2.3.0.
|
4
|
+
* make the inclusion of ActiveModel form builder modules optional when using dry-validation. This can be controlled via `config.reform.enable_active_model_builder_methods = true`.
|
5
|
+
* delegate `validates_each` method and allow it to be called outside a validation block.
|
6
|
+
* add `case_sensitive` option to Reform Uniqueness validation. Defaults to true.
|
7
|
+
* fix bug in uniqueness validation where form has different attribute name to column
|
8
|
+
* improve handling of persisted records in uniqueness validator
|
9
|
+
* remove params.merge! as it's deprecated in rails 5
|
10
|
+
* update to support reform 2.3, the new API means that `errors.add` is delegated to ActiveModel::Errors so we have support for rails 5 :descriptions without having to do anything !Yey!
|
11
|
+
|
1
12
|
# 0.1.7 (0.1.6 Yanked)
|
2
13
|
|
3
14
|
* Fix a bug where requiring `form/active_model/validations` in a non-Rails environment wouldn't load all necessary files.
|
@@ -12,7 +23,7 @@
|
|
12
23
|
|
13
24
|
# 0.1.3
|
14
25
|
|
15
|
-
* Introduce a railtie to load either `ActiveModel::Validations` *or* `Dry::Validations`. This can be
|
26
|
+
* Introduce a railtie to load either `ActiveModel::Validations` *or* `Dry::Validations`. This can be controlled via `config.reform.validations = :dry`.
|
16
27
|
|
17
28
|
# 0.1.2
|
18
29
|
|
data/Gemfile
CHANGED
@@ -3,4 +3,15 @@ source 'https://rubygems.org'
|
|
3
3
|
# Specify your gem's dependencies in reform-rails.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
gem "reform",
|
6
|
+
# gem "reform", github: "trailblazer/reform"
|
7
|
+
# gem "reform", path: "../reform"
|
8
|
+
|
9
|
+
rails_version = ENV['RAILS_VERSION'] || '4.2'
|
10
|
+
|
11
|
+
# bored of wrestling with rails...
|
12
|
+
if rails_version == '4.0'
|
13
|
+
gem 'mongoid', '~> 4'
|
14
|
+
end
|
15
|
+
|
16
|
+
gem "railties", "~> #{rails_version}"
|
17
|
+
gem "activerecord", "~> #{rails_version}"
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Simply don't include this gem if you don't want to use the conventional Reform/R
|
|
14
14
|
|
15
15
|
## Documentation
|
16
16
|
|
17
|
-
The [full documentation](http://trailblazer.to/gems/reform
|
17
|
+
The [full documentation](http://trailblazer.to/gems/reform/rails.html) can be found on the Trailblazer page.
|
18
18
|
|
19
19
|
## Installation
|
20
20
|
|
@@ -26,6 +26,15 @@ gem 'reform-rails'
|
|
26
26
|
|
27
27
|
Reform-rails needs Reform >= 2.2.
|
28
28
|
|
29
|
+
## Contributing
|
30
|
+
|
31
|
+
By default your tests will run against rails 4.2.0.
|
32
|
+
Please ensure that you test your changes against all supported ruby and rails versions (see .travis.yml)
|
33
|
+
|
34
|
+
You can run tests for a specific version of rails by running the following:
|
35
|
+
|
36
|
+
`export RAILS_VERSION=4.2.0; bundle update; bundle exec rake test`
|
37
|
+
|
29
38
|
## License
|
30
39
|
|
31
40
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
data/Rakefile
CHANGED
data/database.sqlite3
CHANGED
Binary file
|
@@ -42,15 +42,19 @@ module Reform::Form::ActiveModel
|
|
42
42
|
|
43
43
|
# moved from reform as not applicable to dry
|
44
44
|
def validates(*args, &block)
|
45
|
-
validation(:default, inherit: true) { validates *args, &block }
|
45
|
+
validation(name: :default, inherit: true) { validates *args, &block }
|
46
46
|
end
|
47
47
|
|
48
48
|
def validate(*args, &block)
|
49
|
-
validation(:default, inherit: true) { validate *args, &block }
|
49
|
+
validation(name: :default, inherit: true) { validate *args, &block }
|
50
50
|
end
|
51
51
|
|
52
52
|
def validates_with(*args, &block)
|
53
|
-
validation(:default, inherit: true) { validates_with *args, &block }
|
53
|
+
validation(name: :default, inherit: true) { validates_with *args, &block }
|
54
|
+
end
|
55
|
+
|
56
|
+
def validates_each(*args, &block)
|
57
|
+
validation(name: :default, inherit: true) { validates_each *args, &block }
|
54
58
|
end
|
55
59
|
|
56
60
|
# Set a model name for this form if the infered is wrong.
|
@@ -85,7 +89,6 @@ module Reform::Form::ActiveModel
|
|
85
89
|
|
86
90
|
private
|
87
91
|
def active_model_name_for(string, namespace=nil)
|
88
|
-
return ::ActiveModel::Name.new(OpenStruct.new(:name => string)) if ::ActiveModel::VERSION::MAJOR == 3 and ::ActiveModel::VERSION::MINOR == 0 # TODO: remove when we drop rails 3.x.
|
89
92
|
::ActiveModel::Name.new(self, namespace, string)
|
90
93
|
end
|
91
94
|
end # ClassMethods
|
@@ -2,114 +2,172 @@ require "active_model"
|
|
2
2
|
require "reform/form/active_model"
|
3
3
|
require "uber/delegates"
|
4
4
|
|
5
|
-
module Reform
|
5
|
+
module Reform
|
6
|
+
module Form::ActiveModel
|
6
7
|
# AM::Validations for your form.
|
7
8
|
# Provides ::validates, ::validate, #validate, and #valid?.
|
8
9
|
#
|
9
10
|
# Most of this file contains unnecessary wiring to make ActiveModel's error message magic work.
|
10
11
|
# Since Rails still thinks it's a good idea to do things like object.class.human_attribute_name,
|
11
12
|
# we have some hacks in here to provide that. If it doesn't work for you, don't blame us.
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
13
|
+
module Validations
|
14
|
+
def self.included(includer)
|
15
|
+
includer.instance_eval do
|
16
|
+
include Reform::Form::ActiveModel
|
17
|
+
|
18
|
+
class << self
|
19
|
+
extend Uber::Delegates
|
20
|
+
# # Hooray! Delegate translation back to Reform's Validator class which contains AM::Validations.
|
21
|
+
delegates :active_model_really_sucks, :human_attribute_name, :lookup_ancestors, :i18n_scope # Rails 3.1.
|
22
|
+
|
23
|
+
def validation_group_class
|
24
|
+
Group
|
25
|
+
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
# this is to allow calls like Form::human_attribute_name (note that this is on the CLASS level) to be resolved.
|
28
|
+
# those calls happen when adding errors in a custom validation method, which is defined on the form (as an instance method).
|
29
|
+
def active_model_really_sucks
|
30
|
+
Class.new(Validator).tap do |v|
|
31
|
+
v.model_name = model_name
|
32
|
+
end
|
31
33
|
end
|
32
34
|
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def build_errors
|
38
|
-
Errors.new(self)
|
39
|
-
end
|
35
|
+
end # ::included
|
36
|
+
end
|
40
37
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
38
|
+
# The concept of "composition" has still not arrived in Rails core and they rely on 400 methods being
|
39
|
+
# available in one object. This is why we need to provide parts of the I18N API in the form.
|
40
|
+
def read_attribute_for_validation(name)
|
41
|
+
send(name)
|
42
|
+
end
|
46
43
|
|
47
|
-
class Group
|
48
44
|
def initialize(*)
|
49
|
-
|
45
|
+
super
|
46
|
+
@amv_errors = ActiveModel::Errors.new(self)
|
50
47
|
end
|
51
48
|
|
52
|
-
|
53
|
-
|
49
|
+
# Problem with this method is, it's being used in two completely different contexts: Once to add errors in validations,
|
50
|
+
# and second to expose errors for presentation.
|
51
|
+
def errors(*args)
|
52
|
+
@amv_errors
|
53
|
+
end
|
54
|
+
|
55
|
+
def validate!(params, pointers=[])
|
56
|
+
@amv_errors = ActiveModel::Errors.new(self)
|
57
|
+
|
58
|
+
super.tap do
|
59
|
+
# @fran: super ugly hack thanks to the shit architecture of AMV. let's drop it in 3.0 and move on!
|
60
|
+
all_errors = @result.instance_variable_get(:@results)
|
54
61
|
|
55
|
-
|
56
|
-
validator = @validations.new(form)
|
57
|
-
validator.valid?
|
62
|
+
@result = Reform::Contract::Result.new(all_errors)
|
58
63
|
|
59
|
-
|
60
|
-
errors.add(name, error)
|
64
|
+
@amv_errors = Result::ResultErrors.new(@result, self, @result.success?)
|
61
65
|
end
|
66
|
+
@result
|
62
67
|
end
|
63
|
-
end
|
64
68
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
69
|
+
class Group
|
70
|
+
def initialize(*)
|
71
|
+
@validations = Class.new(Reform::Form::ActiveModel::Validations::Validator)
|
72
|
+
end
|
73
|
+
|
74
|
+
extend Uber::Delegates
|
75
|
+
delegates :@validations, :validates, :validate, :validates_with, :validate_with, :validates_each
|
71
76
|
|
72
|
-
|
73
|
-
|
74
|
-
|
77
|
+
def call(form)
|
78
|
+
validator = @validations.new(form)
|
79
|
+
validator.instance_variable_set(:@errors, form.errors)
|
80
|
+
success = validator.valid? # run the validations.
|
81
|
+
|
82
|
+
Result.new(success, validator.errors.messages)
|
75
83
|
end
|
84
|
+
end
|
76
85
|
|
77
|
-
|
78
|
-
|
86
|
+
# The idea here to mimic Dry.RB's Result API.
|
87
|
+
class Result < Hash # FIXME; should this be AMV::Errors?
|
88
|
+
def initialize(success, hash)
|
89
|
+
super()
|
90
|
+
@success = success
|
91
|
+
hash.each { |k,v| self[k] = v }
|
79
92
|
end
|
80
93
|
|
81
|
-
def
|
82
|
-
|
94
|
+
def success?
|
95
|
+
@success
|
83
96
|
end
|
84
97
|
|
85
|
-
|
86
|
-
|
98
|
+
def failure?
|
99
|
+
! success?
|
87
100
|
end
|
88
101
|
|
89
|
-
def
|
102
|
+
def messages
|
103
|
+
self
|
90
104
|
end
|
91
|
-
end
|
92
105
|
|
93
|
-
|
94
|
-
|
95
|
-
|
106
|
+
# DISCUSS @FRAN: not sure this is 100% compatible with AMV::Errors?
|
107
|
+
def errors
|
108
|
+
self
|
109
|
+
end
|
110
|
+
|
111
|
+
class ResultErrors < ::Reform::Contract::Result::Errors # to expose via #errors. i hate it.
|
112
|
+
def initialize(a, b, success)
|
113
|
+
super(a, b)
|
114
|
+
@success = success
|
115
|
+
end
|
116
|
+
|
117
|
+
def empty?
|
118
|
+
@success
|
119
|
+
end
|
120
|
+
|
121
|
+
def [](k)
|
122
|
+
super || []
|
123
|
+
end
|
124
|
+
|
125
|
+
# rails expects this to return a stringified hash of the messages
|
126
|
+
def to_s
|
127
|
+
messages.to_s
|
128
|
+
end
|
129
|
+
end
|
96
130
|
end
|
97
131
|
|
98
|
-
#
|
99
|
-
#
|
132
|
+
# Validator is the validatable object. On the class level, we define validations,
|
133
|
+
# on instance, it exposes #valid?.
|
134
|
+
require "delegate"
|
135
|
+
class Validator < SimpleDelegator
|
136
|
+
# current i18n scope: :activemodel.
|
137
|
+
include ActiveModel::Validations
|
138
|
+
|
139
|
+
class << self
|
140
|
+
def model_name
|
141
|
+
@_active_model_sucks ||= ActiveModel::Name.new(Reform::Form, nil, "Reform::Form")
|
142
|
+
end
|
100
143
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
# end
|
144
|
+
def model_name=(name)
|
145
|
+
@_active_model_sucks = name
|
146
|
+
end
|
105
147
|
|
106
|
-
|
107
|
-
|
148
|
+
def validates(*args, &block)
|
149
|
+
super(*Declarative::DeepDup.(args), &block)
|
150
|
+
end
|
151
|
+
|
152
|
+
# Prevent AM:V from mutating the validator class
|
153
|
+
def attr_reader(*)
|
154
|
+
end
|
155
|
+
|
156
|
+
def attr_writer(*)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
def initialize(form)
|
161
|
+
super(form)
|
162
|
+
self.class.model_name = form.model_name
|
163
|
+
end
|
164
|
+
|
165
|
+
def method_missing(m, *args, &block)
|
166
|
+
__getobj__.send(m, *args, &block) # send all methods to the form, even privates.
|
167
|
+
end
|
108
168
|
end
|
109
169
|
end
|
110
|
-
end
|
111
170
|
|
112
|
-
|
113
|
-
include Reform::Form::Errors::Merge
|
171
|
+
|
114
172
|
end
|
115
173
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Reform::Form::Mongoid
|
2
|
+
def self.included(base)
|
3
|
+
base.class_eval do
|
4
|
+
register_feature Reform::Form::Mongoid
|
5
|
+
include Reform::Form::ActiveModel
|
6
|
+
include Reform::Form::ORM
|
7
|
+
extend ClassMethods
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
module ClassMethods
|
12
|
+
def validates_uniqueness_of(attribute, options={})
|
13
|
+
options = options.merge(:attributes => [attribute])
|
14
|
+
validates_with(UniquenessValidator, options)
|
15
|
+
end
|
16
|
+
def i18n_scope
|
17
|
+
:mongoid
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
def self.mongoid_namespace
|
23
|
+
if mongoid_is_4_or_more?
|
24
|
+
'Validatable'
|
25
|
+
else
|
26
|
+
'Validations'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.mongoid_is_4_or_more?
|
31
|
+
Mongoid::VERSION.split('.').first.to_i >= 4
|
32
|
+
end
|
33
|
+
|
34
|
+
UniquenessValidator = Class.new("::Mongoid::#{mongoid_namespace}::UniquenessValidator".constantize) do
|
35
|
+
include Reform::Form::ORM::UniquenessValidator
|
36
|
+
end
|
37
|
+
end
|
@@ -7,6 +7,12 @@
|
|
7
7
|
# validates :title, unique: true
|
8
8
|
#
|
9
9
|
# == Options
|
10
|
+
#
|
11
|
+
# = Case Sensitivity
|
12
|
+
# Case sensitivity is true by default, but can be set to false:
|
13
|
+
#
|
14
|
+
# validates :title, unique: { case_sensitive: false }
|
15
|
+
#
|
10
16
|
# = Scope
|
11
17
|
# A scope can be use to filter the records that need to be compare with the
|
12
18
|
# current value to validate. A scope array can have one to many fields define.
|
@@ -31,9 +37,19 @@
|
|
31
37
|
class Reform::Form::UniqueValidator < ActiveModel::EachValidator
|
32
38
|
def validate_each(form, attribute, value)
|
33
39
|
model = form.model_for_property(attribute)
|
40
|
+
original_attribute = form.options_for(attribute)[:private_name]
|
34
41
|
|
35
42
|
# search for models with attribute equals to form field value
|
36
|
-
query =
|
43
|
+
query = if options[:case_sensitive] == false && value
|
44
|
+
model.class.where("lower(#{original_attribute}) = ?", value.downcase)
|
45
|
+
else
|
46
|
+
model.class.where(original_attribute => value)
|
47
|
+
end
|
48
|
+
|
49
|
+
# if model persisted, query should bypass model
|
50
|
+
if model.persisted?
|
51
|
+
query = query.where("#{model.class.primary_key} != ?", model.id)
|
52
|
+
end
|
37
53
|
|
38
54
|
# apply scope if options has been declared
|
39
55
|
Array(options[:scope]).each do |field|
|
@@ -41,9 +57,7 @@ class Reform::Form::UniqueValidator < ActiveModel::EachValidator
|
|
41
57
|
query = query.where(field => form.send(field))
|
42
58
|
end
|
43
59
|
|
44
|
-
|
45
|
-
allow_count = model.persisted? ? 1 : 0
|
46
|
-
form.errors.add(attribute, :taken) if query.count > allow_count
|
60
|
+
form.errors.add(attribute, :taken) if query.count > 0
|
47
61
|
end
|
48
62
|
end
|
49
63
|
|
data/lib/reform/rails/railtie.rb
CHANGED
@@ -6,22 +6,26 @@ module Reform
|
|
6
6
|
initializer "reform.form_extensions", after: :load_config_initializers do
|
7
7
|
validations = config.reform.validations || :active_model
|
8
8
|
|
9
|
+
require "reform"
|
10
|
+
require "reform/form/multi_parameter_attributes"
|
11
|
+
|
9
12
|
if validations == :active_model
|
10
13
|
active_model!
|
11
14
|
elsif validations == :dry
|
12
|
-
|
15
|
+
enable_form_builder_methods = config.reform.enable_active_model_builder_methods || false
|
16
|
+
|
17
|
+
dry!(enable_form_builder_methods)
|
13
18
|
else
|
14
19
|
warn "[Reform::Rails] No validation backend set. Please do so via `config.reform.validations = :active_model`."
|
15
20
|
end
|
16
21
|
end
|
17
22
|
|
18
23
|
def active_model!
|
19
|
-
require "reform"
|
20
|
-
require "reform/form/active_model/model_validations"
|
21
24
|
require "reform/form/active_model/form_builder_methods"
|
22
25
|
require "reform/form/active_model"
|
26
|
+
|
27
|
+
require "reform/form/active_model/model_validations"
|
23
28
|
require "reform/form/active_model/validations"
|
24
|
-
require "reform/form/multi_parameter_attributes"
|
25
29
|
|
26
30
|
require "reform/active_record" if defined?(ActiveRecord)
|
27
31
|
require "reform/mongoid" if defined?(Mongoid)
|
@@ -35,19 +39,21 @@ module Reform
|
|
35
39
|
end
|
36
40
|
end
|
37
41
|
|
38
|
-
def dry!
|
39
|
-
|
40
|
-
|
42
|
+
def dry!(enable_am = true)
|
43
|
+
if enable_am
|
44
|
+
require "reform/form/active_model/form_builder_methods" # this is for simple_form, etc.
|
41
45
|
|
42
|
-
|
43
|
-
|
46
|
+
# This adds Form#persisted? and all the other crap #form_for depends on. Grrrr.
|
47
|
+
require "reform/form/active_model" # DISCUSS: only when using simple_form.
|
48
|
+
end
|
44
49
|
|
45
|
-
|
46
|
-
require "reform/form/active_model" # DISCUSS: only when using simple_form.
|
50
|
+
require "reform/form/dry"
|
47
51
|
|
48
52
|
Reform::Form.class_eval do
|
49
|
-
|
50
|
-
|
53
|
+
if enable_am
|
54
|
+
include Reform::Form::ActiveModel
|
55
|
+
include Reform::Form::ActiveModel::FormBuilderMethods
|
56
|
+
end
|
51
57
|
|
52
58
|
include Reform::Form::Dry
|
53
59
|
end
|
data/lib/reform/rails/version.rb
CHANGED
data/reform-rails.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "reform", ">= 2.
|
21
|
+
spec.add_dependency "reform", ">= 2.3.0.rc1", "< 3.0.0"
|
22
22
|
spec.add_dependency "activemodel", ">= 3.2"
|
23
23
|
|
24
24
|
spec.add_development_dependency "rails"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reform-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: reform
|
@@ -16,14 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.3.0.rc1
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.0.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
29
|
+
version: 2.3.0.rc1
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.0.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: activemodel
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,10 +172,6 @@ files:
|
|
166
172
|
- README.md
|
167
173
|
- Rakefile
|
168
174
|
- database.sqlite3
|
169
|
-
- gemfiles/Gemfile.rails-3.2
|
170
|
-
- gemfiles/Gemfile.rails-4.0
|
171
|
-
- gemfiles/Gemfile.rails-4.1
|
172
|
-
- gemfiles/Gemfile.rails-4.2
|
173
175
|
- lib/reform/active_record.rb
|
174
176
|
- lib/reform/form/active_model.rb
|
175
177
|
- lib/reform/form/active_model/form_builder_methods.rb
|
@@ -177,13 +179,14 @@ files:
|
|
177
179
|
- lib/reform/form/active_model/model_validations.rb
|
178
180
|
- lib/reform/form/active_model/validations.rb
|
179
181
|
- lib/reform/form/active_record.rb
|
182
|
+
- lib/reform/form/mongoid.rb
|
180
183
|
- lib/reform/form/multi_parameter_attributes.rb
|
181
184
|
- lib/reform/form/orm.rb
|
182
185
|
- lib/reform/form/validation/unique_validator.rb
|
186
|
+
- lib/reform/mongoid.rb
|
183
187
|
- lib/reform/rails.rb
|
184
188
|
- lib/reform/rails/railtie.rb
|
185
189
|
- lib/reform/rails/version.rb
|
186
|
-
- log/development.log
|
187
190
|
- reform-rails.gemspec
|
188
191
|
homepage: https://github.com/trailblazer/reform-rails
|
189
192
|
licenses:
|
@@ -200,12 +203,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
200
203
|
version: '0'
|
201
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
205
|
requirements:
|
203
|
-
- - "
|
206
|
+
- - ">"
|
204
207
|
- !ruby/object:Gem::Version
|
205
|
-
version:
|
208
|
+
version: 1.3.1
|
206
209
|
requirements: []
|
207
210
|
rubyforge_project:
|
208
|
-
rubygems_version: 2.
|
211
|
+
rubygems_version: 2.6.3
|
209
212
|
signing_key:
|
210
213
|
specification_version: 4
|
211
214
|
summary: Automatically load and include all common Rails form features.
|
data/gemfiles/Gemfile.rails-3.2
DELETED
data/gemfiles/Gemfile.rails-4.0
DELETED
data/gemfiles/Gemfile.rails-4.1
DELETED
data/gemfiles/Gemfile.rails-4.2
DELETED
data/log/development.log
DELETED
File without changes
|