svn ci -m …

Малко парче код, което ми се струва достатъчно интересно че да го постна.

development=# \d comments
                                     Table "public.comments"
   Column   |            Type             |   Modifiers
------------+-----------------------------+--------------------
....
 spam       | boolean                     | not null default false
 approved   | boolean                     | not null default false
...

Трябва ми име за CSS клас (pending, spam, published), като и текстов низ да покажа на потребителя (Очаква одобрение, Спам, Публикуван). Може би нещо от тоя род?

module Admin::CommentsHelper
  def status(comment)
    if comment.approved?
      return :published
    else
      if comment.spam?
        return :spam
      else
        return :pending
      end
    end
  end

  def status_name(comment)
    if comment.approved?
      #…
    End
  end
end

Не, стана грозно. Я да пробваме по друг начин:

module Admin::CommentsHelper
  def status(comment)
    {
      [false, false] => :pending,
      [false, true]  => :spam,
      [true,  false] => :published,
      [true,  true]  => :published
    }[[comment.approved?, comment.spam?]]
  end

  def status_name(comment)
    {
      :pending    => "Очаква одобрение",
      :spam       => "Спам",
      :published  => "Публикуван"
    }[status(comment)]
  end
еnd

Секси! Май съм го споменавал?

One thought on “svn ci -m …

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *