12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'app/tools/remove_song.rb', line 12
def call(by:, value:)
params = remove_params(by, value)
result = jukebox.remove(**params)
if result[:removed].zero?
{
ok: true,
by:,
value:,
message: "No matching jukebox entries were found; the requested song may already be absent",
removed: 0,
entries: []
}
else
{
ok: true,
by:,
value:,
message: "Removed #{result[:removed]} jukebox entr#{result[:removed] == 1 ? "y" : "ies"}",
removed: result[:removed],
entries: result[:entries]
}
end
end
|