Plugins naar Github

Gepubliceerd op: 3.IX.2008 13:13 CEST
Categorieën: active_form, dutchify, git, plugin, rails

In blinde opruimwoede heb ik m’n huis plugins op GitHub gezet.

  • ActiveForm; zie ook active_form
    ruby script/plugin install git://github.com/remvee/active_form.git
  • Dutchify; zie ook dutchify
    ruby script/plugin install git://github.com/remvee/dutchify.git
  • Labelify; Yet Another Form Builder
    ruby script/plugin install git://github.com/remvee/labelify.git
  • NullableBooleans; boolean attributen gemakkelijker op nil zetten
    ruby script/plugin install git://github.com/remvee/nullable_booleans.git
p3t0r @ ongeveer 22 uur

Cool, kan ik lekker makkelijk meegluren.

Ik vroeg me af waarom je in die NullableBooleans die extra if in het begin hebt staan. Dit als die weg laat en nil aan de derde when toevoegt werkt het ook.. met minder code:

def self.value_to_boolean(value)
  case value.to_s.downcase
    when 'true', 't', '1'
      true
    when 'false', 'f', '0'
      false
    when 'nil', ''
      nil
    else
      false
  end
end

Of is dat performancewise niet zo slim?

p3t0r @ ongeveer 22 uur

Hmmm nu ik er nog eens over nadenk is dit eigenlijk nog korter:

def self.value_to_boolean(value)
  case value.to_s.downcase
    when 'true', 't', '1'
      true
    when 'nil', ''
      nil
    else
      false
  end
end

aangezien je default returnvalue toch false is. Bovendien ben je dan twee branches kwijt waardoor performance misschien nog beter is dan met die passthrough if.

p3t0r @ 1 dag

ik kon het niet laten:

def self.value_to_boolean(value)
  [nil, ''].include?(value) ? nil : ['true', 't', '1'].include?(value.to_s.downcase) ? true : false
end

ik geef toe dat de leesbaarheid niet optimaal meer is…

Remco @ 1 dag

Leesbaarheid (mijn versie) vind ik belangrijker dan branches of feestjes met de ternary operator. Overigens is het gebruik van ternary operators in Ruby vaak lelijk:

hungry? ? :food : :drinks

Argh.. te veel vraagtekens en dubbele punten!

Jeroen @ 6 maanden

Ik weet niet of dit de beste plek is voor zulk soort dingen maar ik wil je er even op wijzen dat Dutchify volgens mij niet meer werkt met Rails 2.2 en hoger.

Ik vermoed dat het er iets mee te maken heeft dat `default_error_messages’ deprecated is.

Remco @ 6 maanden

Eigenlijk moet je dutchify ook niet meer gebruiken omdat je sinds rails 2.2 fantastische i18n features tot je beschikking hebt.

Ik ben niet van plan dutchify aan te passen voor modernere versies van rails maar accepteer uiteraard wel patches. Fork is maar 1 klik en helemaal gratis! :)