Loading lib/jsduck/process/inherit_doc.rb +14 −4 Original line number Diff line number Diff line Loading @@ -35,10 +35,10 @@ module JsDuck end if m[:inheritdoc] && parent if autodetected?(m) && !parent[:private] auto_inherit(m, parent) else inherit(m, parent) if autodetected?(m) m[:deprecated] = parent[:deprecated] if parent[:deprecated] && !m[:deprecated] end # remember properties that have changed to configs Loading Loading @@ -73,6 +73,16 @@ module JsDuck end end def auto_inherit(m, parent) m[:doc] = parent[:doc] if m[:doc].empty? parent.each_pair do |key, value| if key == :type || !m[key] m[key] = value end end end # True when specific field of member has been auto-detected def auto?(m, key) m[:autodetected] && m[:autodetected][key] Loading spec/aggregator_autoinherit_spec.rb +9 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ describe JsDuck::Aggregator do * My property. * @protected * @deprecated 4.0 Use something else. * @readonly */ foo: 5 }); Loading @@ -127,6 +128,10 @@ describe JsDuck::Aggregator do @property[:deprecated][:version].should == "4.0" @property[:deprecated][:text].should == "Use something else." end it "inherits @readonly" do @property[:readonly].should == true end end describe "autoinherit with his own and parent tags" do Loading Loading @@ -161,6 +166,10 @@ describe JsDuck::Aggregator do @property[:readonly].should == true end it "keeps default value" do @property[:default].should == "10" end it "overrides @deprecated of parent with its own @deprecated" do @property[:deprecated][:version].should == "4.0" end Loading Loading
lib/jsduck/process/inherit_doc.rb +14 −4 Original line number Diff line number Diff line Loading @@ -35,10 +35,10 @@ module JsDuck end if m[:inheritdoc] && parent if autodetected?(m) && !parent[:private] auto_inherit(m, parent) else inherit(m, parent) if autodetected?(m) m[:deprecated] = parent[:deprecated] if parent[:deprecated] && !m[:deprecated] end # remember properties that have changed to configs Loading Loading @@ -73,6 +73,16 @@ module JsDuck end end def auto_inherit(m, parent) m[:doc] = parent[:doc] if m[:doc].empty? parent.each_pair do |key, value| if key == :type || !m[key] m[key] = value end end end # True when specific field of member has been auto-detected def auto?(m, key) m[:autodetected] && m[:autodetected][key] Loading
spec/aggregator_autoinherit_spec.rb +9 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ describe JsDuck::Aggregator do * My property. * @protected * @deprecated 4.0 Use something else. * @readonly */ foo: 5 }); Loading @@ -127,6 +128,10 @@ describe JsDuck::Aggregator do @property[:deprecated][:version].should == "4.0" @property[:deprecated][:text].should == "Use something else." end it "inherits @readonly" do @property[:readonly].should == true end end describe "autoinherit with his own and parent tags" do Loading Loading @@ -161,6 +166,10 @@ describe JsDuck::Aggregator do @property[:readonly].should == true end it "keeps default value" do @property[:default].should == "10" end it "overrides @deprecated of parent with its own @deprecated" do @property[:deprecated][:version].should == "4.0" end Loading