A small menubar app that allows you to switch between R versions quickly (if you have multiple versions of R framework installed).
https://rud.is/rswitch
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
//
// R S t u d i o S e r v e r S e s s i o n M a n a g e r . s w i f t
// R S w i t c h
//
// C r e a t e d b y h r b r m s t r o n 9 / 5 / 1 9 .
// C o p y r i g h t © 2 0 1 9 B o b R u d i s . A l l r i g h t s r e s e r v e d .
//
import Foundation
import Cocoa
import WebKit
class RStudioServerSessionManager {
var sessions : [ RStudioServerSession ] ?
init ( ) {
loadSessions ( )
}
func newSession ( url : String , title : String ) {
let s = RStudioServerSession ( url : url , title : title )
sessions ! . append ( s )
saveSessions ( )
s . show ( )
}
func deleteSession ( title : String ) {
sessions = sessions ! . filter { $0 . menuTitle != title }
saveSessions ( )
}
func saveSessions ( ) {
let sessionsData = try ! JSONEncoder ( ) . encode ( sessions )
UserDefaults . standard . set ( sessionsData , forKey : " rstudioServerSessions " )
}
func loadSessions ( ) {
let sessionsData = UserDefaults . standard . data ( forKey : " rstudioServerSessions " )
if ( sessionsData != nil ) {
sessions = try ! JSONDecoder ( ) . decode ( [ RStudioServerSession ] . self , from : sessionsData ! )
} else {
sessions = [ RStudioServerSession ] ( )
}
}
}