Расширение класса "String" в Rails 2.x - PullRequest
0 голосов
/ 26 марта 2011

Я пишу расширение для класса String как таковое:

#/lib/string.rb
Class String
   def linkme
     return self.gsub("[/link]", "</a>").gsub("[link=", "<a href='").gsub("]", "' target='_new'>")
   end
end

Однако, когда я вызываю его в консоли, я получаю следующее:

>>require 'lib/string'
SyntaxError: ./lib/string.rb:5: syntax error, unexpected kEND, expecting $end
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /home/path/to/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
    from /home/path/to/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /home/path/to/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
    from (irb):11

Я полагал, что это должно работать теоретически, так как у меня нет ...

<geek_humor> loose "end"s </geek_humor>

Это моя первая попытка действительно расширить класс, подобный этому, в Ruby, и я подумал, что у меня все хорошо, но, возможно, сообщество S / O может помочь мне завершить его.

1 Ответ

1 голос
/ 26 марта 2011

Это будет работать для вас

class String
  def linkme
    self.gsub("[/link]", "</a>").gsub("[link=", "<a href='").gsub("]", "' target='_new'>")
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...