From 06f1e40a0213e1335df90e6bb2f45fb79c6daa9e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 10 Feb 2014 18:47:02 -0500 Subject: mv DesignDocument{,-classes}.dot # and supporting changes --- docs/DesignDocument-classes.dot | 102 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 docs/DesignDocument-classes.dot (limited to 'docs/DesignDocument-classes.dot') diff --git a/docs/DesignDocument-classes.dot b/docs/DesignDocument-classes.dot new file mode 100644 index 0000000..000256d --- /dev/null +++ b/docs/DesignDocument-classes.dot @@ -0,0 +1,102 @@ +digraph systemModel { + rankdir="LR"; + splines="line"; + + subgraph _clusterModels { + label="Models" + node[shape="record"]; + + BaseModel[label="
ActiveRecord::Base (abstract)"] + User[label="
User | role | password hash"]; + } + + subgraph _clusterControllers { + label="Controllers"; + node[shape="record"]; + + ApplicationController[label="
ApplicationController (abstract)"]; + + MainController[label="
MainController | show_homepage() | edit_settings() | update_settings()"]; + TournamentsController[label="
TournamentsController | index() | new() | create() | show() | edit() | update() | end()"]; + MessagesController[label="
MessagesController"]; + LoginController[label="
LoginController | login() | logout()"]; + SearchController[label="
SearchController"]; + UsersController[label="
UsersController"]; + MatchesController[label="
MatchesController"]; + } + + subgraph _clusterViews { + label="views/"; + node[shape="rectangle"] + + layouts_application[label="layouts/application.html (abstract)"] + + subgraph clusterViewsCommon { + label="views/common/"; + common_permission_denied; + common_invalid; + } + + subgraph clusterViewsMain { + label="views/main/"; + main_homepage; + main_edit; + } + subgraph clusterViewsTournament { + label="views/tournament/"; + tournaments_index; + tournaments_new; + tournaments_show; + tournaments_edit; + } + subgraph clusterViewsMessages { + label="views/messages/"; + messages_private; + messages_new_alert; + } + } + + subgraph inheritance { + edge[arrowhead="onormal"]; + MainController:main -> ApplicationController; + ApplicationController -> MainController:main[style=invis]; + TournamentsController:main -> ApplicationController; + ApplicationController -> TournamentsController:main[style=invis]; + MessagesController:main -> ApplicationController; + ApplicationController -> MessagesController:main[style=invis]; + LoginController:main -> ApplicationController; + ApplicationController -> LoginController:main[style=invis]; + SearchController:main -> ApplicationController; + ApplicationController -> SearchController:main[style=invis]; + UsersController:main -> ApplicationController; + ApplicationController -> UsersController:main[style=invis]; + MatchesController:main -> ApplicationController; + ApplicationController -> MatchesController:main[style=invis]; + } + + subgraph controller2view { + layouts_application -> LoginController:login; + layouts_application -> LoginController:logout; + + MainController:index -> main_homepage; + MainController:edit -> main_edit -> MainController:update; + MainController:edit -> common_permission_denied; + MainController:update -> main_edit; + MainController:update -> common_permission_denied; + + TournamentsController:index -> tournaments_index; + TournamentsController:new -> tournaments_new -> TournamentsController:create; + TournamentsController:create -> tournaments_edit -> TournamentsController:end; + TournamentsController:show -> tournaments_show; + TournamentsController:edit -> tournaments_edit -> TournamentsController:update; + TournamentsController:update -> tournaments_edit + TournamentsController:edit -> common_permission_denied; + TournamentsController:end -> common_permission_denied; + + MessagesController -> messages_private; + MessagesController -> messages_new_alert; + + LoginController:login -> common_permission_denied; + LoginController:logout -> common_invalid; + } +} -- cgit v1.2.3