Current section

36 Versions

Jump to

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,