Class: Gloo::Core::GlooSystem
- Defined in:
- lib/gloo/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_app ⇒ Object
The running app directory.
-
#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, #child_index, #contains_child?, #delete_children, #display_value, #find_add_child, #find_child, #find_child_resolve_alias, #find_child_value, help, inherited, #is_alias?, #is_container?, #is_function?, #msg_blank?, #msg_contains?, #msg_reload, #msg_unload, #multiline_value?, #remove_child, #render, #send_message, #set_parent, #sql_value
Constructor Details
#initialize(engine, pn) ⇒ GlooSystem
Set up the object.
21 22 23 24 |
# File 'lib/gloo/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/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/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/core/gloo_system.rb', line 132 def self. return [] end |
.open_for_platform ⇒ Object
Get the command to open a file on this platform.
255 256 257 258 259 260 261 262 |
# File 'lib/gloo/core/gloo_system.rb', line 255 def self.open_for_platform return 'open' if OS.mac? return 'xdg-open' if OS.posix? return 'Start-Process' if OS.windows? return nil end |
.short_typename ⇒ Object
The short name of the object type.
36 37 38 |
# File 'lib/gloo/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/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/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/core/gloo_system.rb', line 137 def dispatch( msg ) o = "msg_#{msg}" return self.public_send( o ) if self.respond_to? o @engine.err "Message #{msg} not implemented" return false end |
#msg_app ⇒ Object
The running app directory.
181 182 183 |
# File 'lib/gloo/core/gloo_system.rb', line 181 def msg_app return @engine.settings.project_path end |
#msg_gloo_config ⇒ Object
Get the Gloo configuration directory
171 172 173 |
# File 'lib/gloo/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/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
186 187 188 |
# File 'lib/gloo/core/gloo_system.rb', line 186 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/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/core/gloo_system.rb', line 146 def msg_hostname return Socket.gethostname end |
#msg_line ⇒ Object
Carriage return (line feed)
195 196 197 |
# File 'lib/gloo/core/gloo_system.rb', line 195 def msg_line return "\n" end |
#msg_platform_cpu ⇒ Object
Get the platform CPU
218 219 220 |
# File 'lib/gloo/core/gloo_system.rb', line 218 def msg_platform_cpu return OS.host_cpu end |
#msg_platform_linux? ⇒ Boolean
Is the platform Linux?
243 244 245 |
# File 'lib/gloo/core/gloo_system.rb', line 243 def msg_platform_linux? return OS.posix? end |
#msg_platform_mac? ⇒ Boolean
Is the platform Mac?
248 249 250 |
# File 'lib/gloo/core/gloo_system.rb', line 248 def msg_platform_mac? return OS.mac? end |
#msg_platform_os ⇒ Object
Get the platform Operating System
223 224 225 |
# File 'lib/gloo/core/gloo_system.rb', line 223 def msg_platform_os return RUBY_PLATFORM end |
#msg_platform_unix? ⇒ Boolean
Is the platform Unix?
238 239 240 |
# File 'lib/gloo/core/gloo_system.rb', line 238 def msg_platform_unix? return OS.posix? end |
#msg_platform_version ⇒ Object
Get the platform version
228 229 230 |
# File 'lib/gloo/core/gloo_system.rb', line 228 def msg_platform_version return 'n/a' end |
#msg_platform_windows? ⇒ Boolean
Is the platform Windows?
233 234 235 |
# File 'lib/gloo/core/gloo_system.rb', line 233 def msg_platform_windows? return OS.windows? end |
#msg_screen_cols ⇒ Object
Get the number of columns on screen.
209 210 211 |
# File 'lib/gloo/core/gloo_system.rb', line 209 def msg_screen_cols return Gloo::App::Settings.cols( @engine ) end |
#msg_screen_lines ⇒ Object
Get the number of lines on screen.
204 205 206 |
# File 'lib/gloo/core/gloo_system.rb', line 204 def msg_screen_lines return Gloo::App::Settings.lines( @engine ) end |
#msg_user ⇒ Object
Get the logged in User.
151 152 153 |
# File 'lib/gloo/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/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/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/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/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/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/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/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/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/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/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/core/gloo_system.rb', line 96 def value_string? return true end |