resources/schema.org/generate.rb in mida_vocabulary-0.1.3 vs resources/schema.org/generate.rb in mida_vocabulary-0.2
- old
+ new
@@ -14,11 +14,11 @@
module SchemaOrg
# <%= type.description %>
class <%= type.name %> < Mida::DataType::Enumeration
VALID_VALUES = [
-% num_instances = type.instances.size
+% num_instances = type.instances.size == 0 ? 1 : type.instances.size
% type.instances.first(num_instances-1).each do |instance|
[::Mida::DataType::URL, %r{http://schema.org/<%= instance %>}i],
% end
[::Mida::DataType::URL, %r{http://schema.org/<%= type.instances.last %>}i]
]
@@ -168,24 +168,28 @@
full_name <=> other.full_name
end
end
end
-types = JSON.parse(File.read('vocabularies.json'))
+types = JSON.parse(File.open('vocabularies.json', 'r:utf-8', &:read))
types = types.collect {|type| Type.new(type)}
datatypes = DATATYPES.collect {|type| Type.new(type)}
types.each {|type| type.process_properties}
Dir.mkdir('enumerations') unless File.directory?('enumerations')
Dir.mkdir('vocabularies') unless File.directory?('vocabularies')
+all_classes = []
types.each do |type|
if type.enumeration?
File.open("enumerations/#{type.name.downcase}.rb", 'w') do |file|
file.puts ERB.new(ENUMERATION_TEMPLATE, 0, '%').result(binding)
end
elsif type.vocabulary?
File.open("vocabularies/#{type.name.downcase}.rb", 'w') do |file|
file.puts ERB.new(VOCABULARY_TEMPLATE, 0, '%').result(binding)
end
end
+ all_classes << type.name
end
+
+p all_classes
\ No newline at end of file