to_quickform 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/to_quickform/elements/element.rb +5 -1
- data/lib/to_quickform/erb_templates.rb +5 -1
- data/lib/to_quickform/generator.rb +14 -0
- data/lib/to_quickform/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1016c201f84078976905b3d14b5897a1591f0d43
|
4
|
+
data.tar.gz: d2b210cd8287318aa476cd674d8cb1fc399d83b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87453f71db499566f822eb2a598dcf65b2460d26c18c7a7078287bfed12a62dc6d6b5818a63602c12a428987256ab65b980c782d935afb9a197b513916800edf
|
7
|
+
data.tar.gz: cf50f1df86fbd0308283f81a6c0ffd3c929f9c34a68a984f721ab48eecadf4818ffc6e9e11ca3b530f41a8d89ebd99353ce3bccfcba437b21ef2db8dc2bed9f6
|
@@ -9,7 +9,8 @@ module ToQuickform
|
|
9
9
|
class Element < ToQuickform::Base
|
10
10
|
include ToQuickform::ERBTemplates
|
11
11
|
attr_required "type"
|
12
|
-
attr_optional "attribute", "default", "element", "label", "name",
|
12
|
+
attr_optional "attribute", "default", "element", "label", "name",
|
13
|
+
"quote_value", "rule", "separator", "text", "value"
|
13
14
|
|
14
15
|
def initialize(attributes = {})
|
15
16
|
if attributes.is_a?(Hash)
|
@@ -22,6 +23,9 @@ module ToQuickform
|
|
22
23
|
Rule.new(rule)
|
23
24
|
end
|
24
25
|
end
|
26
|
+
elsif key == "quote_value"
|
27
|
+
value = true
|
28
|
+
value = attributes[key] if attributes.key?(key)
|
25
29
|
else
|
26
30
|
value = attributes[key]
|
27
31
|
end
|
@@ -45,12 +45,16 @@ PHP
|
|
45
45
|
|
46
46
|
BASIC_SELECT_ELEMENT_TEMPLATE = <<PHP
|
47
47
|
// <%= element.name %>
|
48
|
+
<% if element.value.is_a?(Hash) || element.value.is_a?(Array) -%>
|
48
49
|
$form->addElement('<%= element.type %>', '<%= element.name %>', '', <%= ToPhpArray.dump(element.value, { :wrap => true }) %>, '<%= element.attribute %>');
|
50
|
+
<% else -%>
|
51
|
+
$form->addElement('<%= element.type %>', '<%= element.name %>', '', <%= output(element, 'value') %>, '<%= element.attribute %>');
|
52
|
+
<% end -%>
|
49
53
|
PHP
|
50
54
|
|
51
55
|
BASIC_VALUE_ELEMENT_TEMPLATE = <<PHP
|
52
56
|
// <%= element.name %>
|
53
|
-
$form->addElement('<%= element.type %>', '<%= element.name %>',
|
57
|
+
$form->addElement('<%= element.type %>', '<%= element.name %>', <%= output(element, 'value') %>, '<%= element.attribute %>');
|
54
58
|
PHP
|
55
59
|
|
56
60
|
BASIC_CREATE_ELEMENT_TEMPLATE = <<PHP
|
@@ -69,5 +69,19 @@ module ToQuickform
|
|
69
69
|
defaults.merge({ element.name => element.default })
|
70
70
|
end
|
71
71
|
end
|
72
|
+
|
73
|
+
private
|
74
|
+
|
75
|
+
def output(element, key)
|
76
|
+
output = element.send(key).to_s
|
77
|
+
output = "'#{output}'" if do_quote?(element, key)
|
78
|
+
output
|
79
|
+
end
|
80
|
+
|
81
|
+
def do_quote?(element, key)
|
82
|
+
method = "quote_" + key
|
83
|
+
return true unless element.respond_to?(method)
|
84
|
+
element.send(method)
|
85
|
+
end
|
72
86
|
end
|
73
87
|
end
|
data/lib/to_quickform/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: to_quickform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tsmsogn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|