tramway-core 1.14 → 1.14.2

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: aff2dd709eb25da798153cd9a21f3bd9f2542eb7386c64897539e9ebb516f45f
4
- data.tar.gz: e3fb920952051837900f15710c7b2538b30eb99f2edf9d01bda5d04e0b39c4c8
3
+ metadata.gz: bb5b2831168305f5fb47711c10df069683ad46ba2089053100b908b23fce11b0
4
+ data.tar.gz: 439bd89e8eb0f148698491d4665d56596999c47362a9c89e4666f66baf569cdc
5
5
  SHA512:
6
- metadata.gz: 583b78f563f4ccc605adb76f283ed94f51d44574a4c3e0a67636a8a32f7edef123829463ddf3c8a2af5de630c08c0869c8b4b3181ae81787fcf8f8dff98a5f24
7
- data.tar.gz: 5ec16b360a0def6d1ad04bfd5e520d28ca40b0915e352ad8bc23da04fbfcd045a303c167dea4562c23baa2e3b09de4ca0ba0a0f0d7771544e1179bb943411d69
6
+ metadata.gz: 19f99f6b019c6ac4fd47f5d2243e3e6acd2b67061a6c0689240a61796b9a703a0f7ec37b73010316ad48431bb65bee46be8c67072e223677331698a18298f564
7
+ data.tar.gz: e3902dcf41884d14e7f76c7675a74dfc01cf89881834712ef9753265ddc3be53b9f6d50157cee9ba510ca9a7b08b250c5d6da26100eb1e380fc18002aa34c620
@@ -32,7 +32,18 @@ module Tramway::Core
32
32
 
33
33
  def submit(params)
34
34
  if params
35
- save if validate params
35
+ if validate params
36
+ save
37
+ else
38
+ association_error = false
39
+ @@associations.each do |association|
40
+ if errors.details[association] == [{ error: :blank }]
41
+ model.send("#{association}=", send(association))
42
+ association_error = true
43
+ end
44
+ end
45
+ association_error && save
46
+ end
36
47
  else
37
48
  error = Tramway::Error.new(plugin: :core, method: :submit, message: 'ApplicationForm::Params should not be nil')
38
49
  raise error.message
@@ -47,8 +58,20 @@ module Tramway::Core
47
58
  @form_properties = args
48
59
  end
49
60
 
61
+ def form_properties_additional(**args)
62
+ @form_properties_additional = args
63
+ end
64
+
50
65
  def properties
51
- @form_properties || []
66
+ return @form_properties if @form_properties
67
+ yaml_config_file_path = Rails.root.join('app', 'forms', "#{self.class.name.underscore}.yml")
68
+ if File.exist? yaml_config_file_path
69
+ @form_properties = YAML.load_file(yaml_config_file_path).deep_symbolize_keys
70
+ @form_properties.deep_merge! @form_properties_additional if @form_properties_additional
71
+ @form_properties
72
+ else
73
+ []
74
+ end
52
75
  end
53
76
 
54
77
  def build_errors; end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Core
5
- VERSION = '1.14'
5
+ VERSION = '1.14.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-core
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.14'
4
+ version: 1.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-18 00:00:00.000000000 Z
11
+ date: 2019-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: audited
@@ -248,20 +248,14 @@ dependencies:
248
248
  requirements:
249
249
  - - ">="
250
250
  - !ruby/object:Gem::Version
251
- version: 3.5.0
252
- - - "~>"
253
- - !ruby/object:Gem::Version
254
- version: '3.5'
251
+ version: 5.0.0
255
252
  type: :runtime
256
253
  prerelease: false
257
254
  version_requirements: !ruby/object:Gem::Requirement
258
255
  requirements:
259
256
  - - ">="
260
257
  - !ruby/object:Gem::Version
261
- version: 3.5.0
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: '3.5'
258
+ version: 5.0.0
265
259
  - !ruby/object:Gem::Dependency
266
260
  name: factory_bot_rails
267
261
  requirement: !ruby/object:Gem::Requirement