Sha256: 99ceefd3df92b1a0f40338f64deb5e3a538ae0217266b3c5612dec2f5093d4b6
Contents?: true
Size: 605 Bytes
Versions: 5
Compression:
Stored size: 605 Bytes
Contents
module FlexibleEnum class QuestionMethodConfigurator < AbstractConfigurator def apply elements.each do |element_name, element_config| attribute_name = self.attribute_name # Define question method add_instance_method("#{element_name}?") do self.send(attribute_name) == element_config[:value] end # Define inverse question method (if requested) if element_config[:inverse] add_instance_method("#{element_config[:inverse]}?") do !self.send("#{element_name}?") end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems