Packages
map_sorter
0.1.21
0.2.70
0.2.69
0.2.68
0.2.67
0.2.66
0.2.65
0.2.64
0.2.63
0.2.62
0.2.61
0.2.60
0.2.59
0.2.58
0.2.57
0.2.56
0.2.55
0.2.54
0.2.53
0.2.52
0.2.51
0.2.50
0.2.49
0.2.48
0.2.47
0.2.46
0.2.45
0.2.44
0.2.42
0.2.41
0.2.40
0.2.39
0.2.38
0.2.37
0.2.36
0.2.35
0.2.34
0.2.33
0.2.32
0.2.31
0.2.30
0.2.29
0.2.28
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Sorts a list of maps per a list of sort specs.
Current section
Files
Jump to
Current section
Files
lib/ie.ex
defmodule IE do
@moduledoc false
alias MapSorter.SortSpec
require MapSorter
@people [
%{name: "Mike", likes: "ski, arts", dob: ~D[1992-04-15]},
%{name: "Mary", likes: "travels" , dob: ~D[1992-04-15]},
%{name: "Bill", likes: "karate" , dob: ~D[1977-08-28]},
%{name: "Joe" , likes: "boxing" , dob: ~D[1977-08-28]},
%{name: "Jill", likes: "cooking" , dob: ~D[1976-09-28]}
]
# Functions for iex session...
#
# Examples:
#
# require IE
# IE.use
# people()
# sort(people(), asc: :dob, desc: :likes)
# Application.put_env(:map_sorter, :structs_enabled?, true)
# r(SortSpec)
# people()
# sort(people(), asc: :dob, desc: :likes)
# people_as_keywords()
# sort(people_as_keywords(), asc: :dob, desc: :likes)
# to_comp_fun([:dob, desc: :likes])
# to_quoted([:dob, desc: :likes])
# to_quoted(quote do: Tuple.to_list({:dob, {:desc, :likes}}))
# to_quoted({:dob, :likes})
# to_quoted({:dob, :likes, :name})
# to_quoted(%{asc: :dob, desc: :likes, ask: :name})
# to_quoted(3.1416)
# adapt_string("&1[~D[2017-11-02]] < ...", true)
# adapt_string("&1[~D[2017-11-02]] < ...", false)
defmacro use() do
quote do
import IE
alias MapSorter.SortSpec
require MapSorter
:ok
end
end
def people(), do: @people
def people_as_keywords() do
Enum.map(@people, &Keyword.new/1)
end
# Delegation only works with functions...
def sort(maps, sort_specs), do: MapSorter.sort(maps, sort_specs)
defdelegate adapt_string(string, structs_enabled?), to: SortSpec
defdelegate to_comp_fun(sort_specs), to: SortSpec
defdelegate to_quoted(sort_specs), to: SortSpec
end