Current section

14 Versions

Jump to

Compare versions

4 files changed
+14 additions
-25 deletions
  @@ -1,6 +1,5 @@
1 1 [![Build Status](https://travis-ci.org/carlo-colombo/dublin-bus-api.svg?branch=master)](https://travis-ci.org/carlo-colombo/dublin-bus-api)
2 2 [![Hex.pm](https://img.shields.io/hexpm/v/dublin_bus_api.svg?style=flat-square)](https://hex.pm/packages/dublin_bus_api)
3 - [![Coverage Status](https://coveralls.io/repos/github/carlo-colombo/dublin-bus-api/badge.svg?branch=master)](https://coveralls.io/github/carlo-colombo/dublin-bus-api?branch=master)
4 3
5 4 Dublin Bus API
6 5 =============
  @@ -8,7 +8,7 @@
8 8 {<<"licenses">>,[<<"MIT">>]}.
9 9 {<<"links">>,
10 10 [{<<"Github">>,<<"https://github.com/carlo-colombo/dublin-bus-api">>},
11 - {<<"docs">>,<<"http://hexdocs.pm/dublin_bus_api/Stop.html">>}]}.
11 + {<<"docs">>,<<"http://hexdocs.pm/dublin_bus_api">>}]}.
12 12 {<<"name">>,<<"dublin_bus_api">>}.
13 13 {<<"requirements">>,
14 14 [{<<"floki">>,
  @@ -19,4 +19,4 @@
19 19 [{<<"app">>,<<"httpoison">>},
20 20 {<<"optional">>,false},
21 21 {<<"requirement">>,<<"~> 0.8">>}]}]}.
22 - {<<"version">>,<<"0.1.7-1">>}.
22 + {<<"version">>,<<"0.1.7">>}.
  @@ -34,7 +34,6 @@ defmodule Stop do
34 34 """
35 35
36 36 defmodule Row do
37 - @moduledoc false
38 37 defstruct [:line, :direction, :time]
39 38 end
40 39
  @@ -79,18 +78,14 @@ defmodule Stop do
79 78 @spec get_info(String.t) :: stop
80 79 def get_info(id) when is_binary(id) do
81 80 stop = String.rjust(id,5,?0)
82 - url = @info_url <> stop
83 81
84 - {:ok, body} = url
85 - |> HTTPoison.get
82 + {:ok, body} = HTTPoison.get(@info_url <> stop)
86 83 |> get_body
87 84
88 - timetable = body
89 - |> Floki.find(".gridRow")
85 + timetable = Floki.find(body,".gridRow")
90 86 |> Enum.map(&parse_row/1)
91 87
92 - name = body
93 - |> Floki.find("#stopTitle")
88 + name = Floki.find(body, "#stopTitle")
94 89 |> Floki.text
95 90 |> String.split("-")
96 91 |> List.first
  @@ -113,10 +108,8 @@ defmodule Stop do
113 108 """
114 109 @spec search(String.t) :: list(stop)
115 110 def search(query) do
116 - url = @search_url <> URI.encode(query)
117 111
118 - body = url
119 - |> HTTPoison.get([], [follow_redirect: false])
112 + body = HTTPoison.get(@search_url <> URI.encode(query),[], [follow_redirect: false])
120 113 |> get_body
121 114
122 115 case body do
  @@ -146,8 +139,8 @@ defmodule Stop do
146 139 defp get_body({:ok,
147 140 %HTTPoison.Response{status_code: 302,
148 141 headers: headers}}) do
149 - {_, location} = headers
150 - |> Enum.find(fn(header) -> elem(header, 0) == "Location" end)
142 +
143 + {_,location} = Enum.find(headers, fn(header) -> elem(header, 0) == "Location" end)
151 144
152 145 %{"stop" => stop} = Regex.named_captures(@regex, location)
153 146
  @@ -158,13 +151,13 @@ defmodule Stop do
158 151
159 152 defp parse_stop({"tr", _ ,
160 153 [{"td",_ , [line]},
161 - {"td",_ , [name]}, lines_html]}) do
154 + {"td",_ , [name]}, lines_html ]}) do
162 155
163 156 lines = try do
164 157 lines_html
165 158 |> Floki.find("tr")
166 159 |> Enum.map(&Floki.find(&1,"td"))
167 - |> Enum.map(fn x -> x |> Enum.map(&Floki.text/1) |> List.to_tuple end)
160 + |> Enum.map(fn x -> Enum.map(x, &Floki.text/1) |> List.to_tuple end )
168 161 |> Enum.into(%{})
169 162 rescue
170 163 _ -> %{}
  @@ -172,7 +165,7 @@ defmodule Stop do
172 165
173 166 %Stop{name: Floki.text(name),
174 167 ref: line,
175 - lines: lines}
168 + lines: lines }
176 169 end
177 170
178 171 defp parse_stop(_), do: nil
  @@ -3,22 +3,20 @@ defmodule DublinBusApi.Mixfile do
3 3
4 4 def project do
5 5 [app: :dublin_bus_api,
6 - version: "0.1.7-1",
6 + version: "0.1.7",
7 7 elixir: "~> 1.0",
8 - main: Stop,
9 8 build_embedded: Mix.env == :prod,
10 9 start_permanent: Mix.env == :prod,
11 10 deps: deps,
12 11 description: "Access to the Real Time Passenger Information (RTPI) for Dublin Bus services.",
13 12 name: "Dublin Bus API",
14 13 source_url: "https://github.com/carlo-colombo/dublin-bus-api",
15 - test_coverage: [tool: Coverex.Task, coveralls: true],
16 14 package: [
17 15 licenses: ["MIT"],
18 16 mainteiners: ["Carlo Colombo"],
19 17 links: %{
20 18 "Github" => "https://github.com/carlo-colombo/dublin-bus-api",
21 - "docs" => "http://hexdocs.pm/dublin_bus_api/Stop.html"
19 + "docs" => "http://hexdocs.pm/dublin_bus_api"
22 20 }
23 21 ]]
24 22 end
  @@ -34,7 +32,6 @@ defmodule DublinBusApi.Mixfile do
34 32 {:earmark, "~> 0.2", only: :dev},
35 33 {:ex_doc, "~> 0.11", only: :dev},
36 34 {:mock, "~> 0.1.1", only: :test},
37 - {:credo, "~> 0.3", only: [:test, :dev]},
38 - {:coverex, "~> 1.4.7", only: :test}]
35 + {:credo, "~> 0.2.5", only: :test}]
39 36 end
40 37 end