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 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