Tag: blabla

erstellt von max, am 19.02.2008 12:40

so. jetzt probier ichs auch mal mit einem weblog. ich bin ja nicht der mitteilungsbeduerftigste, aber dann wenn ich was les, wollt ich dann doch auch schon ab und zu meine sicht darstellen... naja und das kann ich ja jetzt. fragt sich wieso ich das z.b. nicht auf twoday oder blogr tu? weisz auch nicht.

... es ueberkommt mich immerwieder mal eine test-applikation fuer webtek zu schreiben, zu schaun obs noch klappt eine applikation from scratch zu schreiben (naja hat geklappt :) . und vielleicht steigert das auch meine motivation zu bloggen (mit meiner software)

zum inhaltlichen:

es ist ja so, dass ich immer so still und heimlich bei webtek weiterentwickle, und niemand kriegts mit. das soll sich hiermit aendern. weiters wird auch sicher immer wieder mal ein artikel ueber das eine oder andere fahrzeug (bzw. dessen reparatur) reinrutschen.

mal schaun. ich hoff das ganze versandet nicht gleich wieder.

gruesse von max.

erstellt von max, am 28.05.2008 08:43

da es jetzt hochaufloesende bilder von oberoesterreich gibt, bin ich mal auf die suche nach meinem bus gegangen, und siehe da, auch fuendig geworden. bin hier grad bei meinen grosseltern bus reparieren. vielleicht bin sogar das kleine punkterl rechts neben dem bus ich ;)


View Larger Map

erstellt von max, am 10.06.2008 20:25

hab mir soeben das rails 2.1 changelog angesehen, und dort gibt es folgende nette erweiterungen.

  • zimezones
  • dirty tracking
  • gem dependencies
  • names scope
  • utc-migrations
  • better-caching

wie immer hat rails gute ideen, und eine sehr schoene umsetzung. aber es freut mich umso mehr, dass webtek bereites schon die haelfter der features hatte :)

timezones

in rails setzt man einen before_filter:

class ApplicationController < ActionController::Base

  before_filter :set_timezone

  def set_timezone
    # current_user.time_zone #=> 'London'
    Time.zone = current_user.time_zone
  end
end

in webtek macht man das mit einem event:

event->register(
   'name' => 'request-prepare-end'
   'method' => sub { request->timezone(session->user->timezone) }
)

dirty tracking

hiermit kriegt man informationen welche felder in einem model neu sind (d.h. noch nicht in der db), und welche geaendert wurden (nach einem partial update). hier in rails:

article = Article.find(:first)
article.changed?  #=> false

# Track changes to individual attributes with
# attr_name_changed? accessor
article.title  #=> "Title"
article.title = "New Title"
article.title_changed? #=> true

# Access previous value with attr_name_was accessor
article.title_was  #=> "Title"

# See both previous and current value with attr_name_change accessor
article.title_change  #=> ["Title", "New Title"]

und wieder in webtek

$article = app::Model::Article->find_one;
$article->_lazy; # => [] liefert ein leeres array;

# Track changes to individual attributes with
# attr_name_changed? accessor
$article->title  #=> "Title"
$article->title("New Title")
$article->_lazy; # => ['title']

# Access previous value with attr_name_was accessor
$article->{'persistent_content'}->{'title'};
# => 'Title' ... gut nicht so schoen aber machbar

# See both previous and current value with attr_name_change accessor
# das geht nicht, aber man weiss zumindest was geaendert wurde
# nach dem speichern
$article->save;
$article->_updated; # => ['title']

... zugegeben, rails macht es schoener, aber immerhin, dieses feature hatte webtek schon lange

utc-migrations

gut, das ist jetzt zwar nix besonderes, aber die webtek migrations funktionieren auch genauso. hier wieder in rails

> script/generate migration one
      create  db/migrate/20080402122512_one.rb
> rake db:migrate:up
      ...
> rake db:migrate:down
      ...

und webtek:

> ./webtek migrate create Test
 => create /WebTek/app/Test/scripts/migrate/20080610220557_Test.pl
> ./webtek migrate up
       ...
> ./webtek migrate down
       ...