class Elibri::ONIX::Release_3_0::ExcerptInfo

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/excerpt_info.rb, line 21
def initialize(data)
  @to_xml = data.to_s
  if data.name == "excerpt"
    @file_type = data.attributes['file_type'].value
    @file_size = data.attributes['file_size'].value.to_i
    @md5 = data.attributes['md5'].value
    @updated_at = Time.parse(data.attributes['updated_at'].value)
    @link = data.text
    @eid = data.attributes['id'].value.to_i
  elsif data.name == "ResourceVersion"

    last_updated_node = data.css("ContentDate").find { |date| 
           date.css("ContentDateRole").first.inner_text == Elibri::ONIX::Dict::Release_3_0::ContentDateRole::LAST_UPDATED }

    if last_updated_node
      @updated_at = Time.parse(last_updated_node.css("Date").first.inner_text)
    end
    @link = data.css("ResourceLink").first.text
    @eid =  @link.split("/")[4].to_i
    @file_type = @link.split(".").last + "_excerpt"
    data.css("ResourceVersionFeature").each do |feature|
      feature_type = feature.css("ResourceVersionFeatureType").first.inner_text
      feature_value = feature.css("FeatureValue").first.inner_text
      if feature_type == Elibri::ONIX::Dict::Release_3_0::ResourceVersionFeatureType::MD5_HASH_VALUE
        @md5 = feature_value
      elsif feature_type == Elibri::ONIX::Dict::Release_3_0::ResourceVersionFeatureType::SIZE_IN_BYTES
        @file_size = feature_value.to_i
      end                 
    end
  else
    raise ArgumentError, "Unknow element for ExcerptInfo: #{data.name}"
  end
end

Public Instance Methods

inspect_include_fields() click to toggle source
# File lib/elibri_onix/onix_3_0/excerpt_info.rb, line 55
def inspect_include_fields
  [:link]
end