No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Web UI for MailyHerald - Email processing solution for Ruby on Rails applications
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Project Readme

MailyHerald Web UI

Web interface for MailyHerald - Ruby on Rails email marketing solution.

Requirements

Both Ruby on Rails 3.2 and 4 are supported.

Installation

Simply just run

gem install maily_herald-webui

or put in your Gemfile

gem "maily_herald-webui"

Usage

Mount the WebUI in your application:

# config/routes.rb
mount MailyHerald::Webui::Engine => "/maily_webui"

Customizing

Restricting access

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

Entity names

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

More Information

For bug reports or feature requests see the issues on Github.

License

LGPLv3 License. Copyright 2013-2015 Sology. http://www.sology.eu