
شريط أدوات التصحيح لتطبيقات Rack يتم تنفيذه كوسيط (middleware)
يضيف Rack::Bug شريط أدوات تشخيص إلى تطبيقات Rack. عند التمكين، يقوم بحقن div عائم يسمح باستكشاف السجلات، استعلامات قاعدة البيانات، أوقات تقديم القوالب، إلخ.
script/plugin install git://github.com/brynary/rack-bug.git
في ملف config/environments/development.rb، أضف:
config.middleware.use "Rack::Bug",
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring"
أضف الإشارة المرجعية إلى متصفحك:
open http://RAILS_APP/__rack_bug__/bookmarklet.html
استخدم 'use Rack::Bug' كأي وسيط آخر. راجع SampleApp في مجلد spec/fixtures للحصول على مثال لتطبيق Sinatra.
إذا كنت ترغب في استخدام لوحة المسجل، عرّف الثابت LOGGER الذي هو كائن Logger من روبي أو ActiveSupport::BufferedLogger
حدد مجموعة اللوحات التي تريدها، بالترتيب الذي تريد ظهورها به:
require "rack/bug"
ActionController::Dispatcher.middleware.use Rack::Bug,
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring",
:panel_classes => [
Rack::Bug::TimerPanel,
Rack::Bug::RequestVariablesPanel,
Rack::Bug::RedisPanel,
Rack::Bug::TemplatesPanel,
Rack::Bug::LogPanel,
Rack::Bug::MemoryPanel
]
لقد وجدنا أن Rack::Bug سريع بما يكفي للتشغيل في الإنتاج لجهود استكشاف الأخطاء المحددة.
أضف تكوين الوسيط إلى ملف initializer أو ملفات البيئة المناسبة، مع مراعاة بقية هذا القسم.
تقييد الوصول لعناوين IP محددة:
require "ipaddr"
ActionController::Dispatcher.middleware.use "Rack::Bug"
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring",
:ip_masks => [IPAddr.new("2.2.2.2/0")]
تقييد الوصول باستخدام كلمة مرور:
ActionController::Dispatcher.middleware.use "Rack::Bug",
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring",
:password => "yourpassword"
الإلهام لـ Rack::Bug يأتي بشكل أساسي من شريط أدوات تصحيح Django. أفكار إضافية من حواشي Rails، وسيط ShowException في Rack، وOink، وRack::Cache
شكر لـ Weplay.com لدعم تطوير Rack::Bug
للتطوير، ستحتاج إلى تثبيت الـgems التالية: rspec، rack-test، webrat، sinatra
انظر ملف MIT-LICENSE.txt في هذا الدليل.