Skip to content

Instantly share code, notes, and snippets.

View boonshift's full-sized avatar

Boon at Shift boonshift

View GitHub Profile
@boonshift
boonshift / pin.kts
Created May 20, 2021 08:12
Pin some specific files via IntelliJ's IDE Scripting Console
import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx
val b = bindings as Map<String, Any>
val IDE = b["IDE"] as com.intellij.ide.script.IDE
val editor = FileEditorManagerEx.getInstance(IDE.project) as FileEditorManagerEx
val filesToPin = editor.openFiles.filter { it.name.contains("Scratch") }
filesToPin.forEach { f -> editor.currentWindow.setFilePinned(f, true) }
@boonshift
boonshift / db.kt
Created February 7, 2019 04:30
Simple data classes for demo.
import com.fasterxml.jackson.databind.ObjectMapper
import org.jetbrains.exposed.dao.EntityID
import org.jetbrains.exposed.dao.IntEntity
import org.jetbrains.exposed.dao.IntEntityClass
import org.jetbrains.exposed.dao.IntIdTable
val jsonMapper = ObjectMapper()
object Customers : IntIdTable() {
val name = varchar("name", 50)
@boonshift
boonshift / main.kt
Created February 7, 2019 04:29
Demonstrate use of jsonb.kt
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.transaction
import org.jetbrains.exposed.sql.vendors.DatabaseDialect
import kotlin.random.Random
// Unable to get the database dialect within Exposed...
lateinit var databaseDialect: DatabaseDialect
fun main() {
val db = "pg"
@boonshift
boonshift / jsonb.kt
Created February 7, 2019 04:28
Json addition for Exposed.
import com.fasterxml.jackson.databind.ObjectMapper
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.Function
import org.jetbrains.exposed.sql.vendors.MariaDBDialect
import org.jetbrains.exposed.sql.vendors.MysqlDialect
import org.jetbrains.exposed.sql.vendors.PostgreSQLDialect
import org.postgresql.util.PGobject
import java.sql.PreparedStatement
import java.sql.Types