Skip to content

Commit c600632

Browse files
authored
Merge pull request #395 from NetrunnerDB/migueldlr/add-printing-images-to-card
Add most recent printing images to card
2 parents ab3b0ec + c7dd13d commit c600632

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

app/resources/card_resource.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ class CardResource < ApplicationResource # rubocop:disable Metrics/ClassLength
9292
attribute :card_abilities, :hash
9393
attribute :restrictions, :hash
9494
attribute :latest_printing_id, :string
95+
attribute :latest_printing_images, :hash do
96+
images(@object.latest_printing_id)
97+
end
9598

9699
filter :card_cycle_id, :string do
97100
eq do |scope, value|
@@ -157,4 +160,20 @@ class CardResource < ApplicationResource # rubocop:disable Metrics/ClassLength
157160
end
158161

159162
many_to_many :card_pools
163+
164+
private
165+
166+
def images(id, face_index = nil)
167+
url_prefix = Rails.configuration.x.printing_images.nrdb_classic_prefix
168+
face_suffix = "-#{face_index}" unless face_index.nil?
169+
{
170+
'nrdb_classic' => {
171+
'tiny' => "#{url_prefix}/tiny/#{id}#{face_suffix}.jpg",
172+
'small' => "#{url_prefix}/small/#{id}#{face_suffix}.jpg",
173+
'medium' => "#{url_prefix}/medium/#{id}#{face_suffix}.jpg",
174+
'large' => "#{url_prefix}/large/#{id}#{face_suffix}.jpg",
175+
'narrative' => "#{url_prefix}/large/#{id}#{face_suffix}-narrative.jpg"
176+
}
177+
}
178+
end
160179
end

spec/resources/card_resource_reads_spec.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
expect(data.influence_limit).to eq(card.influence_limit)
3535
expect(data.is_unique).to eq(card.is_unique)
3636
expect(data.latest_printing_id).to eq(card.latest_printing_id)
37+
expect(data.latest_printing_images).not_to be_nil
38+
expect(data.latest_printing_images['nrdb_classic']).to include('tiny', 'small', 'medium', 'large')
3739
expect(data.memory_cost).to eq(card.memory_cost)
3840
expect(data.minimum_deck_size).to eq(card.minimum_deck_size)
3941
expect(data.num_printings).to eq(card.num_printings)

0 commit comments

Comments
 (0)