Method: AssetType#normalize_style_rules

Defined in:
app/models/asset_type.rb

#normalize_style_rules(styles = {}) ⇒ Object

Takes a motley collection of differently-defined styles and renders them into the standard hash-of-hashes format. Solitary strings are assumed to be #



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'app/models/asset_type.rb', line 113

def normalize_style_rules(styles = {})
  styles.each_pair do |name, rule|
    unless rule.is_a? Hash
      if rule =~ /\=/
        parameters = rule.split(',').collect { |parameter| parameter.split('=') } # array of pairs
        rule = Hash[parameters].symbolize_keys # into hash of :first => last
      else
        rule = { geometry: rule } # simplest case: name:geom|name:geom
      end
    end
    rule[:geometry] ||= rule.delete(:size)
    styles[name.to_sym] = rule
  end
  styles
end