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.



150
151
152
# File 'lib/miga/common/format.rb', line 150

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

#miga_name?Boolean

Is the string a MiGA-compliant name?

Returns:

  • (Boolean)


156
157
158
# File 'lib/miga/common/format.rb', line 156

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

#miga_variables(vars) ⇒ Object

Replace {variables} using the vars hash



182
183
184
185
186
# File 'lib/miga/common/format.rb', line 182

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

#unmiga_nameObject

Replace underscores by spaces or other symbols depending on context



162
163
164
165
166
167
168
169
170
171
172
# File 'lib/miga/common/format.rb', line 162

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)
    .gsub(/(^|_)([sl]su|a[an]i)(_|$)/, &:upcase)
    .gsub(/^trna_/, 'tRNA ')
    .gsub(/tRNA aa/, 'tRNA AA')
    .tr('_', ' ')
end

#wrap_width(width) ⇒ Object

Wraps the string with fixed Integer width.



176
177
178
# File 'lib/miga/common/format.rb', line 176

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