Sha256: 1f55451d493603147dd093a2d9d3e7d81bdcf279856d3028acfe1a7721d8260e
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 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) if value self.send "check_#{key}" else self.send "uncheck_#{key}" end end def use_select_data_with(key, value) 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) return true if (self.send "#{key}_object").tag_name == "textarea" self.send("#{key}_object").enabled? end end # module: DataSetter end # module: Symbiont
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
symbiont-0.2.1 | lib/symbiont/data_setter.rb |
symbiont-0.2.0 | lib/symbiont/data_setter.rb |