Class: GlooLang::Core::GlooSystem
- Defined in:
- lib/gloo_lang/core/gloo_system.rb
Constant Summary collapse
- KEYWORD =
'gloo'.freeze
- KEYWORD_SHORT =
'$'.freeze
Constants inherited from Baseo
Instance Attribute Summary collapse
-
#pn ⇒ Object
readonly
Returns the value of attribute pn.
Attributes inherited from Obj
Attributes inherited from Baseo
Class Method Summary collapse
-
.can_create? ⇒ Boolean
Can this object be created? This is true by default and only false for some special cases such as the System object.
-
.messages ⇒ Object
Get a list of message names that this object receives.
-
.open_for_platform ⇒ Object
Get the command to open a file on this platform.
-
.short_typename ⇒ Object
The short name of the object type.
-
.typename ⇒ Object
The name of the object type.
Instance Method Summary collapse
-
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
-
#dispatch(msg) ⇒ Object
Dispatch the message and get the value.
-
#initialize(engine, pn) ⇒ GlooSystem
constructor
Set up the object.
-
#msg_gloo_config ⇒ Object
Get the Gloo configuration directory.
-
#msg_gloo_home ⇒ Object
Get the Gloo home directory.
-
#msg_gloo_log ⇒ Object
Get the Gloo log directory.
-
#msg_gloo_projects ⇒ Object
Get the Gloo projects directory.
-
#msg_hostname ⇒ Object
Get the system hostname.
-
#msg_line ⇒ Object
Carriage return (line feed).
-
#msg_platform_cpu ⇒ Object
Get the platform CPU.
-
#msg_platform_linux? ⇒ Boolean
Is the platform Linux?.
-
#msg_platform_mac? ⇒ Boolean
Is the platform Mac?.
-
#msg_platform_os ⇒ Object
Get the platform Operating System.
-
#msg_platform_unix? ⇒ Boolean
Is the platform Unix?.
-
#msg_platform_version ⇒ Object
Get the platform version.
-
#msg_platform_windows? ⇒ Boolean
Is the platform Windows?.
-
#msg_screen_cols ⇒ Object
Get the number of columns on screen.
-
#msg_screen_lines ⇒ Object
Get the number of lines on screen.
-
#msg_user ⇒ Object
Get the logged in User.
-
#msg_user_home ⇒ Object
Get the user’s home directory.
-
#msg_working_dir ⇒ Object
Get the working directory.
-
#param ⇒ Object
Get the parameter.
-
#root? ⇒ Boolean
Is this the root object?.
-
#set_value(new_value) ⇒ Object
There is no value object in the system.
-
#type_display ⇒ Object
The object type, suitable for display.
-
#value ⇒ Object
Get the system value.
-
#value_display ⇒ Object
Get the value for display purposes.
-
#value_is_array? ⇒ Boolean
Is the value an Array?.
-
#value_is_blank? ⇒ Boolean
Is the value a blank string?.
-
#value_string? ⇒ Boolean
Is the value a String?.
Methods inherited from Obj
#add_child, #add_default_children, #can_receive_message?, #child_count, #contains_child?, #delete_children, #display_value, #find_add_child, #find_child, help, inherited, #msg_reload, #msg_unload, #multiline_value?, #remove_child, #send_message, #set_parent
Constructor Details
#initialize(engine, pn) ⇒ GlooSystem
Set up the object.
21 22 23 24 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 21 def initialize( engine, pn ) @engine = engine @pn = pn end |
Instance Attribute Details
#pn ⇒ Object (readonly)
Returns the value of attribute pn.
18 19 20 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 18 def pn @pn end |
Class Method Details
.can_create? ⇒ Boolean
Can this object be created? This is true by default and only false for some special cases such as the System object.
55 56 57 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 55 def self.can_create? false end |
.messages ⇒ Object
Get a list of message names that this object receives.
132 133 134 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 132 def self. return [] end |
.open_for_platform ⇒ Object
Get the command to open a file on this platform.
257 258 259 260 261 262 263 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 257 def self.open_for_platform platform = TTY::Platform.new return 'open' if platform.mac? return 'xdg-open' if platform.linux? return nil end |
.short_typename ⇒ Object
The short name of the object type.
36 37 38 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 36 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
29 30 31 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 29 def self.typename return KEYWORD end |
Instance Method Details
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
121 122 123 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 121 def add_children_on_create? return false end |
#dispatch(msg) ⇒ Object
Dispatch the message and get the value.
137 138 139 140 141 142 143 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 137 def dispatch( msg ) o = "msg_#{msg}" return self.public_send( o ) if self.respond_to? o @engine.log.error "Message #{msg} not implemented" return false end |
#msg_gloo_config ⇒ Object
Get the Gloo configuration directory
171 172 173 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 171 def msg_gloo_config return @engine.settings.config_path end |
#msg_gloo_home ⇒ Object
Get the Gloo home directory
166 167 168 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 166 def msg_gloo_home return @engine.settings.user_root end |
#msg_gloo_log ⇒ Object
Get the Gloo log directory
181 182 183 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 181 def msg_gloo_log return @engine.settings.log_path end |
#msg_gloo_projects ⇒ Object
Get the Gloo projects directory
176 177 178 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 176 def msg_gloo_projects return @engine.settings.project_path end |
#msg_hostname ⇒ Object
Get the system hostname.
146 147 148 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 146 def msg_hostname return Socket.gethostname end |
#msg_line ⇒ Object
Carriage return (line feed)
190 191 192 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 190 def msg_line return "\n" end |
#msg_platform_cpu ⇒ Object
Get the platform CPU
213 214 215 216 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 213 def msg_platform_cpu platform = TTY::Platform.new return platform.cpu end |
#msg_platform_linux? ⇒ Boolean
Is the platform Linux?
243 244 245 246 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 243 def msg_platform_linux? platform = TTY::Platform.new return platform.linux? end |
#msg_platform_mac? ⇒ Boolean
Is the platform Mac?
249 250 251 252 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 249 def msg_platform_mac? platform = TTY::Platform.new return platform.mac? end |
#msg_platform_os ⇒ Object
Get the platform Operating System
219 220 221 222 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 219 def msg_platform_os platform = TTY::Platform.new return platform.os end |
#msg_platform_unix? ⇒ Boolean
Is the platform Unix?
237 238 239 240 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 237 def msg_platform_unix? platform = TTY::Platform.new return platform.unix? end |
#msg_platform_version ⇒ Object
Get the platform version
225 226 227 228 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 225 def msg_platform_version platform = TTY::Platform.new return platform.version end |
#msg_platform_windows? ⇒ Boolean
Is the platform Windows?
231 232 233 234 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 231 def msg_platform_windows? platform = TTY::Platform.new return platform.windows? end |
#msg_screen_cols ⇒ Object
Get the number of columns on screen.
204 205 206 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 204 def msg_screen_cols return GlooLang::App::Settings.cols( @engine ) end |
#msg_screen_lines ⇒ Object
Get the number of lines on screen.
199 200 201 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 199 def msg_screen_lines return GlooLang::App::Settings.lines( @engine ) end |
#msg_user ⇒ Object
Get the logged in User.
151 152 153 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 151 def msg_user return ENV[ 'USER' ] end |
#msg_user_home ⇒ Object
Get the user’s home directory.
156 157 158 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 156 def msg_user_home return File.( '~' ) end |
#msg_working_dir ⇒ Object
Get the working directory.
161 162 163 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 161 def msg_working_dir return Dir.pwd end |
#param ⇒ Object
Get the parameter.
66 67 68 69 70 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 66 def param return nil unless @pn && @pn.segments.count > 1 return @pn.segments[ 1..-1 ].join( '_' ) end |
#root? ⇒ Boolean
Is this the root object?
48 49 50 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 48 def root? return false end |
#set_value(new_value) ⇒ Object
There is no value object in the system.
82 83 84 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 82 def set_value( new_value ) # overriding base functionality with dummy function end |
#type_display ⇒ Object
The object type, suitable for display.
43 44 45 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 43 def type_display return self.class.typename end |
#value ⇒ Object
Get the system value.
75 76 77 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 75 def value return dispatch param end |
#value_display ⇒ Object
Get the value for display purposes.
89 90 91 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 89 def value_display return value end |
#value_is_array? ⇒ Boolean
Is the value an Array?
103 104 105 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 103 def value_is_array? return false end |
#value_is_blank? ⇒ Boolean
Is the value a blank string?
110 111 112 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 110 def value_is_blank? return true end |
#value_string? ⇒ Boolean
Is the value a String?
96 97 98 |
# File 'lib/gloo_lang/core/gloo_system.rb', line 96 def value_string? return true end |