lib/sugarcube/defaults.rb in sugarcube-0.9.3 vs lib/sugarcube/defaults.rb in sugarcube-0.9.4

- old
+ new

@@ -2,10 +2,14 @@ def get_default to_s.get_default end + def get_default_or(default) + to_s.get_default_or(default) + end + def set_default val to_s.set_default val end def remove_default @@ -15,11 +19,22 @@ end class String - def get_default + def get_default(default=nil) NSUserDefaults.standardUserDefaults.objectForKey(self) + end + + def get_default_or(default) + raise "Invalid default value" if default.nil? + + nsdefault = self.get_default + if nsdefault.nil? + self.set_default(default) + nsdefault = default + end + return nsdefault end def set_default val NSUserDefaults.standardUserDefaults.setObject(val, forKey:self) end