Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/miga/common/format.rb

Overview

MiGA extensions to the String class.

Instance Method Summary collapse

Instance Method Details

#miga_nameObject

Replace any character not allowed in a MiGA name for underscore (_). This results in a MiGA-compliant name EXCEPT for empty strings, that results in empty strings.



138
139
140
# File 'lib/miga/common/format.rb', line 138

def miga_name
  gsub(/[^A-Za-z0-9_]/, '_')
end

#miga_name?Boolean

Is the string a MiGA-compliant name?

Returns:

  • (Boolean)


144
145
146
# File 'lib/miga/common/format.rb', line 144

def miga_name?
  !(self !~ /^[A-Za-z0-9_]+$/)
end

#miga_variables(vars) ⇒ Object

Replace {variables} using the vars hash



167
168
169
170
171
# File 'lib/miga/common/format.rb', line 167

def miga_variables(vars)
  o = "#{self}"
  vars.each { |k, v| o.gsub!("{{#{k}}}", v.to_s) }
  o
end

#unmiga_nameObject

Replace underscores by spaces or other symbols depending on context



150
151
152
153
154
155
156
157
# File 'lib/miga/common/format.rb', line 150

def unmiga_name
  gsub(/_(str|sp|subsp|pv)__/, '_\\1._')
    .gsub(/g_c_(content)/, 'G+C \\1')
    .gsub(/g_c_(skew)/, 'G-C \\1')
    .gsub(/a_t_(skew)/, 'A-T \\1')
    .gsub(/x_content/, &:capitalize)
    .tr('_', ' ')
end

#wrap_width(width) ⇒ Object

Wraps the string with fixed Integer width.



161
162
163
# File 'lib/miga/common/format.rb', line 161

def wrap_width(width)
  gsub(/([^\n\r]{1,#{width}})/, "\\1\n")
end