class Object
Constants
- CACHE_PURGE_STATUS_ID_MISSING
- CACHE_PURGE_URL_MISSING
- DEFAULT_TIME_DIFF
- FILE_ID_MISSING
- INVALID_PHASH_VALUE
- INVALID_TRANSFORMATION_OPTIONS
- INVALID_TRANSFORMATION_POS
- INVALID_URL_GENERATION_PARAM
- LIST_FILES_INPUT_MISSING
- MANDATORY_INIT_MISSING
- MISSING_FILE_URL
- MISSING_PHASH_VALUE
- MISSING_PRIVATE_KEY
- MISSING_PUBLIC_KEY
- MISSING_UPLOAD_DATA
- MISSING_UPLOAD_FILENAME_PARAM
- MISSING_UPLOAD_FILE_PARAMETER
- MISSING_URL_ENDPOINT
- SUPPORTED_TRANS
- UNEQUAL_STRING_LENGTH
- UPDATE_DATA_COORDS_INVALID
- UPDATE_DATA_MISSING
- UPDATE_DATA_TAGS_INVALID
- VALID_FILE_DETAIL_OPTIONS
- VALID_FILE_OPTIONS
- VALID_UPLOAD_OPTIONS
Public Instance Methods
camel_to_snake(camel_word)
click to toggle source
# File lib/imagekit/utils/formatter.rb, line 14 def camel_to_snake(camel_word) # convert camel case to snake case camel_word.to_s.gsub(/::/, "/") .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr("-", "_") .downcase end
get_authenticated_params(token, expire, private_key)
click to toggle source
# File lib/imagekit/utils/calculation.rb, line 21 def get_authenticated_params(token, expire, private_key) # return authenticated param default_expire = DateTime.now.strftime("%s").to_i + DEFAULT_TIME_DIFF token ||= SecureRandom.uuid auth_params = {'token': token, 'expire': expire, 'signature': ""} unless private_key return nil end signature = OpenSSL::HMAC.hexdigest("SHA1", private_key, token.to_s + expire.to_s) auth_params[:token] = token auth_params[:expire] = expire || default_expire auth_params[:signature] = signature auth_params end
hamming_distance(first, second)
click to toggle source
# File lib/imagekit/utils/calculation.rb, line 11 def hamming_distance(first, second) # Calculate Hamming distance between to hex string unless is_valid_hex(first) && is_valid_hex(second) raise ArgumentError, "Both argument should be hexadecimal" end a = first.to_i(16) b = second.to_i(16) (a ^ b).to_s(2).count("1") end
is_valid_hex(hex_string)
click to toggle source
# File lib/imagekit/utils/calculation.rb, line 6 def is_valid_hex(hex_string) # checks if hexadecimal value is valid or not /^[[:xdigit:]]+$/ === hex_string end
request_formatter(data)
click to toggle source
# File lib/imagekit/utils/formatter.rb, line 23 def request_formatter(data) result = {} data.each do |key, val| result[snake_to_camel(key.to_s)] = val end result end
snake_to_camel(word)
click to toggle source
# File lib/imagekit/utils/formatter.rb, line 1 def snake_to_camel(word) word_list = word.split("_") result = [] word_list&.each { |i| if i == word_list[0] result.push(i) else result.push(i.capitalize) end } result.join end