def extract_params(str)
      return {} unless str
      str.split(',').reduce({}) do |a, k|
        a["#{k[/^[^=]*/]}".to_sym] = k[/[^=]*$/]
        a
      end
    end
def extract_params(str)
      return {} unless str
      str.split(',').reduce({}) do |a, k|
        a["#{k[/^[^=]*/]}".to_sym] = k[/[^=]*$/]
        a
      end
    end
str is like: something=xxx;another=yyy