Ref #25.
Unified · Split
| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | class app.models.Doc extends app.Model |
| 2 | − # Attributes: name, slug, type, release, db_size, mtime, links | |
| 2 | + # Attributes: name, slug, type, version, release, db_size, mtime, links | |
| 3 | 3 | |
| 4 | 4 | constructor: -> |
| 5 | 5 | super |
| 6 | 6 | @reset @ |
| 7 | − [@slug_without_version, @version] = @slug.split('~v') | |
| 7 | + @slug_without_version = @slug.split('~v')[0] | |
| 8 | 8 | @fullName = "#{@name}" + if @version then " #{@version}" else '' |
| 9 | 9 | @icon = @slug_without_version |
| 10 | 10 | @text = @toEntry().text |
| @@ -66,6 +66,7 @@ module Docs · 65 unmodified lines | ||
| 66 | 66 | def as_json |
| 67 | 67 | json = { name: name, slug: slug, type: type } |
| 68 | 68 | json[:links] = links if links.present? |
| 69 | + json[:version] = version if version.present? | |
| 69 | 70 | json[:release] = release if release.present? |
| 70 | 71 | json |
| 71 | 72 | end |
| @@ -133,10 +133,10 @@ class DocsDocTest < MiniTest::Spec · 132 unmodified lines | ||
| 133 | 133 | assert_instance_of Hash, doc.as_json |
| 134 | 134 | end |
| 135 | 135 | |
| 136 | − it "includes the doc's name, slug, type, and release" do | |
| 136 | + it "includes the doc's name, slug, type, version, and release" do | |
| 137 | 137 | assert_equal %i(name slug type), doc.as_json.keys |
| 138 | 138 | |
| 139 | − %w(name slug type release links).each do |attribute| | |
| 139 | + %w(name slug type version release links).each do |attribute| | |
| 140 | 140 | eval "stub(doc).#{attribute} { attribute }" |
| 141 | 141 | assert_equal attribute, doc.as_json[attribute.to_sym] |
| 142 | 142 | end |