to_quickform 0.1.3 → 0.2.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
  SHA1:
3
- metadata.gz: 472bee2e9c8b28462114e72a754288b81b023a6d
4
- data.tar.gz: d16dda85ab2d34520a2aab0109b098b4df2a3e05
3
+ metadata.gz: 1016c201f84078976905b3d14b5897a1591f0d43
4
+ data.tar.gz: d2b210cd8287318aa476cd674d8cb1fc399d83b7
5
5
  SHA512:
6
- metadata.gz: e417c2880afdbee3708be94c93530767ada4df347cfd198869e3593271ad584669ad0d57300b1379a5026c081ba244a2c3abc44f854ff8815742113bb3466836
7
- data.tar.gz: c99221caf26b28bef77233e23ef4f6b7981b84a4dcdde64576059474457f0aecfe97134d2f9425eaf41ece085e56ad3ecce0aa87a7257f1685fc215e070567d6
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", "rule", "separator", "text", "value"
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 %>', '<%= element.value %>', '<%= element.attribute %>');
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
@@ -1,3 +1,3 @@
1
1
  module ToQuickform
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
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.1.3
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-07 00:00:00.000000000 Z
11
+ date: 2017-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport