Packages
map_sorter
0.1.20
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.SortSpecs
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(SortSpecs)
# 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.SortSpecs
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: SortSpecs
defdelegate to_comp_fun(sort_specs), to: SortSpecs
defdelegate to_quoted(sort_specs), to: SortSpecs
end