{"id":86,"date":"2009-07-24T10:53:50","date_gmt":"2009-07-24T16:53:50","guid":{"rendered":"http:\/\/thenoyes.com\/littlenoise\/?p=86"},"modified":"2009-07-24T10:55:01","modified_gmt":"2009-07-24T16:55:01","slug":"careful-with-those-required-files-in-ruby","status":"publish","type":"post","link":"https:\/\/thenoyes.com\/littlenoise\/?p=86","title":{"rendered":"Careful with those required files in Ruby"},"content":{"rendered":"<p>Getting Ruby to talk to MySQL was pretty easy in irb:<\/p>\n<pre>C:\\>irb\r\nirb(main):001:0> require 'rubygems'\r\n=> true\r\nirb(main):002:0> require 'mysql'\r\n=> true\r\nirb(main):003:0> db = Mysql.connect('localhost', 'root', 'password', 'test')\r\n=> #&lt;Mysql:0x2cc5270&gt;\r\nirb(main):004:0><\/pre>\n<p>But then I tried the very same code from a file:<\/p>\n<pre>C:\\>ruby mysql.rb\r\n.\/mysql.rb:3: uninitialized constant Mysql (NameError)\r\n        from C:\/Ruby\/lib\/ruby\/site_ruby\/1.8\/rubygems\/custom_require.rb:31:in `gem_original_require'\r\n        from C:\/Ruby\/lib\/ruby\/site_ruby\/1.8\/rubygems\/custom_require.rb:31:in `require'\r\n        from mysql.rb:2<\/pre>\n<p>That <code>require 'mysql'<\/code> line looks in the current directory first &#8230; and I&#8217;d used the name <code>mysql.rb<\/code> for the file I was coding &#8230; so my code just included itself, and not the gem I wanted. Doh!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Getting Ruby to talk to MySQL was pretty easy in irb: C:\\>irb irb(main):001:0> require &#8216;rubygems&#8217; => true irb(main):002:0> require &#8216;mysql&#8217; => true irb(main):003:0> db = Mysql.connect(&#8216;localhost&#8217;, &#8216;root&#8217;, &#8216;password&#8217;, &#8216;test&#8217;) => #&lt;Mysql:0x2cc5270&gt; irb(main):004:0> But then I tried the very same code from a file: C:\\>ruby mysql.rb .\/mysql.rb:3: uninitialized constant Mysql (NameError) from C:\/Ruby\/lib\/ruby\/site_ruby\/1.8\/rubygems\/custom_require.rb:31:in `gem_original_require&#8217; from C:\/Ruby\/lib\/ruby\/site_ruby\/1.8\/rubygems\/custom_require.rb:31:in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6],"tags":[],"class_list":["post-86","post","type-post","status-publish","format-standard","hentry","category-gotchas"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2IBF1-1o","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=\/wp\/v2\/posts\/86","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=86"}],"version-history":[{"count":0,"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=\/wp\/v2\/posts\/86\/revisions"}],"wp:attachment":[{"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=86"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=86"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thenoyes.com\/littlenoise\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=86"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}