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