Web interface for MailyHerald - Ruby on Rails email marketing solution.
Both Ruby on Rails 3.2 and 4 are supported.
Simply just run
gem install maily_herald-webui
or put in your Gemfile
gem "maily_herald-webui"
Mount the WebUI in your application:
# config/routes.rb
mount MailyHerald::Webui::Engine => "/maily_webui"
The simplest way to restrict access to the Maily WebUI is to use Rails routing constraints:
# config/routes.rb
mount MailyHerald::Webui::Engine => "/maily_webui", :constraints => MailyAccessConstraint.new
A sample MailyAccessConstraint
implementation might look like this:
class MailyAccessConstraint
def matches?(request)
return false unless request.session[:user_id]
user = User.find request.session[:user_id]
return user && user.admin?
end
end
HTTP Basic auth can be used too:
# config/routes.rb
MailyHerald::Webui::Engine.middleware.use Rack::Auth::Basic do |username, password|
username == ENV["MAILY_USERNAME"] && password == ENV["MAILY_PASSWORD"]
end if Rails.env.production?
mount MailyHerald::Webui::Engine, at: '/maily_webui
By default the WebUI displays entities (i.e. your users) using the to_s
method. You can easily overwrite this method in your model to see your user names in the WebUI. Example below:
class User < ActiveRecord::Base
# ...
def to_s
"#{self.firstname} #{self.lastname}"
end
end
For bug reports or feature requests see the issues on Github.
LGPLv3 License. Copyright 2013-2015 Sology. http://www.sology.eu