Class: Gloo::Objs::String

Inherits:
Core::Obj show all
Includes:
StringMsgs
Defined in:
lib/gloo/objs/basic/string.rb

Constant Summary collapse

KEYWORD =
'string'.freeze
KEYWORD_SHORT =
'str'.freeze
MISSING_PARAM_MSG =
'Missing parameter!'.freeze

Constants inherited from Core::Baseo

Core::Baseo::NOT_IMPLEMENTED_ERR

Instance Attribute Summary

Attributes inherited from Core::Obj

#children, #parent, #value

Attributes inherited from Core::Baseo

#name

Class Method Summary collapse

Instance Method Summary collapse

Methods included from StringMsgs

#msg_count_chars, #msg_count_lines, #msg_count_words, #msg_decode64, #msg_down, #msg_encode64, #msg_ends_with?, #msg_escape, #msg_format_for_html, #msg_gen_alphanumeric, #msg_gen_base64, #msg_gen_hex, #msg_gen_uuid, #msg_gsub, #msg_page, #msg_size, #msg_starts_with?, #msg_sub, #msg_substring?, #msg_trim, #msg_unescape, #msg_up

Methods inherited from Core::Obj

#add_child, #add_children_on_create?, #add_default_children, can_create?, #can_receive_message?, #child_count, #child_index, #contains_child?, #delete_children, #dispatch, #display_value, #find_add_child, #find_child, #find_child_resolve_alias, #find_child_value, help, inherited, #initialize, #is_alias?, #is_container?, #is_function?, #msg_blank?, #msg_contains?, #msg_reload, #msg_responds_to?, #msg_unload, #multiline_value?, #pn, #remove_child, #render, #root?, #send_message, #set_parent, #sql_value, #type_display, #value_display, #value_is_array?, #value_is_blank?, #value_string?

Methods inherited from Core::Baseo

#initialize, #type_display

Constructor Details

This class inherits a constructor from Gloo::Core::Obj

Class Method Details

.doc_dataObject

Get the object's documentation data.



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/gloo/objs/basic/string.rb', line 57

def self.doc_data
  {
    :name => KEYWORD,
    :shortcut => KEYWORD_SHORT,
    :description => 'A string value. For string interpolation, ' \
      'see the erb object type.',
    :messages => [
      'up — Convert the string to uppercase. This message changes the value of the string.',
      'down — Convert the string to lowercase. This message changes the value of the string.',
      'size — Get the size of the string. It will have the string size.',
      'count_chars — Count the number of characters in the string. It will have the character count.',
      'count_words — Count the number of words in the string. It will have the word count.',
      'count_lines — Count the number of lines in the string. It will have the line count.',
      'starts_with? ({str}) — Check if the string starts with the given string. A parameter is required: the string to look for at the beginning of this string. It will have a boolean.',
      'ends_with? ({str}) — Check if the string ends with the given string. A parameter is required: the string to look for at the end of this string. It will have a boolean.',
      'substring? ({str}) — Check if the string includes the given sub-string. A parameter is required: the string to look for in this string. It will have a boolean.',
      'format_for_html — Format this string for HTML output. Tabs, spaces and returns are converted to HTML elements. The value of the string is changed.',
      'encode64 — Base64 encode the string. This message changes the value of the string. It will have the encoded string.',
      'decode64 — Decode the string from Base64. This message changes the value of the string. It will have the decoded string.',
      'escape — Escape the string to make it URL safe. This message changes the value of the string. It will have the escaped string.',
      'unescape — Unescape the string (from URL safe format). This message changes the value of the string. It will have the unescaped string.',
      'gen_uuid — Set the value of the string to a newly generated, random UUID. This message changes the value of the string.',
      'gen_alphanumeric ({len}) — Set the value of the string to a newly generated, random alphanumeric string. The {len} parameter is optional; the length is 10 if not specified. This message changes the value of the string.',
      'gen_hex ({len}) — Set the value of the string to a newly generated, random hex string. The {len} parameter is optional; the length is 10 if not specified. This message changes the value of the string.',
      'gen_base64 ({len}) — Set the value of the string to a newly generated, random base64 string. The {len} parameter is optional; the length is 12 if not specified. This message changes the value of the string.',
      'trim — Strip whitespace from the beginning and end of the string. This message changes the value of the string. It will have the trimmed string.',
      'sub ({from}, {to}) — Substitute the first occurrence of {from} with {to}. Both parameters are required. This message changes the value of the string. It will have the result.',
      'gsub ({from}, {to}) — Substitute all occurrences of {from} with {to}. Both parameters are required. This message changes the value of the string. It will have the result.',
      'page — Show the value in a pager (less), for viewing long content a screen at a time.'
    ],
    :examples => <<~EXAMPLES.strip
      s [can] :
        msg [string] : Hello World!
        on_load [script] :
          show s.msg
          tell s.msg to up
          show s.msg
          tell s.msg to size
          show it
    EXAMPLES
  }
end

.messagesObject

Get a list of message names that this object receives.



46
47
48
# File 'lib/gloo/objs/basic/string.rb', line 46

def self.messages
  return super + StringMsgs.messages
end

.short_typenameObject

The short name of the object type.



28
29
30
# File 'lib/gloo/objs/basic/string.rb', line 28

def self.short_typename
  return KEYWORD_SHORT
end

.typenameObject

The name of the object type.



21
22
23
# File 'lib/gloo/objs/basic/string.rb', line 21

def self.typename
  return KEYWORD
end

Instance Method Details

#set_value(new_value) ⇒ Object

Set the value with any necessary type conversions.



35
36
37
# File 'lib/gloo/objs/basic/string.rb', line 35

def set_value( new_value )
  self.value = new_value.to_s
end