action_form 0.2.1 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e18c2983eaed84aa8e1ed222fe8b3fc52b8513d599f33cdbc707a19f7b413967
4
- data.tar.gz: 9d0728634b329a2e92058ce7ae692d1efc59ccf43228920a48d9f42943b9f21c
3
+ metadata.gz: 93e16fca08cba7ced7cf05dfe08e026f45d9ed6fd03d1210de7b82959ee13c13
4
+ data.tar.gz: 21034909b984567b9ba419474c8afc296b44c86543d881881b69f2600560743d
5
5
  SHA512:
6
- metadata.gz: 8d323f6dc47519a8ecca04bd88bf9e00bed2a4a677b65a6b44406e1d9a87e2854c1adc69825cf0815334483d396be47ca1dd709c729b1446d0bc186642d90c9f
7
- data.tar.gz: 944a0b89f57c888d53fb6fe4e19f1caa43ed9f4a4e5b8b1611070b0f3afb456d3e8d5c1affb32c2347d0e802909be4ad2177e3152243b99c6c818c86a73d6691
6
+ metadata.gz: 16162478587b84ae6cdccbc3d3f62c01c7b1c9fe2657e8f1f1ec3486df05f30d45798c46700c7790d49c68b8cade708d730dfbea2f57726e1d5e472ed87b9d78
7
+ data.tar.gz: 064b00adb4bffe1b124eaf2e0e12f14028fb50648e161a98cfe933c9e19207b40f6e59fa69134018d1a540dce11c7c383a7ccc2781738a6b9aebd7097e9b49c4
@@ -13,7 +13,16 @@ module ActionForm
13
13
  EasyParams::Base
14
14
  end
15
15
 
16
- def params_definition(*) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
16
+ def params_definition(*)
17
+ @params_definition ||= create_params_definition
18
+ end
19
+
20
+ def params(&block)
21
+ @params_definition = create_params_definition(&block)
22
+ @params_definition.class_eval(&block) if block
23
+ end
24
+
25
+ def create_params_definition # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
17
26
  schema = Class.new(params_class)
18
27
  elements.each do |name, element_definition|
19
28
  if element_definition < ActionForm::SubformsCollection
@@ -40,7 +49,11 @@ module ActionForm
40
49
  end
41
50
 
42
51
  module InstanceMethods # rubocop:disable Style/Documentation
43
- def params_definition(*) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
52
+ def params_definition(*)
53
+ @params_definition ||= create_params_definition
54
+ end
55
+
56
+ def create_params_definition # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
44
57
  schema = Class.new(self.class.params_class)
45
58
  elements_instances.select(&:render?).each do |element|
46
59
  case element
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActionForm
4
- VERSION = "0.2.1"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrii Baran
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '0.7'
18
+ version: '0.8'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '0.7'
25
+ version: '0.8'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: phlex
28
28
  requirement: !ruby/object:Gem::Requirement