12. Разни. alias, freeze, taint. RDoc

12. Разни. alias, freeze, taint. RDoc

12. Разни. alias, freeze, taint. RDoc

29 ноември 2011

Днес

Преди това...

По темата с captchas...

Captcha - Challenge Accepted

Относно пета задача...

Кодировки на source-файловете ви в Ruby

# encoding: ISO-8859-1
#използвам и този encoding и в тестовете иначе ми дава грешка
# encoding: UTF-8

Синоними на методи в Ruby

Синтаксис за синоними на методи

Семантика на синоними на методи

Синоними на методи

def to_s
  to_html
end
alias_method :to_html, :to_s
alias to_html to_s

Разлики между alias и alias_method

Разлики между alias и alias_method

създаване на синоними по време на изпълнение

class TranslationsController
  LOCALES = [:en, :de, :fr, :es, :ja]

  def completed_translations
    @current_locale = $1 if current_action_name =~ /_(\w{2})$/
  end

  LOCALES.each do |locale|
    alias_method "completed_translations_in_{locale}", completed_translations
  end
end

Забележки относно синоними на методи

Достъп до полета на класа

def inspect
  @text
end
attr_reader :text
alias_method :inspect, :text

Замразяване на обекти в Ruby

Замразяване на обекти

module Entities
  ENTITIES = {
    '&' => '&',
    '"' => '"',
    '<' => '&lt;',
    '>' => '&gt;',
  }.freeze

  ENTITY_PATTERN = /#{ENTITIES.keys.join('|')}/.freeze

  def escape(text)
    text.gsub ENTITY_PATTERN, ENTITIES
  end
end

Оцапани обекти в Ruby

Документация в Ruby

RDoc

YARD

Други - Rails API документацията

Други - API Dock

RDoc

Подробно относно RDoc

Въпроси