Module: SiteMaps::Builder::Normalizer
Instance Method Summary collapse
- #format_float(value) ⇒ Object
- #w3c_date(date) ⇒ Object
- #yes_or_no(value) ⇒ Object
- #yes_or_no_with_default(value, default) ⇒ Object
Instance Method Details
#format_float(value) ⇒ Object
7 8 9 |
# File 'lib/site_maps/builder/normalizer.rb', line 7 def format_float(value) value.is_a?(String) ? value : ("%0.1f" % value) end |
#w3c_date(date) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/site_maps/builder/normalizer.rb', line 23 def w3c_date(date) if date.is_a?(String) date elsif date.respond_to?(:iso8601) date.iso8601.sub(/Z$/i, "+00:00") elsif date.is_a?(Date) && defined?(DateTime) && !date.is_a?(DateTime) date.strftime("%Y-%m-%d") else zulutime = if defined?(DateTime) && date.is_a?(DateTime) date.new_offset(0) elsif date.respond_to?(:utc) date.utc elsif date.is_a?(Integer) Time.at(date).utc end if zulutime zulutime.strftime("%Y-%m-%dT%H:%M:%S+00:00") else zone = date.strftime("%z").insert(-3, ":") date.strftime("%Y-%m-%dT%H:%M:%S") + zone end end end |
#yes_or_no(value) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/site_maps/builder/normalizer.rb', line 11 def yes_or_no(value) if value.is_a?(String) && value.match?(/\A(yes|no)\z/i) value.downcase else value ? "yes" : "no" end end |
#yes_or_no_with_default(value, default) ⇒ Object
19 20 21 |
# File 'lib/site_maps/builder/normalizer.rb', line 19 def yes_or_no_with_default(value, default) value.nil? ? yes_or_no(default) : yes_or_no(value) end |