Skip to content

Instantly share code, notes, and snippets.

View hakunin's full-sized avatar

Michal Hantl hakunin

  • Ostrava, Czech Republic
  • 23:39 (UTC -12:00)
View GitHub Profile
@hakunin
hakunin / array_helper.mirah
Created February 1, 2011 08:10
helps you sort Lists and inspect them
import java.util.*
import java.lang.reflect.*
import java.lang.reflect.Method
class ArrayHelper
def self.inspect(l:List)
'['+join(l, ',')+']'
end
import java.util.HashMap
import java.util.ArrayList
import java.util.regex.Pattern
class Element
def self.select:Select
Select.new
/*
usage:
SiteMenu.new(params).
item('Dashboard', :index).
item('Users', :users).
subitem('Stories', 'users/stories').parent.
item('Features', :features).to_s
*/
@hakunin
hakunin / Rakefile
Created January 28, 2011 07:14
automatic dependncy reesolution for Dubious
begin
require 'ant'
rescue LoadError
puts 'This Rakefile requires JRuby. Please use jruby -S rake.'
exit 1
end
neighbor_mirah = File.expand_path '../mirah'
@hakunin
hakunin / application_controller.duby
Created January 14, 2011 13:19
how user is logged in and preserved even if the Dubious session goes away (which is done every recompile on dev server)
import ext.*
import models.*
import com.google.appengine.api.users.UserService
import com.google.appengine.api.users.UserServiceFactory
import java.net.*
import javax.servlet.*
import javax.servlet.http.*
class ApplicationController < MyController
@hakunin
hakunin / mirah_check.rb
Created December 15, 2010 10:06
Mirah syntax checking for Redcar editor
require 'java'
module Redcar
module SyntaxCheck
class MirahCheck < Checker
supported_grammars "Ruby"
require 'mirah-parser.jar'
import 'mirah.impl.MirahParser'
import 'jmeta.ErrorHandler'
/*
Element.select.
option("1", "one").
option("2", "two").
option("3", "three").
value("2").to_s
produces:
<select><option value="1">one</option><option selected="selected" value="2">two</option><option value="3">three</option></select>
<?php
class BasketWidget {
public static function view(Perspective $perspective) {
$b = Basket::current();
if ($b->isEmpty()) {
$items = '<a href="'.Basket::url().'">Košík</a> je prázdný';
def execute(e:RequestEvent)
puts "I am #{self}"
self.action = e.peek
puts "I am #{self}"
self.params = e
this = self
# too bad appengine doesn't honor png transparency in this case
def image
root = System.getProperty('user.dir')
originalImage = ImagesServiceFactory.makeImage(
read(root + '/voucher/test.png'))
c = Composite(ImagesServiceFactory.makeComposite(
originalImage, 0, 0, 1, Composite.Anchor.TOP_LEFT))