ruby - Creating a method that functions as both a class and instance method -


let's had class , wanted able call same method on class and instance of class:

class foo   def self.bar     puts 'hey worked'   end end 

this lets me following:

foo.bar #=> hey worked 

but want able do:

foo.new.bar #=> nomethoderror: undefined method `bar' #<foo:0x007fca00945120> 

so modify class have instance method bar:

class foo   def bar     puts 'hey worked'   end end 

and can call bar on both class , instance of class:

foo.bar #=> hey worked foo.new.bar #=> hey worked 

now class foo 'wet':

class foo   def self.bar     puts 'hey worked'   end    def bar     puts 'hey worked'   end end 

is there way avoid redundancy?

have 1 method call other. otherwise, no, there no way avoid "redundancy", because there is no redundancy. there 2 separate methods happen have same name.

class foo   def self.bar     puts 'hey worked'   end    def bar     foo.bar   end end 

Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -