# Dud require for Plist gem

**URL:** <https://www.ruby-forum.com/t/dud-require-for-plist-gem/135670>\
**Category:** Ruby\
**Created:** [April 24, 2008, 2:54am UTC](https://www.ruby-forum.com/t/dud-require-for-plist-gem/135670 "2008-04-24T02:54:55Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![tcm614ce](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/47e85d/32.png) [@tcm614ce](https://www.ruby-forum.com/u/tcm614ce)\
**Post date:** [April 24, 2008, 2:54am UTC](https://www.ruby-forum.com/t/dud-require-for-plist-gem/135670/1 "2008-04-24T02:54:55Z")

</div>

Hi there,

I’m sorry about this, I’m just working on my first ruby script which  
goes as follows:

require ‘Plist’  
require ‘optparse’  
#Class for handling the plist file.  
class PlistHash  
def initialize(path)  
@path=path  
@plist\_hash=Plist::parse\_xml(@path)  
end

def get\_mac\_by\_host(host\_name)  
mac=@plist\_hash[‘serverMAC’][host\_name]  
end

def get\_mac\_by\_printer(printer\_name)  
host\_name=@plist\_hash[‘printers’][printer\_name][‘printerHost’]  
mac=@plist\_hash[‘serverMAC’][host\_name]  
end

def get\_broadcast\_ip  
broadcast\_ip=@plist\_hash[‘broadcastIP’]  
end  
end

plist=PlistHash.new(’/Library/Preferences/com.apple.wopol.plist’)  
opts=OptionParser.new  
opts.on("-h", “–host HOSTNAME”, String) {|val|  
plist.get\_mac\_by\_host(val)}  
opts.parse(ARGV)

When I try to run this I get the following error:  
ruby PlistHash.rb -h PennyG5.local  
PlistHash.rb:1:in `require’: no such file to load – Plist (LoadError)  
from PlistHash.rb:1

Yet if I type require ‘Plist’ in irb it’s accepted. What am I missing  
here.  
Thanks for your help people and many apologies if it’s something really  
dumb.

---

<div class="post-metadata">

**Author:** ![tcm614ce](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/47e85d/32.png) [@tcm614ce](https://www.ruby-forum.com/u/tcm614ce)\
**Post date:** [April 24, 2008, 3:51am UTC](https://www.ruby-forum.com/t/dud-require-for-plist-gem/135670/2 "2008-04-24T03:51:31Z")

</div>

Sorry, I’m a muppet.

require ‘rubygems’ was the missing ingredient.

D’oh!
