This macro gives the output of a given line as the first argument of the next line function call. For e.g.

 (rename-keys (assoc {:a 1} :b 1) {:b :new-b}))

Can't understand anything, right? Lets try again, with ->

(-> {:a 1}
    (assoc :b 1)                ;;(assoc map key val)
    (rename-keys {:b :new-b}))  ;;(rename-keys map key-newkey-map)