فهرست منبع

Convert json keys to snake_case before using them

theenglishway (time) 2 سال پیش
والد
کامیت
ec00ba2608
3فایلهای تغییر یافته به همراه7 افزوده شده و 6 حذف شده
  1. 2 1
      lib/cv_gen.ex
  2. 2 2
      lib/views/education.ex
  3. 3 3
      lib/views/work.ex

+ 2 - 1
lib/cv_gen.ex

@@ -8,7 +8,8 @@ defmodule CvGen do
 
   def generate do
     with raw_data <- File.read!(@data_file),
-         {:ok, assigns} <- Jason.decode(raw_data, keys: :atoms),
+         {:ok, assigns} <-
+           Jason.decode(raw_data, keys: &(&1 |> Macro.underscore() |> String.to_atom())),
          res <- CvGenView.cv(assigns) |> Phoenix.HTML.Safe.to_iodata() |> List.to_string(),
          do: File.write!(@output_file, res)
   end

+ 2 - 2
lib/views/education.ex

@@ -12,9 +12,9 @@ defmodule CvGenView.Education do
       <dt class="location"></dt>
       <dd><%= @educ[:location] %></dd>
       <dt class="start_date">Date début</dt>
-      <dd><.date class="start_date" date={@educ.startDate} /></dd>
+      <dd><.date class="start_date" date={@educ.start_date} /></dd>
       <dt class="end_date">Date fin</dt>
-      <dd><.date class="end_date" date={@educ.endDate} /></dd>
+      <dd><.date class="end_date" date={@educ.end_date} /></dd>
     </dl>
     """
   end

+ 3 - 3
lib/views/work.ex

@@ -13,10 +13,10 @@ defmodule CvGenView.Work do
         <dt class="position" lang="fr">Poste</dt>
         <dd lang="fr"><%= @work.position %></dd>
         <dt class="start_date">Date début</dt>
-        <dd><.date class="start_date" date={@work.startDate} /></dd>
-        <%= unless is_nil(@work[:endDate]) do %>
+        <dd><.date class="start_date" date={@work.start_date} /></dd>
+        <%= unless is_nil(@work[:end_date]) do %>
           <dt class="end_date">Date fin</dt>
-          <dd><.date class="end_date" date={@work.endDate} /></dd>
+          <dd><.date class="end_date" date={@work.end_date} /></dd>
         <% end %>
         <dt class="work_location"></dt>
         <dd>Paris</dd>