rails que instalar gems gemas ruby-on-rails-3 gem initializer

ruby-on-rails-3 - que - ruby gems



Rails cómo crear un inicializador dentro de una gema (1)

Estoy tratando de construir una gema en Rails 3 y dentro de ella estoy tratando de pasar un inicializador:

Credentials.configure do |config| file = File.read("#{Rails.root}/config/twitter.yaml") file_config = YAML.load(file) config.consumer_key = file_config[Rails.env][:consumer_key] config.consumer_secret = file_config[Rails.env][:consumer_secret] config.callback_url = URI.escape(file_config[Rails.env][:callback_url]) config.time_stamp = Time.now.to_i end

y luego estoy tratando de llamarlo así:

Credentials.time_stamp

pero me sale este error:

uninitialized constant Twitter::Credentials

¿Cuál es el problema?

Gracias


Tu gema primero tendrá que definir un generador en lib / generators / your_gem_name_generator.rb

mkdir -p lib/generators/

Copie su inicializador en esa carpeta con un nombre como twitter_credentials.rb

Luego crea otro archivo en esa carpeta con un nombre como twitter_generator.rb con contenido como este:

class YourGemNameRailtie < Rails::Generators::Base source_root(File.expand_path(File.dirname(__FILE__)) def copy_initializer copy_file ''twitter_credentials.rb'', ''config/initializers/twitter_credentials.rb'' end end

Debería consultar la documentación oficial para crear un generador aquí: http://guides.rubyonrails.org/generators.html