-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathISModel.j
48 lines (39 loc) · 1.35 KB
/
ISModel.j
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*!
The document model. Each instance represents a specific user environment where one or more repositories have been added and possibly rearranged.
*/
@import "ISRepository.j"
var TEST_REPO_DATA = [
{ 'name': '280north/something', 'is_private': YES, 'mine': 9, 'open': 31 },
{ 'name': '280north/issues', 'is_private': NO, 'mine': 9, 'open': 29 },
{ 'name': '280north/cappuccino', 'is_private': NO, 'mine': 15, 'open': 27 },
{ 'name': 'janl/mustache', 'is_private': NO, 'mine': 0, 'open': 18 },
{ 'name': 'joyent/node', 'is_private': NO, 'mine': 0, 'open': 21 }
];
ISModelRepositoriesKey = "sortedRepos";
@implementation ISModel : CPObject
{
CPMutableArray repositories @accessors;
}
- (void)init
{
if (self = [super init])
{
repositories = [];
}
return self;
}
- (void)load
{
// Load the defaults.
var defaults = [CPUserDefaults standardUserDefaults],
sortedRepos = [defaults objectForKey:ISModelRepositoriesKey];
[self setRepositories:sortedRepos || []];
// Make sure all repos are loaded from the API.
[repositories makeObjectsPerformSelector:@selector(load)];
}
- (void)save
{
var defaults = [CPUserDefaults standardUserDefaults];
[defaults setObject:[repositories copy] forKey:ISModelRepositoriesKey];
}
@end