Created
January 22, 2019 13:23
-
-
Save simonprev/6d65fc01d6b9dd9ae64cae9dc9fe8741 to your computer and use it in GitHub Desktop.
Generate placeholder after Accent’s new feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule GeneratePlaceholders do | |
import Ecto.Query | |
alias Accent.Repo | |
@regex Langue.Formatter.Rails.placeholder_regex() | |
@document_id "85f15c8e-a5bb-4235-b04f-3ce04e672749" | |
def update_operations do | |
operations() | |
|> Enum.filter(&is_binary(&1.text)) | |
|> Enum.map(fn operation -> | |
%{placeholders: placeholders} = | |
%Langue.Entry{value: operation.text} | |
|> Langue.Utils.Placeholders.parse(@regex) | |
update!(operation, placeholders) | |
end) | |
end | |
def update_translations do | |
translations() | |
|> Enum.map(fn translation -> | |
%{placeholders: placeholders} = | |
%Langue.Entry{value: translation.corrected_text} | |
|> Langue.Utils.Placeholders.parse(@regex) | |
update!(translation, placeholders) | |
end) | |
end | |
defp operations do | |
Repo.all(from Accent.Operation, where: [document_id: ^@document_id]) | |
end | |
defp translations do | |
Repo.all(from Accent.Translation, where: [document_id: ^@document_id]) | |
end | |
defp update!(schema, placeholders) do | |
schema | |
|> Ecto.Changeset.change(placeholders: placeholders) | |
|> Repo.update!() | |
end | |
end | |
GeneratePlaceholders.update_operations() | |
GeneratePlaceholders.update_translations() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment