tramway-core 1.2.1 → 1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e329b5599abd800f82d5d745b0a436e89e3658b626b51b2abcd3e0ebaaa7c5af
4
- data.tar.gz: ac0ff717adb079f7d0bedb4c465b81495f05cb4dc6dfea3cc3d309e05c392d4c
3
+ metadata.gz: 581b7fa3a57d85bc9922cfdd0504ab8ff71b1fd108cb4c031bbd9abd2d82ec81
4
+ data.tar.gz: bf9503ffadd316242ac8fac203a66e246f53c6b705009ad11a4e9ad0534ca45b
5
5
  SHA512:
6
- metadata.gz: 292396e4f573d49d0b3778b0377d357ddd12a7d9082655b0ac1e0c953183957163f923646b70d1c6ad56e2b1f9512a3bb476741eb3c050c30664e4d655ce164f
7
- data.tar.gz: 8d3b71050ef340c24b62da6b689545e7ff0d3db45a19b1cebbbbb1ce793ec6571cebeb77417c1aa6d40b82bc655f4dbb3cf1aead9d148d1581cd3747421968bf
6
+ metadata.gz: 372b1878b5d103c39bd9297037fbf6d01aab7ee90739e96e9b0013ddf0d4710240a64988284b07372e25088ab1502e94326e5cc0e2f9a556fee816b7d88e3277
7
+ data.tar.gz: 0722f373846cbacc7abc173074ae021f4a198ed44555a90258f0a83d87036185e039fee29d9389740d387765dc1853b3064e270e38853c7e97aa8e576818b10b
@@ -1,20 +1,25 @@
1
1
  class Tramway::Core::ExtendableForm
2
2
  class << self
3
3
  def new(name, *more_properties)
4
- Object.const_set(name, Class.new(::Tramway::Core::ApplicationForm) do
5
- more_properties.each do |property|
6
-
7
- define_method property do
8
- model.values[property] if model.values
9
- end
10
-
11
- define_method "#{property}=" do |value|
4
+ if Object.const_defined? name
5
+ name.constantize
6
+ else
7
+ Object.const_set(name, Class.new(::Tramway::Core::ApplicationForm) do
8
+ define_method 'submit' do |params|
12
9
  model.values ||= {}
13
- model.values.merge! property => value
10
+ model.values = params.reduce({}) do |hash, attribute, value|
11
+ hash.merge! attribute => value
12
+ end
13
+ super params
14
14
  end
15
15
 
16
- end
17
- end)
16
+ more_properties.each do |property|
17
+ define_method property do
18
+ model.values[property] if model.values
19
+ end
20
+ end
21
+ end)
22
+ end
18
23
  end
19
24
  end
20
25
  end
@@ -1,5 +1,5 @@
1
1
  module Tramway
2
2
  module Core
3
- VERSION = '1.2.1'
3
+ VERSION = '1.3'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: '1.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov