Sha256: 5ad4088e61d3a8e7899fd8e157ec45f1aa45f6dc8894dc6a34c61d11ad8dc335
Contents?: true
Size: 1.19 KB
Versions: 7
Compression:
Stored size: 1.19 KB
Contents
module Symbiont module DataSetter def using(data) data.each do |key, value| use_text_data_with(key, value) if text_settable_for(key) and object_enabled_for(key) use_check_data_with(key, value) if value_checkable_for(key) and object_enabled_for(key) use_select_data_with(key, value) if value_selectable_for(key) and object_enabled_for(key) end end alias :using_data :using alias :using_values :using alias :use_data :using alias :use_values :using private def use_text_data_with(key, value) self.send "#{key}=", value end def use_check_data_with(key, value) return self.send "check_#{key}" if value return self.send "uncheck_#{key}" end def use_select_data_with(key, value) return self.send "select_#{key}" if value end def text_settable_for(key) respond_to?("#{key}=".to_sym) end def value_checkable_for(key) respond_to?("check_#{key}".to_sym) end def value_selectable_for(key) respond_to?("select_#{key}".to_sym) end def object_enabled_for(key) self.send("#{key}_object").enabled? end end # module: DataSetter end # module: Symbiont
Version data entries
7 entries across 7 versions & 1 rubygems