Instantiating an object who's rotation is +90 on the y axis of the gameobject it is instantiating on

So, if like me you cant understand that title i wrote then i will clarify.
i have a gameobject which i want to instantiate on another gameobject. we’ll call the gameobject that we’re instantiating onto the instantiator.
if the instantiator has 0 on the y rotation axis than i want the gameobjects y rotation to be 90.
if the instantiator has 180 then i want the gameobject to have the y rotation of 270.
the instantiator if going to be in many different y axis’s at different points so this is why i want to have this code work.
if anyone out there knows how to make this work then plz share
this is the code i have so far:

                RoomRotation = Quaternion.Euler (Junction.transform.rotation.x, Junction.transform.rotation.y + 90, Junction.transform.rotation.z);                   
                Instantiate(Room, Junction.transform.position, RoomRotation);

junction is the instantiator. if i leave the + 90 out of there than the y rotation = 0 when spawning. if i add it back in it = 90. the rotation of the instantiator is having no effect on whats going on. i am totally lost if you cant tell and i would love some help. thanks

Aright boi’s. i got it myself cos i’m a god damn wizard.
instead of GameObject.transform.rotation + 90.
its GameObject.transform.rotation.eulerAngles.y + 90.