Skip to content

Instantly share code, notes, and snippets.

@bryanchug
bryanchug / gist:8432406
Created January 15, 2014 07:55
Grails Migration Script using Groovy SQL to update using named parameters
changeSet(author: "bryanchug", id: "1383792606533-1") {
grailsChange {
change {
sql.executeUpdate('UPDATE user SET name = :name', [name: 'Bryan Chug'])
}
}
}
@bryanchug
bryanchug / gist:7313238
Created November 5, 2013 03:10
Passing in default timezone to MySQL connection via JDBC URL
@Grab(group='mysql', module='mysql-connector-java', version='5.1.6')
@GrabConfig(systemClassLoader = true)
import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/noonu?sessionVariables=time_zone='-8:00'", 'root', '', 'com.mysql.jdbc.Driver')
println sql.firstRow("select now()")
def sql2 = Sql.newInstance("jdbc:mysql://localhost:3306/noonu?sessionVariables=time_zone='%2B8:00'", 'root', '', 'com.mysql.jdbc.Driver')
println sql2.firstRow("select now()")
@bryanchug
bryanchug / steps.sh
Created July 26, 2013 22:37
A script that I use to go through each commit in the branch since the initial commit. I use this when I present a technical talk with code examples or walkthroughs.
#!/bin/bash
for commit in $(git rev-list origin/master | tail -r)
do
git reset --hard $commit
read -p "Press enter to continue..."
done
import groovy.time.TimeCategory
Date getMaxDate(){
Date maxDate
use( TimeCategory ){
maxDate = new Date() + 18.years
}
@bryanchug
bryanchug / http-builder-with-proxy.groovy
Created November 29, 2012 23:20
HTTPBuilder with Proxy
@Grapes(
@Grab(group='org.codehaus.groovy', module='http-builder', version='0.4.1')
)
import groovyx.net.http.*
import static groovyx.net.http.ContentType.*
import static groovyx.net.http.Method.*
import org.apache.http.auth.*
def http = new HTTPBuilder( 'http://www.ipchicken.com' )
@bryanchug
bryanchug / FaviconResources.groovy
Created November 14, 2012 20:04
Grails favicon declaration in Resource modules
modules = {
favicon{
resource id: 'favicon', url: [file: 'favicon.ico'], disposition: 'head'
}
}
@bryanchug
bryanchug / bash.profile
Created October 26, 2012 17:02
Running application.properties-version-specific Grails with GVM
alias grails='~/.gvm/grails/` [ -e application.properties ] && grep app.grails.version application.properties | sed s/app.grails.version=// || echo current `/bin/grails'
@bryanchug
bryanchug / Config.groovy
Created October 15, 2012 09:08
Grails Config.groovy mail config snippet to connect SMTP to Gmail
grails {
mail {
host = "smtp.gmail.com"
port = 465
username = "username@gmail.com"
password = "password"
props = ["mail.smtp.auth":"true",
"mail.smtp.socketFactory.port":"465",
"mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback":"false"]
@bryanchug
bryanchug / FooSpec.groovy
Created October 12, 2012 01:41
/src/test/groovy/FooSpec.groovy
import spock.lang.Specification
class FooSpec extends Specification {
def 'Test foo'(){
expect:
"Bryan".bar == "Bryan is foobar."
}
}
@bryanchug
bryanchug / org.codehaus.groovy.runtime.ExtensionModule
Created October 12, 2012 01:33
/src/main/resources/META-INF/services
moduleName = FooExtensions
moduleVersion = 0.1
extensionClasses = Foo