Sha256: 5d068a88a3db8aea3f05b8377fe0aee4f42cf25a72389516f930180d2656387a

Contents?: true

Size: 837 Bytes

Versions: 2

Compression:

Stored size: 837 Bytes

Contents

class Hash
   def to_content_format
    fields = []

    self.each do |key, values|
      next if values.nil?

      key_name = 
        if key.to_s.match(/^cf_.+/)
          "CF-#{key.to_s[3..key.to_s.length].gsub(/_/, " ").camelize.humanize}"
        elsif key.to_s.match(/^CF-.+/)
          key.to_s
        elsif key.to_s.match(/^[a|A]ttachments/)
          nil
        else
          key.to_s.camelize
        end

      next if key_name.nil?

      values = [values] unless values.is_a?(Array)
      values.each do |value|
        value = Roart::ContentFormatter.format_string(value.to_s)
        fields << "#{key_name}: #{value}"
      end
    end

    content = fields.compact.sort.join("\n")
  end

  def with_indifferent_access
    hash = HashWithIndifferentAccess.new(self)
    hash.default = self.default
    hash
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ludo-roart-0.1.19 lib/roart/core/hash.rb
ludo-roart-0.1.18 lib/roart/core/hash.rb