lib/rcap/base/resource.rb in rcap-2.4.1 vs lib/rcap/base/resource.rb in rcap-2.5.0
- old
+ new
@@ -2,21 +2,21 @@
module Base
class Resource
include Validation
# @return [String] Resource Description
- attr_accessor( :resource_desc )
+ attr_accessor(:resource_desc)
# @return [String]
- attr_accessor( :mime_type )
+ attr_accessor(:mime_type)
# @return [Integer] Expressed in bytes
- attr_accessor( :size )
+ attr_accessor(:size)
# @return [String] Resource location
- attr_accessor( :uri )
+ attr_accessor(:uri)
# @return [String] SHA-1 hash of contents of resource
- attr_accessor( :digest )
+ attr_accessor(:digest)
- validates_presence_of( :resource_desc )
+ validates_presence_of(:resource_desc)
XML_ELEMENT_NAME = 'resource'
MIME_TYPE_ELEMENT_NAME = 'mimeType'
SIZE_ELEMENT_NAME = 'size'
URI_ELEMENT_NAME = 'uri'
@@ -35,111 +35,111 @@
# @option attributes [Numeric] :size Size in bytes
# @option attributes [String] :uri
# @option attributes [String] :digest
# @option attributes [String] :resource_desc
def initialize
- yield( self ) if block_given?
+ yield(self) if block_given?
end
# @return [REXML::Element]
def to_xml_element
- xml_element = REXML::Element.new( XML_ELEMENT_NAME )
- xml_element.add_element( RESOURCE_DESC_ELEMENT_NAME ).add_text( @resource_desc )
- xml_element.add_element( MIME_TYPE_ELEMENT_NAME ).add_text( @mime_type ) if @mime_type
- xml_element.add_element( SIZE_ELEMENT_NAME ).add_text( @size.to_s ) if @size
- xml_element.add_element( URI_ELEMENT_NAME ).add_text( @uri ) if @uri
- xml_element.add_element( DIGEST_ELEMENT_NAME ).add_text( @digest ) if @digest
+ xml_element = REXML::Element.new(XML_ELEMENT_NAME)
+ xml_element.add_element(RESOURCE_DESC_ELEMENT_NAME).add_text(@resource_desc)
+ xml_element.add_element(MIME_TYPE_ELEMENT_NAME).add_text(@mime_type) if @mime_type
+ xml_element.add_element(SIZE_ELEMENT_NAME).add_text(@size.to_s) if @size
+ xml_element.add_element(URI_ELEMENT_NAME).add_text(@uri) if @uri
+ xml_element.add_element(DIGEST_ELEMENT_NAME).add_text(@digest) if @digest
xml_element
end
# @param [REXML::Element] resource_xml_element
# @return [Resource]
- def self.from_xml_element( resource_xml_element )
- resource = self.new do |resource|
- resource.resource_desc = RCAP.xpath_text( resource_xml_element, RESOURCE_DESC_XPATH, resource.xmlns )
- resource.uri = RCAP.xpath_text( resource_xml_element, URI_XPATH, resource.xmlns )
- resource.mime_type = RCAP.xpath_text( resource_xml_element, MIME_TYPE_XPATH, resource.xmlns )
- resource.size = RCAP.xpath_text( resource_xml_element, SIZE_XPATH, resource.xmlns ).to_i
- resource.digest = RCAP.xpath_text( resource_xml_element, DIGEST_XPATH, resource.xmlns )
+ def self.from_xml_element(resource_xml_element)
+ resource = new do |resource|
+ resource.resource_desc = RCAP.xpath_text(resource_xml_element, RESOURCE_DESC_XPATH, resource.xmlns)
+ resource.uri = RCAP.xpath_text(resource_xml_element, URI_XPATH, resource.xmlns)
+ resource.mime_type = RCAP.xpath_text(resource_xml_element, MIME_TYPE_XPATH, resource.xmlns)
+ resource.size = RCAP.xpath_text(resource_xml_element, SIZE_XPATH, resource.xmlns).to_i
+ resource.digest = RCAP.xpath_text(resource_xml_element, DIGEST_XPATH, resource.xmlns)
end
end
# Calculates the SHA-1 hash and size of the contents of {RCAP::Base::Resource#deref_uri}.
# Returns an array containing the size (in bytes) and SHA-1 hash if
# {RCAP::Base::Resource#deref_uri} is present otherwise returns nil.
#
# @return [nil,Array(Integer,String)]
def calculate_hash_and_size
if @deref_uri
- @digest = Digest::SHA1.hexdigest( @deref_uri )
+ @digest = Digest::SHA1.hexdigest(@deref_uri)
@size = @deref_uri.bytesize
- [ @size, @digest ]
+ [@size, @digest]
end
end
# The decoded contents of {RCAP::Base::Resource#deref_uri} if present otherwise nil.
#
# @return [nil,String]
def decoded_deref_uri
- Base64.decode64( @deref_uri ) if @deref_uri
+ Base64.decode64(@deref_uri) if @deref_uri
end
# If size is defined returns the size in kilobytes
# @return [Float]
def size_in_kb
if @size
- @size.to_f/1024
+ @size.to_f / 1024
end
end
# @return [String]
def to_xml
- self.to_xml_element.to_s
+ to_xml_element.to_s
end
# @return [String]
def inspect
- [ @resource_desc, @uri, @mime_type, @size ? format( "%.1fKB", self.size_in_kb ) : nil ].compact.join(' - ')
+ [@resource_desc, @uri, @mime_type, @size ? format('%.1fKB', size_in_kb) : nil].compact.join(' - ')
end
# Returns a string representation of the resource of the form
# resource_desc
#
# @return [String]
def to_s
@resource_desc
end
- RESOURCE_DESC_YAML = "Resource Description"
- URI_YAML = "URI"
- MIME_TYPE_YAML = "Mime Type"
- SIZE_YAML = "Size"
- DIGEST_YAML = "Digest"
+ RESOURCE_DESC_YAML = 'Resource Description'
+ URI_YAML = 'URI'
+ MIME_TYPE_YAML = 'Mime Type'
+ SIZE_YAML = 'Size'
+ DIGEST_YAML = 'Digest'
def to_yaml_data
- RCAP.attribute_values_to_hash( [ RESOURCE_DESC_YAML, @resource_desc ],
- [ URI_YAML, @uri ],
- [ MIME_TYPE_YAML, @mime_type ],
- [ SIZE_YAML, @size ],
- [ DIGEST_YAML, @digest ])
+ RCAP.attribute_values_to_hash([RESOURCE_DESC_YAML, @resource_desc],
+ [URI_YAML, @uri],
+ [MIME_TYPE_YAML, @mime_type],
+ [SIZE_YAML, @size],
+ [DIGEST_YAML, @digest])
end
# @param [Hash] options
# @return [String]
- def to_yaml( options = {} )
- self.to_yaml_data.to_yaml( options )
+ def to_yaml(options = {})
+ to_yaml_data.to_yaml(options)
end
# @param [Hash] resource_yaml_data
# @return [Resource]
- def self.from_yaml_data( resource_yaml_data )
- self.new do |resource|
- resource.resource_desc = resource_yaml_data[ RESOURCE_DESC_YAML ]
- resource.uri = resource_yaml_data[ URI_YAML ]
- resource.mime_type = resource_yaml_data[ MIME_TYPE_YAML ]
- resource.size = resource_yaml_data[ SIZE_YAML ]
- resource.digest = resource_yaml_data[ DIGEST_YAML ]
+ def self.from_yaml_data(resource_yaml_data)
+ new do |resource|
+ resource.resource_desc = resource_yaml_data[RESOURCE_DESC_YAML]
+ resource.uri = resource_yaml_data[URI_YAML]
+ resource.mime_type = resource_yaml_data[MIME_TYPE_YAML]
+ resource.size = resource_yaml_data[SIZE_YAML]
+ resource.digest = resource_yaml_data[DIGEST_YAML]
end
end
RESOURCE_DESC_KEY = 'resource_desc'
URI_KEY = 'uri'
@@ -147,25 +147,25 @@
SIZE_KEY = 'size'
DIGEST_KEY = 'digest'
# @return [Hash]
def to_h
- RCAP.attribute_values_to_hash( [ RESOURCE_DESC_KEY, @resource_desc ],
- [ URI_KEY, @uri],
- [ MIME_TYPE_KEY, @mime_type],
- [ SIZE_KEY, @size ],
- [ DIGEST_KEY, @digest ])
+ RCAP.attribute_values_to_hash([RESOURCE_DESC_KEY, @resource_desc],
+ [URI_KEY, @uri],
+ [MIME_TYPE_KEY, @mime_type],
+ [SIZE_KEY, @size],
+ [DIGEST_KEY, @digest])
end
# @param [Hash] resource_hash
# @return [Resource]
- def self.from_h( resource_hash )
- self.new do |resource|
- resource.resource_desc = RCAP.strip_if_given( resource_hash[ RESOURCE_DESC_KEY ])
- resource.uri = RCAP.strip_if_given( resource_hash[ URI_KEY ])
- resource.mime_type = RCAP.strip_if_given( resource_hash[ MIME_TYPE_KEY ])
- resource.size = RCAP.to_i_if_given( resource_hash[ SIZE_KEY ])
- resource.digest = RCAP.strip_if_given( resource_hash[ DIGEST_KEY ])
+ def self.from_h(resource_hash)
+ new do |resource|
+ resource.resource_desc = RCAP.strip_if_given(resource_hash[RESOURCE_DESC_KEY])
+ resource.uri = RCAP.strip_if_given(resource_hash[URI_KEY])
+ resource.mime_type = RCAP.strip_if_given(resource_hash[MIME_TYPE_KEY])
+ resource.size = RCAP.to_i_if_given(resource_hash[SIZE_KEY])
+ resource.digest = RCAP.strip_if_given(resource_hash[DIGEST_KEY])
end
end
end
end
end