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.



140
141
142
# File 'lib/miga/common/format.rb', line 140

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

#miga_name?Boolean

Is the string a MiGA-compliant name?

Returns:

  • (Boolean)


146
147
148
# File 'lib/miga/common/format.rb', line 146

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

#miga_variables(vars) ⇒ Object

Replace {variables} using the vars hash



172
173
174
175
176
# File 'lib/miga/common/format.rb', line 172

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



152
153
154
155
156
157
158
159
160
161
162
# File 'lib/miga/common/format.rb', line 152

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.



166
167
168
# File 'lib/miga/common/format.rb', line 166

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