forms/top_up.rb 🔗
@@ -14,5 +14,6 @@ field(
range: @range,
var: "amount",
label: "Amount of credit to buy",
+ prefix: "$",
required: true
)
Stephen Paul Weber created
forms/top_up.rb | 1 +
lib/form_template.rb | 16 +++++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
@@ -14,5 +14,6 @@ field(
range: @range,
var: "amount",
label: "Amount of credit to buy",
+ prefix: "$",
required: true
)
@@ -91,11 +91,25 @@ class FormTemplate
).add_to_form(@__form)
end
- def field(datatype: nil, open: false, regex: nil, range: nil, **kwargs)
+ def simple_child(field, name, xmlns, content)
+ return unless content
+
+ Nokogiri::XML::Builder.with(field) do |xml|
+ xml.public_send(name, content, xmlns: xmlns)
+ end
+ end
+
+ def field(
+ datatype: nil, open: false, regex: nil, range: nil,
+ suffix: nil, prefix: nil,
+ **kwargs
+ )
f = Blather::Stanza::X::Field.new(kwargs)
if datatype || open || regex || range
validate(f, datatype: datatype, open: open, regex: regex, range: range)
end
+ simple_child(f, :x, "https://ns.cheogram.com/suffix-label", suffix)
+ simple_child(f, :x, "https://ns.cheogram.com/prefix-label", prefix)
@__form.fields += [f]
end