Sha256: ba11e82c552dd622ccf26e22d4b235aee4f6be3eaad792ef018cdf2a472bd2ca

Contents?: true

Size: 920 Bytes

Versions: 43

Compression:

Stored size: 920 Bytes

Contents

class Hash

  #this method adds an key/value pair in the pattern of :<name> => [] to the hash
  #only if the key <name> doesn't already exists. this function is provided
  #due to  http post's lack of providing the checkboxes field when no cb is
  #selected. I'm pretty sure that this could be moved direcly into the model
  #or even ActiveRecord.
  def add_key_for_checkboxes name
    self[name.to_s] = [] if self.stringify_keys[name.to_s].nil?
  end

  def stringify
    inject({}) do |options, (key, value)|
      if value.is_a?(Hash) || value.is_a?(Array)
        options[key.to_s] = value.stringify
      else
        options[key.to_s] = value.to_s
      end
      options
    end
  end

  def stringify!
    each do |key, value|
      delete(key)
      if value.is_a?(Hash) || value.is_a?(Array)
        store(key.to_s, value.stringify!)
      else
        store(key.to_s, value.to_s)
      end
    end
  end

end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
alchemy_cms-2.6.3 lib/extensions/hash.rb
alchemy_cms-2.6.2.1 lib/extensions/hash.rb
alchemy_cms-2.6.2 lib/extensions/hash.rb
alchemy_cms-2.6.1 lib/extensions/hash.rb
alchemy_cms-2.6.0 lib/extensions/hash.rb
alchemy_cms-2.6.0.rc5 lib/extensions/hash.rb
alchemy_cms-2.5.3.1 lib/extensions/hash.rb
alchemy_cms-2.5.3 lib/extensions/hash.rb
alchemy_cms-2.5.2.2 lib/extensions/hash.rb
alchemy_cms-2.5.2.1 lib/extensions/hash.rb
alchemy_cms-2.5.2 lib/extensions/hash.rb
alchemy_cms-2.5.1 lib/extensions/hash.rb
alchemy_cms-2.5.0 lib/extensions/hash.rb
alchemy_cms-2.5.0.rc3 lib/extensions/hash.rb
alchemy_cms-2.5.0.b9 lib/extensions/hash.rb
alchemy_cms-2.3.2 lib/extensions/hash.rb
alchemy_cms-2.2.4 lib/extensions/hash.rb
alchemy_cms-2.4.1 lib/extensions/hash.rb
alchemy_cms-2.5.0.b5 lib/extensions/hash.rb
alchemy_cms-2.5.0.b2 lib/extensions/hash.rb