reform-rails 0.1.7 → 0.2.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|