Commit Graph

63 Commits

Author SHA1 Message Date
Martin Frost e012413a35 Explicitly `unquote(isn_type)` in Isn.Base
This gets rid of `@isn_type` in Isn.Base. It was only ever there because I had
to store it somewhere, since compile-time macro parameters are not available to
a function at runtime.
2015-06-10 08:24:24 +02:00
Martin Frost 15385bfc6b Use __CALLER__ to determine isn datatype
`__CALLER__.module` contains enough information to determine what datatype to
use, so the usage of `Isn.Base` can be simplified to the following

```elixir
defmodule Isn.ISBN13 do
  use Isn.Base
end
```

instead of

```elixir
defmodule Isn.ISBN13 do
  use Isn.Base, :isbn13
end
```
2015-06-02 08:03:17 +02:00
Martin Frost f3514497fd Add eh for documentation lookup 2015-06-02 08:03:03 +02:00
Martin Frost c0eb9ec41f Added better documentation. 2015-05-27 19:38:26 +02:00
Martin Frost 6d2965b549 add ex_doc as dev dependency 2015-05-27 19:20:23 +02:00
Martin Frost dc10bf84ad added files to package listing in mix.exs 2015-05-27 19:19:03 +02:00
Martin Frost f076bd5ec5 Flesh out readme to actually be useful 2015-05-27 19:13:05 +02:00
Martin Frost ba23be86bb v0.1: Flesh out library with all types in isn
Restructuring: Isn.Extension is now called Isn, which means that the postgrex
configuration line becomes a bit shorter now:

```elixir
{:ok, pid} = Postgrex.Connection.start_link(
  database: "isn_test",
  extensions: [{Isn, {}}])
```

instead of the previous version, with `extensions: [{Isn.Extension, {}}]`.

I also implement the entire library in the `lib/isn.ex` file, since it felt
pretty silly to have eight different one-line files under `lib/isn/` looking
like this: `defmodule Isn.ISBN, do: use(Isn.Base, :isbn)`

We now have the following types:

- ISBN
- ISBN13
- ISMN
- ISMN13
- ISSN
- ISSN13
- EAN13
- UPC
2015-05-27 18:22:51 +02:00
Martin Frost 0cfd44c402 added basic tests for ISBN13 2015-05-27 08:15:21 +02:00
Martin Frost 00cd25485e Added encode/decode tests for postgrex extension 2015-05-21 08:46:07 +02:00
Martin Frost 4b2fe9d0b8 use :text as format 2015-05-05 23:32:38 +02:00
Martin Frost 56d8031c25 remove infinite loop in Isn.Base 2015-05-05 23:27:50 +02:00
Martin Frost 41c9c85cd6 WIP 2015-05-05 22:15:40 +02:00