diff --git a/.formatter.exs b/.formatter.exs new file mode 100644 index 0000000..d2cda26 --- /dev/null +++ b/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/.gitignore b/.gitignore index 01b6022..bf765a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,26 @@ -/_build -/cover -/deps -/doc +# The directory Mix will write compiled artifacts to. +/_build/ + +# If you run "mix test --cover", coverage assets end up here. +/cover/ + +# The directory Mix downloads your dependencies sources to. +/deps/ + +# Where third-party dependencies like ExDoc output generated docs. +/doc/ + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). *.ez -*.beam + +# Ignore package tarball (built via "mix hex.build"). +ex_marshal-*.tar + +# Temporary files, for example, from tests. +/tmp/ diff --git a/LICENSE b/LICENSE.md similarity index 98% rename from LICENSE rename to LICENSE.md index 586ee35..4e65df4 100644 --- a/LICENSE +++ b/LICENSE.md @@ -1,3 +1,5 @@ +# ISC License + Copyright (c) 2015, Damir Gaynetdinov Permission to use, copy, modify, and/or distribute this software for any diff --git a/README.md b/README.md index df63f9c..2ddfd94 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,12 @@ -# ExMarshal [![Build Status](https://travis-ci.org/gaynetdinov/ex_marshal.svg?branch=master)](https://travis-ci.org/gaynetdinov/ex_marshal) [![Hex pm](http://img.shields.io/hexpm/v/ex_marshal.svg?style=flat)](https://hex.pm/packages/ex_marshal) +# ExMarshal + +[![Build Status](https://travis-ci.org/gaynetdinov/ex_marshal.svg?branch=master)](https://travis-ci.org/gaynetdinov/ex_marshal) +[![Hex pm](http://img.shields.io/hexpm/v/ex_marshal.svg?style=flat)](https://hex.pm/packages/ex_marshal) +[![Module Version](https://img.shields.io/hexpm/v/ex_marshal.svg)](https://hex.pm/packages/ex_marshal) +[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/ex_marshal/) +[![Total Download](https://img.shields.io/hexpm/dt/ex_marshal.svg)](https://hex.pm/packages/ex_marshal) +[![License](https://img.shields.io/hexpm/l/ex_marshal.svg)](https://github.com/gaynetdinov/ex_marshal/blob/master/LICENSE.md) +[![Last Updated](https://img.shields.io/github/last-commit/gaynetdinov/ex_marshal.svg)](https://github.com/gaynetdinov/ex_marshal/commits/master) `ExMarshal` encodes and decodes Elixir terms according to [Ruby Marshal](http://docs.ruby-lang.org/en/2.2.0/marshal_rdoc.html) format. @@ -16,7 +24,9 @@ Add ExMarshal as a dependency to your `mix.exs` file: ```elixir def deps do - [{:ex_marshal, "0.0.12"}] + [ + {:ex_marshal, "0.0.12"}, + ] end ``` @@ -120,6 +130,8 @@ Thanks to [@shepmaster](https://github.com/shepmaster) for [series](http://jakeg Special thanks to [@lexmag](https://github.com/lexmag) for help in writing this tool and for guiding me through Elixir world. -## License +## Copyright and License + +Copyright (c) 2015, Damir Gaynetdinov -This software is licensed under [the ISC license](LICENSE). +This software is licensed under [the ISC license](./LICENSE.md). diff --git a/mix.exs b/mix.exs index 64b27a8..79c8d32 100644 --- a/mix.exs +++ b/mix.exs @@ -1,32 +1,53 @@ defmodule ExMarshal.Mixfile do use Mix.Project + @source_url "https://github.com/gaynetdinov/ex_marshal" + @version "0.0.12" + def project do - [app: :ex_marshal, - version: "0.0.12", - elixir: "~> 1.1", - deps: deps(), - description: description(), - package: package()] + [ + app: :ex_marshal, + version: @version, + elixir: "~> 1.1", + deps: deps(), + docs: docs(), + package: package(), + preferred_cli_env: [ + docs: :docs, + "hex.publish": :docs + ] + ] end def application, do: [] - defp description do - "Ruby Marshal format implemented in Elixir." - end - defp package do - [files: ["lib", "mix.exs", "mix.lock", "README.md", "LICENSE"], - maintainers: ["Damir Gaynetdinov"], - licenses: ["ISC"], - links: %{"GitHub" => "https://github.com/gaynetdinov/ex_marshal"}] + [ + description: "Ruby Marshal format implemented in Elixir.", + files: ["lib", "mix.exs", "mix.lock", "README.md", "LICENSE.md"], + maintainers: ["Damir Gaynetdinov"], + licenses: ["ISC"], + links: %{"GitHub" => @source_url} + ] end defp deps do [ {:decimal, "~> 1.5 or ~> 2.0"}, - {:ex_doc, ">= 0.0.0", only: :dev} + {:ex_doc, ">= 0.0.0", only: :docs, runtime: false} + ] + end + + defp docs do + [ + extras: [ + "LICENSE.md": [title: "License"], + "README.md": [title: "Overview"] + ], + main: "readme", + source_url: @source_url, + source_ref: "v#{@version}", + formatters: ["html"] ] end end diff --git a/mix.lock b/mix.lock index bb232f5..19faf79 100644 --- a/mix.lock +++ b/mix.lock @@ -1,10 +1,10 @@ %{ "decimal": {:hex, :decimal, "1.5.0", "b0433a36d0e2430e3d50291b1c65f53c37d56f83665b43d79963684865beab68", [:mix], [], "hexpm", "130926580655f34d759dd25f5d723fd233c9bbe0399cde57e2a1adea9ed92e08"}, "earmark": {:hex, :earmark, "1.0.2", "a0b0904d74ecc14da8bd2e6e0248e1a409a2bc91aade75fcf428125603de3853", [], [], "hexpm"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.13", "0c98163e7d04a15feb62000e1a891489feb29f3d10cb57d4f845c405852bbef8", [:mix], [], "hexpm", "d602c26af3a0af43d2f2645613f65841657ad6efc9f0e361c3b6c06b578214ba"}, - "ex_doc": {:hex, :ex_doc, "0.24.2", "e4c26603830c1a2286dae45f4412a4d1980e1e89dc779fcd0181ed1d5a05c8d9", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "e134e1d9e821b8d9e4244687fb2ace58d479b67b282de5158333b0d57c6fb7da"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.18", "e1b2be73eb08a49fb032a0208bf647380682374a725dfb5b9e510def8397f6f2", [:mix], [], "hexpm", "114a0e85ec3cf9e04b811009e73c206394ffecfcc313e0b346de0d557774ee97"}, + "ex_doc": {:hex, :ex_doc, "0.26.0", "1922164bac0b18b02f84d6f69cab1b93bc3e870e2ad18d5dacb50a9e06b542a3", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "2775d66e494a9a48355db7867478ffd997864c61c65a47d31c4949459281c78d"}, "makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.15.1", "b5888c880d17d1cc3e598f05cdb5b5a91b7b17ac4eaf5f297cb697663a1094dd", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "db68c173234b07ab2a07f645a5acdc117b9f99d69ebf521821d89690ae6c6ec8"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.15.2", "dc72dfe17eb240552857465cc00cce390960d9a0c055c4ccd38b70629227e97c", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "fd23ae48d09b32eff49d4ced2b43c9f086d402ee4fd4fcb2d7fad97fa8823e75"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.1.0", "3a6fca1550363552e54c216debb6a9e95bd8d32348938e13de5eda962c0d7f89", [:mix], [], "hexpm", "08eb32d66b706e913ff748f11694b17981c0b04a33ef470e33e11b3d3ac8f54b"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.2.0", "b44d75e2a6542dcb6acf5d71c32c74ca88960421b6874777f79153bbbbd7dccc", [:mix], [], "hexpm", "52b2871a7515a5ac49b00f214e4165a40724cf99798d8e4a65e4fd64ebd002c1"}, }