Sha256: c78414be77d54d5b8447970753b8b00cf532c5348bede627df13cced18c14256
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
require 'railsless/active_record' module Railsless module ActiveRecord module SinatraExtension def self.registered(app) unless app.respond_to?(:activerecord_config) && app.activerecord_config app.set :activerecord_config, Railsless::ActiveRecord::Config.new end app.set :database, app.database app.helpers SinatraExtensionHelper app.after { Railsless::ActiveRecord.disconnect! } end def database @database ||= Railsless::ActiveRecord.connect!(activerecord_config) end def activerecord_config=(config) @database = nil @activerecord_config = config @database = Railsless::ActiveRecord.connect!(config) end end module SinatraExtensionHelper def database settings.database end end end end # HACK: Support classic apps by automatically registering the extension, as recommended # by the Sinatra docs here: http://www.sinatrarb.com/extensions.html if defined?(Sinatra) && defined?(Sinatra::Application) # We're using classic; sinatra/main defines Sinatra::Application, so hook into that. Sinatra::Application.send(:register, ::Railsless::ActiveRecord::SinatraExtension) end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
railsless-active_record-0.0.2 | lib/railsless/active_record/sinatra_extension.rb |
railsless-active_record-0.0.1 | lib/railsless/active_record/sinatra_extension.rb |