Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 906453
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T16:23:31+00:00 2026-05-15T16:23:31+00:00

I still can’t figure out how to make a subclass constructor follow its parent…

  • 0

I still can’t figure out how to make a subclass constructor follow its parent…

example:

require 'mechanize'

class Scraper
    attr_accessor :agent

    def initialize 
    # I dont know if using instance variable is the right thing to do
    @agent = Mechanize.new 
    end
end

class ScraperA < Scraper
end

I want to make ScraperA follow its parent constructor behaviour,

that is
instantiate a Mechanize object without me retyping Mechanize.new in
ScraperA initialize() method. Is this possible ?

Just want to follow DRY principle but ruby makes it hard for me ???

Hope not, maybe it’s just my ignorance.
Looking forward for simple solution,Tnx.

Edit:

it turns out that I had empty initialize() method in ScraperA, which override the default
initialize().
So yeah the example is working, because no empty initialize method there.
Sorry for my stupidity.
Tnx.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T16:23:32+00:00Added an answer on May 15, 2026 at 4:23 pm

    Umm… eh? Yes it does… Check this out:

    class A
      def initialize
        @a = "foo"
      end
    end
    
    class B < A
      def to_s
        @a
      end
    end
    
    puts B.new
    # "foo" is printed
    

    This works because initialize is inherited, just like any other method. If you override it by having a new sub-initialize, it stops working. Then you can explicitly use super to call the parent’s initialize.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I checked the relevant threads but still can't figure out what is going on
I have looked here but still can't figure it out. How do I change
I still can't really figure out if I should go with Mercurial or Git.
After a long day of searching, I still can't figure out how I can
I've spent decent amount of time on this problem and still can't figure out
I read the document: Supporting Multiple Screens But still can't figure out how to
This is supposed to be a no brainer but I still can’t figure it
Being a newbie I have read forums and posts but still can't work out
I have been reading a lot about openFrameworks and Processing, But still can't make
I've run the suggested commands found here but I still can't seem to get

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.