Sha256: fcbfc85b1e19ea40d2f89ecf0aa57b91ae735f65103dadec94d440269c11b484

Contents?: true

Size: 1.1 KB

Versions: 6

Compression:

Stored size: 1.1 KB

Contents

module Radius
  module Utility # :nodoc:
    def self.symbolize_keys(hash)
      new_hash = {}
      hash.keys.each do |k|
        new_hash[k.to_s.intern] = hash[k]
      end
      new_hash
    end
    
    def self.impartial_hash_delete(hash, key)
      string = key.to_s
      symbol = string.intern
      value1 = hash.delete(symbol)
      value2 = hash.delete(string)
      value1 || value2
    end
    
    def self.constantize(camelized_string)
      raise "invalid constant name `#{camelized_string}'" unless camelized_string.split('::').all? { |part| part =~ /^[A-Za-z]+$/ }
      Object.module_eval(camelized_string)
    end
    
    def self.camelize(underscored_string)
      string = ''
      underscored_string.split('_').each { |part| string << part.capitalize }
      string
    end

    if RUBY_VERSION[0,3] == '1.8'
      def self.array_to_s(c)
        c.to_s
      end
    else
      def self.array_to_s(c)
        c.map do |x| 
          res = (x.is_a?(Array) ? array_to_s(x) : x.to_s)
          (res.frozen? ? res.dup : res).force_encoding(Encoding::UTF_8) 
        end.join
      end
    end
  end
end

Version data entries

6 entries across 5 versions & 3 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/radius-0.7.5/lib/radius/utility.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/radius-0.7.5/lib/radius/utility.rb
radius-0.7.5 lib/radius/utility.rb
radius-0.7.4 lib/radius/utility.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/radius-0.7.3/lib/radius/utility.rb
radius-0.7.3 lib/radius/utility.rb