Loading lib/jsduck/aggregator.rb +3 −9 Original line number Diff line number Diff line require 'jsduck/class' require 'jsduck/accessors' require 'jsduck/logger' require 'jsduck/enum' module JsDuck Loading Loading @@ -228,18 +229,11 @@ module JsDuck end end # Loops through all enums and auto-detects their types if needed. def infer_enum_types @classes.each_value do |cls| if cls[:enum] && !cls[:type] if cls[:members][:property].length > 0 types = cls[:members][:property].map {|p| p[:type] } cls[:type] = types.sort.uniq.join("/") else cls[:type] = "Object" file = cls[:files][0][:filename] line = cls[:files][0][:linenr] Logger.instance.warn(:enum, "Enum #{cls[:name]} defined without values in it", file, line) end Enum.infer_type(cls) end end end Loading lib/jsduck/enum.rb 0 → 100644 +20 −0 Original line number Diff line number Diff line require 'jsduck/logger' module JsDuck class Enum # Given an enum class, returns the type infered from its values. def self.infer_type(cls) if cls[:members][:property].length > 0 types = cls[:members][:property].map {|p| p[:type] } cls[:type] = types.sort.uniq.join("/") else cls[:type] = "Object" file = cls[:files][0][:filename] line = cls[:files][0][:linenr] Logger.instance.warn(:enum, "Enum #{cls[:name]} defined without values in it", file, line) end end end end Loading
lib/jsduck/aggregator.rb +3 −9 Original line number Diff line number Diff line require 'jsduck/class' require 'jsduck/accessors' require 'jsduck/logger' require 'jsduck/enum' module JsDuck Loading Loading @@ -228,18 +229,11 @@ module JsDuck end end # Loops through all enums and auto-detects their types if needed. def infer_enum_types @classes.each_value do |cls| if cls[:enum] && !cls[:type] if cls[:members][:property].length > 0 types = cls[:members][:property].map {|p| p[:type] } cls[:type] = types.sort.uniq.join("/") else cls[:type] = "Object" file = cls[:files][0][:filename] line = cls[:files][0][:linenr] Logger.instance.warn(:enum, "Enum #{cls[:name]} defined without values in it", file, line) end Enum.infer_type(cls) end end end Loading
lib/jsduck/enum.rb 0 → 100644 +20 −0 Original line number Diff line number Diff line require 'jsduck/logger' module JsDuck class Enum # Given an enum class, returns the type infered from its values. def self.infer_type(cls) if cls[:members][:property].length > 0 types = cls[:members][:property].map {|p| p[:type] } cls[:type] = types.sort.uniq.join("/") else cls[:type] = "Object" file = cls[:files][0][:filename] line = cls[:files][0][:linenr] Logger.instance.warn(:enum, "Enum #{cls[:name]} defined without values in it", file, line) end end end end