Sha256: 0fc9ce97d19a9cb2282c19fa4f6899a4536c1ac0424743e1e0c9300092f1a10d

Contents?: true

Size: 973 Bytes

Versions: 155

Compression:

Stored size: 973 Bytes

Contents

class NSUserDefaults

  class << self
    # Retrieves the object for the passed key
    def [](key)
      self.standardUserDefaults.objectForKey(key.to_s)
    end

    # Sets the value for a given key and save it right away.
    def []=(key, val)
      if val == nil
        self.standardUserDefaults.removeObjectForKey(key)
      else
        self.standardUserDefaults.setObject(val.to_nsuserdefaults, forKey: key.to_s)
      end
      self.standardUserDefaults.synchronize
    end

    def remove(key)
      self.standardUserDefaults.removeObjectForKey(key)
      self.standardUserDefaults.synchronize
    end
  end

end


class Object
  def to_nsuserdefaults
    self
  end
end


class NilClass
  def to_nsuserdefaults
    false
  end
end


class NSArray
  def to_nsuserdefaults
    self.map { |val| val.to_nsuserdefaults }
  end
end


class NSDictionary
  def to_nsuserdefaults
    self.each_with_object({}) { |(key, val), h| h[key] = val.to_nsuserdefaults }
  end
end

Version data entries

155 entries across 155 versions & 1 rubygems

Version Path
sugarcube-4.0.0 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.5.0 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.4.2 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.4.1 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.4.0 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.7 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.6 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.5 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.4 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.3 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.2 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.1 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.3.0 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.2.0 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.1.1 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.1.0 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.0.8 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.0.7 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.0.6 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb
sugarcube-3.0.5 lib/cocoa/sugarcube-nsuserdefaults/nsuserdefaults.rb