php-formula/php/ng/macro.jinja
sc250024 1e3e3032f3 New structure for new Ubuntu PPA and other fixes (#113)
* Initial commit for new branch

* Quick change to base test files

* Updated map.jinja, added `php` dependency for all subformulas

* Fixing mongo module and map.jinja needed OpenSSL dev libraries

* Should be final changes needed for Mongo module

* Updating Suhosin package since many distros don't have package in their
repos anymore

* Generalizing suhosin module, and updating pillar.example for new PPA

* Adding addtional logic for RedHat based families to Suhosin

* Initial commit of NG refactored map.jinja file

* Deleting FFMpeg state file since the module is quite old, and has been
replaced by using a Composer library. See
https://github.com/PHP-FFMpeg/PHP-FFMpeg for details

* Updating NG formulas for new definitions

* Removing 'twig' as a state since it can be installed via Composer

* Changes to installed.jinja to set correct PHP path based on version

* NG Composer and NG Suhosin changes

* Version bump and deleting README for deleted states

* Finished refactor of NG map.jinja file

* Adding trailing commas (forgot them earler)

* Adding changes list, and modifying map file for missing definitions when
using Ubuntu 16.04 and NOT using a PPA

* Changes needed after performing testing on RHEL 7

* Changes needed for Ubuntu Trusty without using PPA

* Removing testing files; keep on local

* Map changes needed after testing Debian Jessie

* Changed needed for Debian Wheezy

* Adding more pkgs for Arch Linux support

* More ArchLinux support

* Stupid tabs

* Removing extra line breaks, and using the general "use_external_repo" in
the future if DotDeb (Debian) or Webtactic (RedHat)

* Accoutning for Precise `phpenmod` and others
2016-12-13 13:37:53 -08:00

30 lines
945 B
Django/Jinja

# -*- coding: utf-8 -*-
# vim: ft=jinja
{# Returns a generic block of values suitable for inclusion in most states #}
{% macro sls_block(dict, ind=4) %}
{% for key, value in dict.items() %}
{{ '-'|indent(ind, True) }} {{ key }}: {{ value|json() }}
{% endfor %}
{% endmacro %}
{# Serializes dicts into sequenced data #}
{%- macro serialize(data) -%}
{%- if data is mapping -%}
{%- set ret = [] -%}
{%- for key, value in data.items() -%}
{%- set value = serialize(value)|load_json() -%}
{%- do ret.append({key: value}) -%}
{%- endfor -%}
{%- elif data is iterable and data is not string -%}
{%- set ret = [] -%}
{%- for value in data -%}
{%- set value = serialize(value)|load_json() -%}
{%- do ret.append(value) -%}
{%- endfor -%}
{%- else -%}
{% set ret = data %}
{%- endif -%}
{{ ret|json() }}
{%- endmacro -%}