Rakefile in alexandria-book-collection-manager-0.7.5 vs Rakefile in alexandria-book-collection-manager-0.7.6
- old
+ new
@@ -105,39 +105,41 @@
value.to_i
when "float"
value.to_f
when "bool"
value == "true"
+ when "string"
+ value.to_s.strip
else
- value.strip
+ raise NotImplementedError, "Unknown type #{type}"
end
end
SCHEMA_PATH = "schemas/alexandria.schemas"
# This generates default_preferences.rb by copying over values from
# providers_priority key in alexandria.schemas (necessary?)
-file "lib/alexandria/default_preferences.rb" => [SCHEMA_PATH] do |f|
+file "lib/alexandria/default_preferences.rb" => ["Rakefile", SCHEMA_PATH] do |f|
require "rexml/document"
generated_lines = []
doc = REXML::Document.new(IO.read(SCHEMA_PATH))
doc.elements.each("gconfschemafile/schemalist/schema") do |element|
default = element.elements["default"].text
- next unless default
varname = File.basename(element.elements["key"].text)
type = element.elements["type"].text
if (type == "list") || (type == "pair")
ary = default[1..-2].split(",")
next if ary.empty?
- if type == "list"
+ case type
+ when "list"
list_type = element.elements["list_type"].text
ary.map! { |x| convert_with_type(x, list_type) }
- elsif type == "pair"
+ when "pair"
next if ary.length != 2
ary[0] = convert_with_type(ary[0],
element.elements["car_type"].text)
ary[1] = convert_with_type(ary[1],