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 +4 -4
- data/app/forms/tramway/core/extendable_form.rb +16 -11
- data/lib/tramway/core/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 581b7fa3a57d85bc9922cfdd0504ab8ff71b1fd108cb4c031bbd9abd2d82ec81
|
4
|
+
data.tar.gz: bf9503ffadd316242ac8fac203a66e246f53c6b705009ad11a4e9ad0534ca45b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
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.
|
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
|
-
|
17
|
-
|
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
|
data/lib/tramway/core/version.rb
CHANGED