class ConfigurationPageFacade
Public Class Methods
ApplyConfigurations(new_conf)
click to toggle source
# File lib/facades/configuration_page_facade.rb, line 62 def self.ApplyConfigurations(new_conf) @configurations_hash.each do |rule, configurations| configurations.each do |configuration| case configuration.displayfield when DisplayField[:CheckBox] if new_conf.has_key?(configuration.id) configuration.value = true else configuration.value = false end when DisplayField[:SelectBox] configuration.value = new_conf[configuration.id].split(/\r?\n/).delete_if(&:empty?) when DisplayField[:RegexBox] configuration.value = if new_conf[configuration.id].empty? then new_conf[configuration.id] else Regexp.new new_conf[configuration.id] end else configuration.value = new_conf[configuration.id] end end end end
AssemblePage()
click to toggle source
# File lib/facades/configuration_page_facade.rb, line 7 def self.AssemblePage @configurations_hash = ConfigurationVisitor.Visit final_html = self.Title final_html += self.ConfigurationsForm return final_html end
Private Class Methods
ConfigurationsForm()
click to toggle source
# File lib/facades/configuration_page_facade.rb, line 19 def self.ConfigurationsForm final_html = "<form action=\"/configuration\" method=\"post\">\n" @configurations_hash.each do |rule, configurations| final_html += self.RuleConfigurations(rule,configurations) end final_html += "<input type=\"submit\" value=\"Submit\">\n" final_html += "</form>\n" return final_html end
Input(configuration)
click to toggle source
# File lib/facades/configuration_page_facade.rb, line 40 def self.Input(configuration) return_value = "<label for=\"#{configuration.class.name}\">#{configuration.name}:</label>\n" case configuration.displayfield when DisplayField[:CheckBox] return_value += "<input type=\"checkbox\" id=\"#{configuration.id}\" name=\"#{configuration.id}\""+if configuration.value then "checked" else "" end+"><br>\n" when DisplayField[:SelectBox] return_value += "<br><textarea id=\"#{configuration.id}\" name=\"#{configuration.id}\" rows=\"#{configuration.value.length()+2}\">\n" configuration.value.each do |option| return_value+="#{option}\n" end return_value += "</textarea>" when DisplayField[:TextBox], DisplayField[:RegexBox] return_value += "<input type=\"text\" id=\"#{configuration.id}\" name=\"#{configuration.id}\" value=\"#{configuration.value.to_s}\" size=\"#{configuration.value.to_s.length()}\"><br>\n" end return_value += "<p style=\"color:gray\">#{configuration.description}</p>\n<br>\n" return return_value end
RuleConfigurations(rule,configurations)
click to toggle source
# File lib/facades/configuration_page_facade.rb, line 30 def self.RuleConfigurations(rule,configurations) final_html = "<h2>#{rule.name}</h2>\n" configurations.each do |configuration| final_html += self.Input(configuration) end return final_html end
Title()
click to toggle source
# File lib/facades/configuration_page_facade.rb, line 15 def self.Title return "<h1>Configurations Page</h1>\n" end