Sha256: 857458a99b33bbb925236dd477d4d406d506a1623bfe062371d7afb027019814

Contents?: true

Size: 932 Bytes

Versions: 3

Compression:

Stored size: 932 Bytes

Contents

module Keystone
  class StringUtil
    def self.int_to_splitted_path(i_value,value_length,base_folder,suffix="")
      file_name = Integer(i_value).to_s
      raise "value_length must bigger than 0" if value_length < 1
      raise 'i_value length is bigger than value_length' if file_name.size > value_length
      file_name = file_name.rjust(value_length, '0')
      new_path = base_folder.dup
      group_regex = ""
      i = value_length
      group_cnt = 0
      loop do
        group_cnt += 1
        if i > 2
          group_regex << "(\\d\\d\\d)"
          i -= 3
          break if i < 1
        else
          group_regex = "(#{"\\d"*i})" + group_regex
          break
        end
      end
      file_name.gsub(/#{group_regex}/) do |hit|
        1.upto(group_cnt) do |i|
          new_path << "/#{Regexp.last_match[i]}"
        end
      end
      new_path << suffix if suffix != ""
      return new_path
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
kanamei-kanamei-keystone-0.0.6 lib/keystone/string_util.rb
kanamei-kanamei-keystone-0.0.7 lib/keystone/string_util.rb
kanamei-keystone-0.0.8 lib/keystone/string_util.rb