active_form_model 0.4.1 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -1
- data/Gemfile +4 -0
- data/README.md +1 -1
- data/active_form_model.gemspec +2 -4
- data/lib/active_form_model/permittable.rb +14 -16
- data/lib/active_form_model/version.rb +1 -1
- data/lib/active_form_model/virtual.rb +1 -1
- data/lib/generators/active_form_model/form_generator.rb +1 -1
- metadata +6 -33
- /data/lib/generators/active_form_model/templates/{form.erb → form.rb} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de72c984ffa5024c2d6a9fc463f1b5172fab8fd277ac2b4d0e63ecab4cac0fb0
|
4
|
+
data.tar.gz: 447721a252e308d83e003cbe6eeba66b1962887519b1e0d2b1d965d07e10b24a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a01bb1ed3a10f455cbdaa366fc9cd1d23c41fc57650efe10b57817369f5d476eabe26e82ba8add31ed754fb9f77ddf396fe523f40c9acc45709c750139c1c276
|
7
|
+
data.tar.gz: 38bdf5f2dc51c249c04d41fb0fbb7c57d008c4a745dd5c783e0be54188ea68ce7d8893480d9f148f1eee2f9c457381586b1939f39bd0fb8b56a4ebf71146f0e5
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -49,7 +49,7 @@ class UserSignUpForm < User
|
|
49
49
|
include ActiveFormModel
|
50
50
|
|
51
51
|
# list all the permitted params
|
52
|
-
|
52
|
+
permit :first_name, :email, :password
|
53
53
|
|
54
54
|
# add validation if necessary
|
55
55
|
# they will be merged with base class' validation
|
data/active_form_model.gemspec
CHANGED
@@ -12,12 +12,13 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = 'Based on inheritance'
|
13
13
|
spec.homepage = 'https://github.com/Hexlet/active_form_model'
|
14
14
|
spec.license = 'MIT'
|
15
|
-
spec.required_ruby_version = Gem::Requirement.new('>=
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.0.0')
|
16
16
|
|
17
17
|
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
18
18
|
|
19
19
|
spec.metadata['homepage_uri'] = spec.homepage
|
20
20
|
spec.metadata['source_code_uri'] = 'https://github.com/Hexlet/form-model.git'
|
21
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
21
22
|
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
22
23
|
|
23
24
|
# Specify which files should be added to the gem when it is released.
|
@@ -30,7 +31,4 @@ Gem::Specification.new do |spec|
|
|
30
31
|
spec.require_paths = ['lib']
|
31
32
|
|
32
33
|
spec.add_dependency('activesupport', '>= 3')
|
33
|
-
|
34
|
-
spec.add_development_dependency('actionpack', '>= 5')
|
35
|
-
spec.add_development_dependency('activemodel', '>= 5')
|
36
34
|
end
|
@@ -1,34 +1,32 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'active_support/deprecation
|
3
|
+
require 'active_support/deprecation'
|
4
|
+
require 'active_support/core_ext/class/attribute'
|
4
5
|
|
5
6
|
module ActiveFormModel
|
6
7
|
module Permittable
|
7
8
|
extend ActiveSupport::Concern
|
8
9
|
|
9
10
|
included do
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
module Prepended
|
14
|
-
def initialize(attrs = {})
|
15
|
-
permitted_attrs = permit_attrs(attrs)
|
16
|
-
super(permitted_attrs)
|
17
|
-
end
|
11
|
+
class_attribute(:_permitted_args, instance_predicate: false, default: [])
|
18
12
|
end
|
19
13
|
|
20
14
|
class_methods do
|
21
|
-
def
|
22
|
-
|
15
|
+
def new(attrs = nil, &block)
|
16
|
+
attrs = _permit_attrs(attrs) if attrs
|
17
|
+
|
18
|
+
super
|
23
19
|
end
|
24
20
|
|
25
21
|
def permit(*args)
|
26
|
-
|
27
|
-
@_permitted_args = args
|
22
|
+
self._permitted_args = _permitted_args | args
|
28
23
|
end
|
29
24
|
|
30
|
-
|
31
|
-
|
25
|
+
alias_method :fields, :permit
|
26
|
+
deprecate fields: :permit, deprecator: ActiveSupport::Deprecation.new('0.6.0', 'ActiveFormModel')
|
27
|
+
|
28
|
+
def _permit_attrs(attrs)
|
29
|
+
attrs.respond_to?(:permit) ? attrs.send(:permit, _permitted_args) : attrs
|
32
30
|
end
|
33
31
|
end
|
34
32
|
|
@@ -50,7 +48,7 @@ module ActiveFormModel
|
|
50
48
|
private
|
51
49
|
|
52
50
|
def permit_attrs(attrs)
|
53
|
-
|
51
|
+
self.class._permit_attrs(attrs)
|
54
52
|
end
|
55
53
|
end
|
56
54
|
end
|
@@ -7,7 +7,7 @@ module ActiveFormModel
|
|
7
7
|
source_root File.expand_path('templates', __dir__)
|
8
8
|
|
9
9
|
def create_form
|
10
|
-
template 'form.rb', File.join('app/forms', class_path, "#{file_name}_form.
|
10
|
+
template 'form.rb', File.join('app/forms', class_path, "#{file_name}_form.rb")
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_form_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kirill
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,34 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: actionpack
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '5'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '5'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: activemodel
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '5'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '5'
|
55
27
|
description: Based on inheritance
|
56
28
|
email:
|
57
29
|
- mokevnin@gmail.com
|
@@ -77,13 +49,14 @@ files:
|
|
77
49
|
- lib/active_form_model/virtual.rb
|
78
50
|
- lib/generators/active_form_model/USAGE
|
79
51
|
- lib/generators/active_form_model/form_generator.rb
|
80
|
-
- lib/generators/active_form_model/templates/form.
|
52
|
+
- lib/generators/active_form_model/templates/form.rb
|
81
53
|
homepage: https://github.com/Hexlet/active_form_model
|
82
54
|
licenses:
|
83
55
|
- MIT
|
84
56
|
metadata:
|
85
57
|
homepage_uri: https://github.com/Hexlet/active_form_model
|
86
58
|
source_code_uri: https://github.com/Hexlet/form-model.git
|
59
|
+
rubygems_mfa_required: 'true'
|
87
60
|
post_install_message:
|
88
61
|
rdoc_options: []
|
89
62
|
require_paths:
|
@@ -92,14 +65,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
92
65
|
requirements:
|
93
66
|
- - ">="
|
94
67
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
68
|
+
version: 3.0.0
|
96
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
70
|
requirements:
|
98
71
|
- - ">="
|
99
72
|
- !ruby/object:Gem::Version
|
100
73
|
version: '0'
|
101
74
|
requirements: []
|
102
|
-
rubygems_version: 3.
|
75
|
+
rubygems_version: 3.4.10
|
103
76
|
signing_key:
|
104
77
|
specification_version: 4
|
105
78
|
summary: Painless forms for ActiveRecord
|
File without changes
|