diff --git a/lib/DDG/Goodie/MilitaryRank.pm b/lib/DDG/Goodie/MilitaryRank.pm index daaf388ca..e29e3b60e 100644 --- a/lib/DDG/Goodie/MilitaryRank.pm +++ b/lib/DDG/Goodie/MilitaryRank.pm @@ -9,6 +9,9 @@ use YAML::XS 'LoadFile'; zci answer_type => 'military_rank'; zci is_cached => 1; +# Get Goodie version to insert into no-insignia.svg path. Default to 999 for testing. +my $goodie_version = $DDG::GoodieBundle::OpenSourceDuckDuckGo::VERSION // 999; + my $DATA = LoadFile(share('military_rank.yml')); my $DISPLAY_NAME_FOR = { @@ -57,6 +60,8 @@ handle words => sub { my ($country, $branch) = $_ =~ $complete_regex; return unless $branch; + + return unless $goodie_version; # TODO: Localize this default to the country of the searcher. $country = 'us' unless $country; # Default $country to us. @@ -74,6 +79,7 @@ handle words => sub { # Scales oversize images to fit instead of clipping them. elClass => { tileMedia => 'tile__media--pr' }, }; + $structured_answer->{goodie_version} = $goodie_version; return $text_response, structured_answer => $structured_answer; }; diff --git a/share/goodie/military_rank/military_rank.js b/share/goodie/military_rank/military_rank.js index cde43d6fb..136df1262 100644 --- a/share/goodie/military_rank/military_rank.js +++ b/share/goodie/military_rank/military_rank.js @@ -1,7 +1,8 @@ DDH.military_rank = DDH.military_rank || {}; -var no_insignia_svg = DDG.get_asset_path('military_rank', 'no_insignia.svg'); -no_insignia_svg = no_insignia_svg.replace(/spice/, 'goodie') + DDH.military_rank.build = function(ops) { + var no_insignia_svg = '/share/goodie/military_rank/' + ops.goodie_version + '/no_insignia.svg'; + return { normalize: function(item) { return { diff --git a/t/MilitaryRank.t b/t/MilitaryRank.t index 7cb5776be..09ecd13d6 100644 --- a/t/MilitaryRank.t +++ b/t/MilitaryRank.t @@ -12,6 +12,7 @@ zci is_cached => 1; my @us_army = ( 'United States Army Rank', structured_answer => { + goodie_version => 999, meta => { sourceName => 'Wikipedia', sourceUrl => 'http://wikipedia.org/wiki/United_States_Army_enlisted_rank_insignia' @@ -215,6 +216,7 @@ my @us_army = ( my @pl_af = ( 'Poland Air Force Rank', structured_answer => { + goodie_version => 999, meta => { sourceName => 'Wikipedia', sourceUrl => 'http://en.wikipedia.org/wiki/Polish_Armed_Forces_rank_insignia'