class Elibri::ONIX::Release_3_0::FileInfo

Constants

ATTRIBUTES

Informacja o fragmencie publikacji (e-book)

RELATIONS

Attributes

eid[RW]
file_size[RW]
file_type[RW]
md5[RW]
to_xml[RW]
updated_at[RW]

Public Class Methods

new(data) click to toggle source
# File lib/elibri_onix/onix_3_0/file_info.rb, line 21
def initialize(data)
  @to_xml = data.to_s

  data.css("ResourceFileDate").each do |date|
    if date.css("ResourceFileDateRole").first.inner_text == Elibri::ONIX::Dict::Release_3_0::ContentDateRole::LAST_UPDATED
      @updated_at = Time.parse(date.css("Date").first.inner_text)
    end
  end

  data.css("ResourceFileFeature").each do |feat|
    ftype = feat.css("ResourceFileFeatureType").first.inner_text
    fvalue = feat.css("ResourceFileFeatureValue").first.inner_text

    if ftype == Elibri::ONIX::Dict::Release_3_0::ResourceFileFeatureType::EXACT_FILE_SIZE
      @file_size = fvalue.to_i
    elsif ftype == Elibri::ONIX::Dict::Release_3_0::ResourceFileFeatureType::MD5
      @md5 = fvalue
    end
  end

  fname = data.css("ResourceFileLink").first&.inner_text
  if fname
    if File.extname(fname) == ".zip"
      @file_type = "mp3_in_zip"
    else
      @file_type = File.extname(fname)[1..-1]
    end
  end

  data.css("ResourceIdentifier").each do |ident|
    if ident.css("ResourceIDType").first&.inner_text == Elibri::ONIX::Dict::Release_3_0::ResourceIDType::PROPRIETARY
      @eid = ident.css("IDValue").first&.inner_text&.to_i
    end
  end
end

Public Instance Methods

inspect_include_fields() click to toggle source
# File lib/elibri_onix/onix_3_0/file_info.rb, line 57
def inspect_include_fields
  [:file_type]
end