class Deliveries::Labels
Attributes
url[R]
Public Class Methods
new(raw: nil, url: nil)
click to toggle source
# File lib/deliveries/labels.rb, line 7 def initialize(raw: nil, url: nil) @raw = raw @url = url @labels = [] end
Public Instance Methods
<<(label)
click to toggle source
# File lib/deliveries/labels.rb, line 23 def <<(label) raise 'Cannot add labels when raw or url are already set' unless @raw.nil? && @url.nil? case label when Label @labels << label when %r{\Ahttps?://} @labels << Label.new(url: label) when String @labels << Label.new(raw: label) else raise "Cannot cast #{label.class.name} to Label" end self end
raw()
click to toggle source
# File lib/deliveries/labels.rb, line 13 def raw if @raw @raw elsif @url @raw = URI.parse(@url).read.force_encoding('binary') elsif !@labels.empty? merge_pdfs @labels.map(&:raw) end end