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