Permalink
Browse files

Move docs into Sphinx. Changed get_all_conditions to return set_id be…

…fore group label
  • Loading branch information...
dcramer committed May 6, 2011
1 parent ebb48a9 commit 4415908750bcd8d49f4f5367ad18831729b1272a
View
@@ -3,92 +3,7 @@ Gargoyle
Gargoyle is a platform built on top of Django which allows you to switch functionality of your application on and off based on conditions.
-Screenshot
-=========
+Docs: http://readthedocs.org/docs/gargoyle/en/latest/index.html
.. image:: http://dl.dropbox.com/u/116385/Screenshots/-egenorlfjki.png
-Installation
-============
-
-Install it with pip (or easy_install)::
-
- pip install gargoyle
-
-Config
-======
-
-If you dont have `Nexus <https://github.com/dcramer/nexus>`_ already enabled, you will need to do that first.
-
-(Nexus is a replacement for your Django admin frontend, that works with django.contrib.admin)
-
-Now you just need to add Gargoyle to your ``INSTALLED_APPS``::
-
- INSTALLED_APPS = (
- ...
- 'gargoyle',
- )
-
-Usage
-=====
-
-@switch_is_active
-~~~~~~~~~~~~~~~~~
-
-Gargoyle is typically used in two fashions. The first and simplest, is as a decorator. The decorator will automatically integrate with filters registered to the ``User`` model, as well as IP address::
-
- from gargoyle.decorators import switch_is_active
-
- @switch_is_active('my switch name')
- def my_view(request):
- return 'foo'
-
-In the case of the switch being inactive and you are using the decorator, a 404 error is raised. You may also redirect
-the user to an absolute URL (relative to domain), or a named URL pattern::
-
- # if redirect_to starts with a /, we assume it's a url path
- @switch_is_active('my switch name', redirect_to='/my/url/path)
-
- # alternatively use the url mapper
- @switch_is_active('my switch name', redirect_to='access_denied')
-
-gargoyle.is_active
-~~~~~~~~~~~~~~~~~~
-
-The second use is with the ``is_active`` method. This allows you to perform validation on your own custom objects::
-
- from gargoyle import gargoyle
-
- def my_function(request):
- if gargoyle.is_active('my switch name', request):
- return 'foo'
- else:
- return 'bar'
-
- # with custom objects
- from gargoyle import gargoyle
-
- def my_method(user):
- if gargoyle.is_active('my switch name', user):
- return 'foo'
- else:
- return 'bar'
-
-Condition Sets
-==============
-
-Gargoyle provides an easy way to hook in your own condition sets to allow additional filters. Simply place a ConditionSet class in ``myapp/gargoyle.py`` and it will automatically discover it::
-
- from __future__ import absolute_import
- from gargoyle import gargoyle, conditions
- from django.contrib.sites.models import Site
-
- class SiteConditionSet(conditions.ModelConditionSet):
- percent = conditions.Percent()
- domain = conditions.String()
-
- gargoyle.register(SiteConditionSet(Site))
-
-And now you can pass it into is_active::
-
- gargoyle.is_active('my switch name', Site.objects.get_current())
View
@@ -0,0 +1 @@
+_build/
View
@@ -0,0 +1,130 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Gargoyle.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Gargoyle.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/Gargoyle"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Gargoyle"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ make -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
Oops, something went wrong.

0 comments on commit 4415908

Please sign in to comment.