module Filepreviews::Utils

@author Jonah Ruiz <jonah@pixelhipsters.com> Utility module with helper methods

Public Class Methods

included(base) click to toggle source
# File lib/filepreviews/utils.rb, line 8
def self.included(base)
  base.extend(self)
end

Public Instance Methods

extract_metadata(metadata) click to toggle source

Extracts metadata parameters @param metadata [Array] image formats @return [String] metadata url parameters

# File lib/filepreviews/utils.rb, line 15
def extract_metadata(metadata)
  metadata.to_a
end
extract_size(size) click to toggle source

Extracts the desired image size attributes @param size [Hash<Symbol>] desired image :width and :height @return [String] combined width and height size for http request

# File lib/filepreviews/utils.rb, line 31
def extract_size(size)
  unless size.nil?
    size = OpenStruct.new(size)
    "#{size.width}x#{size.height}"
  end
end
process_params(params) click to toggle source

Returns processed options and url as parameters @param params [Hash<Symbol>] :url and :metadata @return [Hash<Symbol>] processed parameters for http request

# File lib/filepreviews/utils.rb, line 41
def process_params(params)
  parameters = { url: CGI.unescape(params.url) }

  if params.metadata
    parameters[:metadata] = extract_metadata(params.metadata)
  end

  parameters
end
validate_pages(pages) click to toggle source

Validates page parameters @param pages [Array] page parameters @return [String] page thumbnail parameters

# File lib/filepreviews/utils.rb, line 22
def validate_pages(pages)
  if !!(pages =~ /,/) || !!(pages =~ /-/) || pages.eql?('all') || pages =~ /\d/
    pages
  end
end