#Mathematica, 44 bytes

    If[ListQ@Last@#,Length@#==1]&@@RealDigits@#&

Returns `Null` for Terminating, `True` for purely periodic, and `False` for eventually periodic.

#Explanation

    RealDigits

Find the decimal expansion of N. (repeated digits are surrounded by an extra head `List {}`).

    ListQ@Last@#

Check whether the last element of the decimal expansion is a `List`.

    Length@#==1

If the above condition is `True`, check whether the entire decimal expansion consists of one thing. (A `List` counts as one entity). (returns `True` or `False`)

(If the condition is `False`, then a `Null` is returned because there is no third argument for `If`)