I am playing with a decision to define an instance method within a module, that acts as a 'proxy' to the class method of the same name.
For example, let's say the following exists in a module:
default = foobarbitz_entangling_thing.raw_metadata.dig("ooooooh_realllly?") == true ? self.class.ready_to_start_digggging_early_at : self.class.ready_to_start_diggggging_at
def self.ready_to_start_diggggging_at
... does things
end
def self.ready_to_start_digggging_early_at
... does things
end
I want to reduce the length of the 'default' assignment. The condition statement reduction is trivial for the first part, so it ends up looking like this with a helper method:
I would like to add the following simply for reducing this line length as minimally as possible.
def ready_to_start_diggggging_at
self.class.ready_to_start_diggggging_at
end
def ready_to_start_digggging_early_at
self.class.ready_to_start_digggging_early_at
end
Aside from renaming methods to reduce length, my question is this:
Is this bad practice, bad pattern, a bad dog that will bite me later? Or is this okay and common practice?
It feels weird to me to call a module's defined class method from that same module's instance method of the same name. The other way around, sure that happens all of the time. I am hesitating; probably for good reason?
Note: These are silly method names created just for an example of a long method name. For context, I am attempting to do this minimally, so I am avoiding method name changes and anything else really that will add to review discussion rabbit holes. KISS
Thanks for taking time read this!
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I am playing with a decision to define an instance method within a module, that acts as a 'proxy' to the class method of the same name.
For example, let's say the following exists in a module:
I want to reduce the length of the 'default' assignment. The condition statement reduction is trivial for the first part, so it ends up looking like this with a helper method:
I would like to add the following simply for reducing this line length as minimally as possible.
This reduces the line to about here:
Aside from renaming methods to reduce length, my question is this:
Is this bad practice, bad pattern, a bad dog that will bite me later? Or is this okay and common practice?
It feels weird to me to call a module's defined class method from that same module's instance method of the same name. The other way around, sure that happens all of the time. I am hesitating; probably for good reason?
Note: These are silly method names created just for an example of a long method name. For context, I am attempting to do this minimally, so I am avoiding method name changes and anything else really that will add to review discussion rabbit holes. KISS
Thanks for taking time read this!