Current section
36 Versions
Jump to
Current section
36 Versions
Compare versions
5
files changed
+18
additions
-24
deletions
| @@ -22,4 +22,4 @@ | |
| 22 22 | [{<<"app">>,<<"xml_builder">>}, |
| 23 23 | {<<"optional">>,false}, |
| 24 24 | {<<"requirement">>,<<">= 0.0.0">>}]}]}. |
| 25 | - {<<"version">>,<<"0.5.0">>}. |
| 25 | + {<<"version">>,<<"0.5.5">>}. |
| @@ -21,9 +21,9 @@ defmodule Sitemap do | |
| 21 21 | end |
| 22 22 | |
| 23 23 | @doc false |
| 24 | - defmacro __using__(_opts) do |
| 24 | + defmacro __using__(opts) do |
| 25 25 | quote do |
| 26 | - use Sitemap.DSL |
| 26 | + use Sitemap.DSL, unquote(opts) |
| 27 27 | end |
| 28 28 | end |
| @@ -1,26 +1,32 @@ | |
| 1 1 | defmodule Sitemap.DSL do |
| 2 | - defmacro __using__(_opts) do |
| 2 | + defmacro __using__(opts) do |
| 3 3 | quote do |
| 4 | - Module.register_attribute(__MODULE__, :opts, accumulate: true) |
| 5 | - @before_compile unquote(__MODULE__) |
| 4 | + @__use_resource__ unquote(opts) |
| 6 5 | |
| 7 6 | import unquote(__MODULE__) |
| 8 7 | import Sitemap.Generator |
| 9 8 | end |
| 10 9 | end |
| 11 10 | |
| 11 | + defmacro create(options, contents) do |
| 12 | + quote do |
| 13 | + Sitemap.Config.update @__use_resource__ |
| 14 | + Sitemap.Config.update unquote(options) |
| 15 | + create unquote(contents ++ [use: false]) |
| 16 | + end |
| 17 | + end |
| 18 | + |
| 12 19 | defmacro create(contents) do |
| 13 20 | contents = |
| 14 21 | case contents do |
| 15 22 | [do: block] -> |
| 16 23 | quote do |
| 24 | + Sitemap.Config.update @__use_resource__ |
| 17 25 | unquote(block); fin |
| 18 | - :ok |
| 19 26 | end |
| 20 | - _ -> |
| 27 | + [do: block, use: false] -> |
| 21 28 | quote do |
| 22 | - try(unquote(contents)); fin |
| 23 | - :ok |
| 29 | + unquote(block); fin |
| 24 30 | end |
| 25 31 | end |
| 26 32 | |
| @@ -31,16 +37,4 @@ defmodule Sitemap.DSL do | |
| 31 37 | end) |
| 32 38 | end |
| 33 39 | |
| 34 | - defmacro alt(name, options) do |
| 35 | - quote do |
| 36 | - @opt {unquote(name), unquote(options)} |
| 37 | - end |
| 38 | - end |
| 39 | - |
| 40 | - defmacro __before_compile__(env) do |
| 41 | - opts = Module.get_attribute(env.module, :opts) |
| 42 | - quote do |
| 43 | - defp __resource__, do: unquote(opts) |
| 44 | - end |
| 45 | - end |
| 46 40 | end |
| @@ -27,7 +27,7 @@ defmodule Sitemap.Generator do | |
| 27 27 | |
| 28 28 | # def group do end |
| 29 29 | |
| 30 | - def ping_search_engines(urls \\ []) do |
| 30 | + def ping(urls \\ []) do |
| 31 31 | urls = ~w( |
| 32 32 | http://google.com/ping?sitemap= |
| 33 33 | http://www.google.com/webmasters/sitemaps/ping?sitemap= |
| @@ -9,7 +9,7 @@ defmodule Sitemap.Mixfile do | |
| 9 9 | [ |
| 10 10 | app: :sitemap, |
| 11 11 | name: "Sitemap", |
| 12 | - version: "0.5.0", |
| 12 | + version: "0.5.5", |
| 13 13 | elixir: ">= 1.0.0", |
| 14 14 | description: @description, |
| 15 15 | build_embedded: Mix.env == :prod, |