Module: Seahorse::Util

Defined in:
lib/seahorse/util.rb

Class Method Summary collapse

Class Method Details

.irregular_inflections(hash) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



8
9
10
11
# File 'lib/seahorse/util.rb', line 8

def irregular_inflections(hash)
  @irregular_inflections.update(hash)
  @irregular_regex = Regexp.new(@irregular_inflections.keys.join('|'))
end

.load_json(path) ⇒ Object



27
28
29
# File 'lib/seahorse/util.rb', line 27

def load_json(path)
  MultiJson.load(File.open(path, 'r', encoding: 'UTF-8') { |f| f.read })
end

.underscore(string) ⇒ String

Returns the underscored version of the given string.

Parameters:

  • string (String)

Returns:

  • (String)

    Returns the underscored version of the given string.



15
16
17
18
19
20
21
# File 'lib/seahorse/util.rb', line 15

def underscore(string)
  string.
    gsub(@irregular_regex) { |word| '_' + @irregular_inflections[word] }.
    gsub(/([A-Z0-9]+)([A-Z][a-z])/, '\1_\2').
    scan(/[a-z0-9]+|\d+|[A-Z0-9]+[a-z]*/).
    join('_').downcase
end

.uri_escape(string) ⇒ Object



23
24
25
# File 'lib/seahorse/util.rb', line 23

def uri_escape(string)
  CGI::escape(string.encode('UTF-8')).gsub('+', '%20').gsub('%7E', '~')
end