# Shared Model Code

**URL:** <https://discuss.rubyonrails.org/t/shared-model-code/22548>\
**Category:** rubyonrails-talk\
**Created:** [January 2, 2008, 5:35pm UTC](https://discuss.rubyonrails.org/t/shared-model-code/22548 "2008-01-02T17:35:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Scott5](https://sea2.discourse-cdn.com/rubyonrails/user_avatar/discuss.rubyonrails.org/scott5/32/3327_2.png) [@Scott5](https://discuss.rubyonrails.org/u/Scott5)\
**Post date:** [January 2, 2008, 5:35pm UTC](https://discuss.rubyonrails.org/t/shared-model-code/22548/1 "2008-01-02T17:35:01Z")

</div>

Where does one stick shared model code? I have a method that I want to share between models. What file should I define that method in if I want to keep DRY?

Thanks,

-scott

---

<div class="post-metadata">

**Author:** ![bphogan](https://sea2.discourse-cdn.com/rubyonrails/user_avatar/discuss.rubyonrails.org/bphogan/32/4186_2.png) [@bphogan](https://discuss.rubyonrails.org/u/bphogan)\
**Post date:** [January 2, 2008, 6:50pm UTC](https://discuss.rubyonrails.org/t/shared-model-code/22548/2 "2008-01-02T18:50:57Z")

</div>

in lib/my\_cool\_library.rb

module MyCoolLibrary

def my\_cool\_method puts “I do stuff that’s cool” end

end

Restart server

now, in your models, just do

class User \< ActiveRecord::Base

include MyCoolLibrary end

This will “mix in” this code into your class, making it available to instance methods.

user = User.new user.my\_cool\_method

-Brian
