variable initialize define ruby sinatra deprecated activesupport

initialize - ruby define writer



El módulo InstanceMethods dentro de ActiveSupport:: Concern.. Advertencia de desaprobación (2)

En algún lugar de tu aplicación (o sus dependencias) estás haciendo

module Blah extend ActiveSupport::Concern module InstanceMethods def foo end end ... end

y Soporte Activo te está diciendo que hagas

module Blah extend ActiveSupport::Concern def foo end end

Tiene razón en que Active Support es parte de Rails, pero al igual que Active Record, también se puede usar sin el resto de Rails. Mongo Mapper lo usa, por ejemplo, y de un vistazo superficial usa el lenguaje InstanceMethods en desuso en un montón de lugares

Tengo un sitio web de cartera construido en Sinatra. No he trabajado en eso por un tiempo, he estado haciendo algunos Rails. Actualicé mi lista de gemas ayer ejecutando "actualización de gemas". No sé si esto tiene algo que ver con eso, pero comencé a trabajar en el sitio web de la cartera hoy y recibí algunas advertencias de desaprobación.

ADVERTENCIA DE DEPRECATION: El módulo InstanceMethods dentro de ActiveSupport :: Concern ya no se incluirá automáticamente. Por favor, defina los métodos de instancia directamente en Trabajo en su lugar. (llamado desde include en /Users/joris/Desktop/sinatra/portfolio/models/work.rb:2)

No estoy seguro de cómo solucionar esto y cuando ejecuto la aplicación ya no funciona ... ir a mis rutas solo devuelve la página Sinatra 404. (Además, ¿no es ActiveSupport parte de Rails? ¿Por qué aparece esto en mi aplicación Sinatra ...)

El archivo que menciona en el error es work.rb:

class Work include MongoMapper::Document key :title, String key :url, String key :filename, String key :file, String key :description, String timestamps! end

Este es mi archivo principal (portfolio.rb):

require "sinatra" require ''twitter'' require ''RedCloth'' require ''html_truncator'' require ''digest/md5'' class Portfolio < Sinatra::Application require_relative ''config/init'' require_relative ''helpers/init'' require_relative ''models/init'' require_relative ''routes/init''

El archivo de inicio de modelos (que llama al archivo work.rb) tiene estos contenidos:

require ''mongo_mapper'' MongoMapper.connection = Mongo::Connection.new(''lalaland.com'', 10070) MongoMapper.database = ''hello'' MongoMapper.database.authenticate(''lalala'', ''hello'') require_relative ''post'' require_relative ''work''

EDIT: Acabo de ver que también lo consigo para models/post.rb

ADVERTENCIA DE DEPRECATION: El módulo InstanceMethods dentro de ActiveSupport :: Concern ya no se incluirá automáticamente. Por favor, defina los métodos de instancia directamente en Publicar en su lugar. (llamado desde include en /Users/joris/Desktop/sinatra/portfolio/models/post.rb:2)