# Setting Up Setters

**URL:** <https://www.ruby-forum.com/t/setting-up-setters/167459>\
**Category:** Rails\
**Created:** [May 7, 2009, 10:56pm UTC](https://www.ruby-forum.com/t/setting-up-setters/167459 "2009-05-07T22:56:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rapdup](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5e925/32.png) [@rapdup](https://www.ruby-forum.com/u/rapdup)\
**Post date:** [May 7, 2009, 10:56pm UTC](https://www.ruby-forum.com/t/setting-up-setters/167459/1 "2009-05-07T22:56:11Z")

</div>

If I have a setter method that needs to manipulate the incoming value  
before setting itself, how can I do this without it be self  
referencing? In the example below, I’ve defined “start\_date=”, so how  
do I now save a value to start\_date?

thx

Ex:  
class Event  
def start\_date=(new\_start\_date)  
self.start\_date = new\_start\_date unless new\_start\_date \>=  
start\_date  
end  
end

---

<div class="post-metadata">

**Author:** ![rapdup](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5e925/32.png) [@rapdup](https://www.ruby-forum.com/u/rapdup)\
**Post date:** [May 7, 2009, 11:04pm UTC](https://www.ruby-forum.com/t/setting-up-setters/167459/2 "2009-05-07T23:04:25Z")

</div>

On 7 May 2009, at 13:55, rapdup [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> If I have a setter method that needs to manipulate the incoming value  
> before setting itself, how can I do this without it be self  
> referencing? In the example below, I’ve defined “start\_date=”, so how  
> do I now save a value to start\_date?

Look for write\_attribute

Fred
