Skip to content

Instantly share code, notes, and snippets.

View musketyr's full-sized avatar
🖥️
I may be slow to respond.

Vladimir Orany musketyr

🖥️
I may be slow to respond.
View GitHub Profile
import static eu.appsatori.gdata.gsql.SSQL.*
// Groovy 1.7 syntax
select(all).from("Spreadsheet").sheet("Worksheet").limit(10).offset(5)
select(1, "test", 5, "it").from("Spreadsheet")
select(all).from("Spreadsheet").order(by).column("Column Name").sort(desc)
// fancy new 1.8 syntax
select all from "Spreadsheet" sheet "Worksheet" limit 10 offset 5
select 1, "test", 5, "it" from "Spreadsheet"
@Canonical
class SelectBuilder {
boolean all
List<Object> columns = []
String spreadsheet
QueryBuilder from(String spreadsheet){
QueryBuilder builder = []
builder.all = this.all
builder.columns = this.columns
@musketyr
musketyr / gist:1037367
Created June 21, 2011 06:55
Order by column
def "Order by column"(){
when:
QueryBuilder query = select all from "Spreadsheet" order by column "Column Name"
then:
query.all == true
query.spreadsheet == "Spreadsheet"
query.order == "column:columnname"
}
@musketyr
musketyr / GaelykBindingsSpec.groovy
Created July 7, 2011 15:42
Gaelyk Bindings Specification
package groovyx.gaelyk
import groovyx.gaelyk.logging.LoggerAccessor;
import spock.lang.Specification
import spock.lang.Unroll;
import com.google.appengine.api.LifecycleManager;
import com.google.appengine.api.NamespaceManager;
import com.google.appengine.api.backends.BackendService;
import com.google.appengine.api.blobstore.BlobstoreService;
@musketyr
musketyr / gist:1151565
Created August 17, 2011 13:52
Gradle to CloudBees configuration
// some configurations
// this is your username, not an email! you can find it
// at https://grandcentral.cloudbees.com/account/settings
def cloudbeesUsername = 'vlada.appsatori'
def cloudbeesPassword = '#!@$***'
// this is your account name which could be found
// right bellow your username at the same page
def cloudbeesAccountName = 'appsatori'
apply plugin: 'groovy'
@musketyr
musketyr / gist:1151585
Created August 17, 2011 14:06
Using CloudBees repository in Gradle script
// some configurations
// this is your username, not an email! you can find it
// at https://grandcentral.cloudbees.com/account/settings
def cloudbeesUsername = 'vlada.appsatori'
def cloudbeesPassword = '#!@$***'
// this is your account name which could be found
// right bellow your username at the same page
def cloudbeesAccountName = 'appsatori'
repositories {
@musketyr
musketyr / gist:1167674
Created August 24, 2011 09:28
New Gaelyk category to easy datastore CRUD
[myEntityKind: 15].fetch()
[myEntityKind: 15].delete()
[myEntityKind: 15].update(property: newValue, propertyTwo: otherValue)
[myEntityKind: 15].updateIfNotSet(property: newValue)
'myEntityKind'.getAll()
'myEntityKind'.entityCount()
'myEntityKind'.create(property: newValue, propertyTwo: otherValue)
public class StartSeach implements Node<SerialPipe, Collection<Haystack>> {
public NodeResult execute(SerialPipe pipe, Collection<HayStack> haystacks){
return pipe.fork(FindNeedle.class, haystacks);
}
}
class GaelykPrecompileTemplateTask extends DefaultTask {
static HiJackGroovyShell hjgs = []
static SimpleTemplateEngine ste = [hjgs]
static String getTemplateAsScript(String template){
ste.createTemplate(template)
hjgs.scriptText
}
}
@musketyr
musketyr / gist:2367907
Created April 12, 2012 14:56
Fat JAR Task
import org.gradle.api.file.FileCollection
apply plugin: 'java'
apply plugin: 'war'
dependencies {
compile fileTree(dir: 'lib', includes: [
'a.jar',
'b.jar'
])