Archive for the 'ruby' Category

 

rails + omniauth + omniauth-twitter

Dec 14, 2011 in ruby

Llevo toda la tarde con el error :

Error authenticating
/auth/failure?message=invalid_response

He estado siguiendo el manual de asciicast 241 241-simplemente-omniauth

y me faltó por crear el método create_with_omniauth

/app/models/user.rb

class User < ActiveRecord::Base
  def self.create_with_omniauth(auth)
    create! do |user|
      user.provider = auth["provider"]
      user.uid = auth["uid"]
      user.name = auth["user_info"]["name"]
    end
  end
end

Ruby on Rails + Papercliip: cannot load such file — cocaine (LoadError)

Dec 12, 2011 in ruby

Estoy usando Paperclip para asociar adjuntos y al generar el modelo casca este error :

$ rails generate paperclip pet photo
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require': cannot load such file -- cocaine (LoadError)
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /home/jorge/Proyects/Clientes/elcielodelosgatos/vendor/plugins/paperclip/lib/paperclip.rb:45:in `'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /home/jorge/Proyects/Clientes/elcielodelosgatos/vendor/plugins/paperclip/init.rb:1:in `block in '
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/plugin.rb:81:in `eval'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/plugin.rb:81:in `block in '
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `instance_exec'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `run'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `each'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `run_initializers'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:96:in `initialize!'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:83:in `require'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:83:in `require_environment!'
    from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:22:in `'
    from script/rails:6:in `require'
    from script/rails:6:in `
'

Para solucionarlo, hay que instalar la gema cocaine ( A small library for doing (command) lines )

gem install cocaine

Sige apareciendo el error así que hay que agregarlo a Gemfile

echo "gem 'cocaine'" >> Gemfile

y ya funciona.

`autodetect’: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

Dec 12, 2011 in ruby

Una de ruby + rails en Debian wheezy.
Estoy tocando ruby on rails de nuevo y al actualizar rails en debian he tenido que hacer unos retoques en la instalación.

Lo primero es instalar ruby1.9.3

apt-get install  ruby1.9.3

luego, rails a la última 3.1 hay que hacerlo con gem ya que en Debian aún no está disponible

gem install rails

Pues bien, me he creado un proyecto nuevo y al ejecutar el servidor me aparece este mensaje:

$rails server
/var/lib/gems/1.9.1/gems/execjs-1.2.12/lib/execjs/runtimes.rb:47:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
	from /var/lib/gems/1.9.1/gems/execjs-1.2.12/lib/execjs.rb:5:in `<module:ExecJS>'
	from /var/lib/gems/1.9.1/gems/execjs-1.2.12/lib/execjs.rb:4:in `<top (required)>'
	from /var/lib/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
	from /var/lib/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
	from /var/lib/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each'
	from /var/lib/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require'
	from /var/lib/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each'
	from /var/lib/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require'
	from /var/lib/gems/1.9.1/gems/bundler-1.0.21/lib/bundler.rb:122:in `require'
	from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:52:in `require'
	from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:52:in `block in <top (required)>'
	from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in `tap'
	from /var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in `<top (required)>'
	from script/rails:6:in `require'
	from script/rails:6:in `<main>'

Como hace mucho que no toco rails y ha cambiado bastante me he ido a buscar a google y encontré este enlace : http://www.ruby-forum.com/topic/1899392

La solución en mi caso ha sido moficando el fichero Gemfile

echo "gem 'execjs'" >> Gemfile
echo "gem 'therubyracer'" >> Gemfile
bundle install

Con ‘bundle install’ rails se encarga de instalar lo que necesite, en mi caso ha funcionado correctamente.

[ruby] /usr/lib/ruby/1.8/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)

Apr 04, 2011 in Notas rápidas, ruby, scripting

En una actualización de una máquina Debian con un proyecto funcionando con Ruby On Rails 1.6, hemos tenido este error al reiniciar la máquina y previa actualización:

/var/www/vhosts/hostingaldescubierto.com/httpdocs/rails/script/server
/usr/lib/ruby/1.8/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require'
	from /usr/lib/ruby/1.8/active_support.rb:56
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require'
	from /var/www/vhosts/hostingaldescubierto.com/httpdocs/rails/vendor/rails/railties/lib/commands/server.rb:1
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require'
	from /var/www/vhosts/hostingaldescubierto.com/httpdocs/rails/script/server:3

Para solucionarlo hemos usado la información que nos proporciona arunagw en stackoverflow.com

Consiste en editar el fichero boot.rb y agregar al pricipio:

require 'thread'

y en environment.rb :

if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.3.7')
 module Rails
   class GemDependency
     def requirement
       r = super
       (r == Gem::Requirement.default) ? nil : r
     end
   end
 end
end

A partir de estos cambios, funciona sin problemas.

[debian][rails] Could not find [GEM] locally or in a repository

Sep 25, 2010 in Debian, Notas rápidas, ruby

Arrrrrg !!!!!!

Tiempo hacía que tenía ganas de volver a rails pero el trabajo le quita a uno la vida y las ganas :D .
Hoy he retomado un ambicioso proyecto que tengo funcionando de forma automática y que me apetece evolucionar. Para ello estoy montando mi plataforma de desarrollo e instalando el software necesario.

Llevo perdida como una hora y media intentando instalar gemas ( ‘gems’ ) de ruby, así que como ya está soucionado, aquí os dejo la solución ( con Debian claro )

El caso es que al intentar hacer algo como esto :

gem install nokogiri -r

siempre me aparecía este error :

Could not find nokogiri locally or in a repository

Al final he optado por hacer una búsqueda en el repositorio :

# gem list –remote

*** REMOTE GEMS ***

ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)
bad response Found 302 (http://gems.rubyforge.org/latest_specs.4.8)

WTF !!!

Ruby y Rails siempre me han dado la impresión de ser algo muy estable usable y funcional… vamos una JOYA .

El caso es que parce que hay algún problema con el paquete ‘gems’ de ruby y genera un fichero en ~/.gem que provoca estos contratiempos. Eliminandolo parece volver a funcionar como debe ser.

p.d.: se me ha tostao firefox mientras escribía con scribefire y me ha conversado lo que llevaba escrito !!!!

Ruby on Rails 3

Sep 01, 2010 in ruby

Ha sido liberado Ruby On Rails 3

A destacar:

  • Nuevo sistema de querys en Active Record
  • Nuevo enrutador para Action Controller
  • Nuevo Action Mailer
  • Protección XSS por defecto
  • Railties reescrito
  • Mejoras internas y de rendimiento
  • Mejorado soporte multilingüe

Más información en http://weblog.rubyonrails.org/

/var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:269:in `require_frameworks’: no such file to load — net/https (RuntimeError)

Oct 22, 2009 in Debian, ruby

Haciendo un rake db:migrate me apareció este error, otro mas :D

/var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:269:in `require_frameworks': no such file to load -- net/https (RuntimeError)

corregido con un simple comando ( que grande es Debian !!! )

apt-get install libopenssl-ruby

como autocompletar código de ruby, la fuerza del tab

Aug 25, 2008 in Debian, interfaces, ruby, scripting

Acabo de encontrar la forma en la que irb soporta autoplete, o lo que es lo mismo, que cuando escribes código, le das al punto y al tabulador y aparecen las posibles funciones y métodos que soporta.

Simplemente hay que añadir este fragmento de código a tu ~/.irbrc

IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = []  unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
  IRB.conf[:LOAD_MODULES] << 'irb/completion'
end

Así que por ahora, seguiré sin usar eclipse :D

Puedes ver el artículo original en este enlace