Tenho o Active Support 3.0.3 instalado e Rails 3.0.3 com Ruby 1.8.7.
Quando tento usar 1.week.ago
eu consigo
NoMethodError: undefined method 'week' for 1:Fixnum
from (irb):2
As outras extensões principais parecem funcionar. Eu tentei no computador de um amigo (as mesmas especificações de instalação e versões legadas estão no computador dele) com os mesmos resultados.
O que da?
Tudo isso está no IRB.
ruby-on-rails
ruby
time
extension-methods
activesupport
griotspeak
fonte
fonte
Respostas:
Já que usar Rails deve lidar com isso automaticamente, vou assumir que você está tentando adicionar suporte ativo a um script não-Rails.
Leia " Como carregar extensões principais ".
Os métodos do Active Support foram divididos em grupos menores no Rails 3, então não acabamos carregando muitas coisas desnecessárias com um simples
require 'activesupport'
. Agora temos que fazer coisas comoSe você não se importa com a granularidade, pode escolher carregar blocos maiores. Se você quer tudo em um grande gole, use ...
Para 1.9.2:
Para 1.8.7:
fonte
irbtools
. Inclui todos os tipos de ajustes no IRB. E, se precisar desabilitá-los temporariamente, ligueirb -f
e não os carregará.Você pode adicionar bibliotecas granularmente por meio do já mencionado
Há também outro nível acima, onde você pode
Mas, de momento, infelizmente não está disponível para
Time
,Date
eDateTime
.Uma maneira de contornar isso é
require 'active_support/time'
o que lhe daráTime
,Date
eDateTime
que iria resolver o OP estava pedindo sem a necessidade de tudo.O patch do My Rails , que adiciona
active_support/core_ext/date
edate_time
faz parte do Rails v4.0.0 , agora você pode solicitá- los individualmente. YAY!fonte
No meu caso, o seguinte link funcionou:
https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html
fonte
Isso funciona no console? Isso está funcionando para mim:
fonte
Você pode:
require 'active_support / core_ext'
ou:
require 'active_support / all'
fonte