Class: Gloo::Objs::Teams
- Inherits:
-
Core::Obj
- Object
- Core::Baseo
- Core::Obj
- Gloo::Objs::Teams
- Defined in:
- lib/gloo/objs/web/teams.rb
Constant Summary collapse
- KEYWORD =
'teams'.freeze
- KEYWORD_SHORT =
'team'.freeze
- URL =
'uri'.freeze
- DEFAULT_URL =
'https://outlook.office.com/webhook/...'.freeze
- MSG =
'message'.freeze
- TITLE =
'title'.freeze
- COLOR =
'color'.freeze
- DEFAULT_COLOR =
'008000'.freeze
Constants inherited from Core::Baseo
Core::Baseo::NOT_IMPLEMENTED_ERR
Instance Attribute Summary
Attributes inherited from Core::Obj
Attributes inherited from Core::Baseo
Class Method Summary collapse
-
.messages ⇒ Object
Get a list of message names that this object receives.
-
.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.
-
#add_default_children ⇒ Object
Add children to this object.
-
#body_as_json ⇒ Object
Get all the children of the body container and convert to JSON that will be sent in the HTTP body.
-
#color_value ⇒ Object
Get the color value.
-
#msg_run ⇒ Object
Post the content to Microsoft Teams.
-
#uri_value ⇒ Object
Get the URI from the child object.
Methods inherited from Core::Obj
#add_child, 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_function?, #msg_blank?, #msg_contains?, #msg_reload, #msg_unload, #multiline_value?, #pn, #remove_child, #render, #root?, #send_message, #set_parent, #set_value, #type_display, #value_display, #value_is_array?, #value_is_blank?, #value_string?
Methods inherited from Core::Baseo
Constructor Details
This class inherits a constructor from Gloo::Core::Obj
Class Method Details
.messages ⇒ Object
Get a list of message names that this object receives.
101 102 103 |
# File 'lib/gloo/objs/web/teams.rb', line 101 def self. return super + [ 'run' ] end |
.short_typename ⇒ Object
The short name of the object type.
33 34 35 |
# File 'lib/gloo/objs/web/teams.rb', line 33 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
26 27 28 |
# File 'lib/gloo/objs/web/teams.rb', line 26 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.
77 78 79 |
# File 'lib/gloo/objs/web/teams.rb', line 77 def add_children_on_create? return true end |
#add_default_children ⇒ Object
Add children to this object. This is used by containers to add children needed for default configurations.
86 87 88 89 90 91 92 |
# File 'lib/gloo/objs/web/teams.rb', line 86 def add_default_children fac = @engine.factory fac.create_string URL, DEFAULT_URL, self fac.create_string TITLE, '', self fac.create_string COLOR, DEFAULT_COLOR, self fac.create_string MSG, '', self end |
#body_as_json ⇒ Object
Get all the children of the body container and convert to JSON that will be sent in the HTTP body.
60 61 62 63 64 65 66 |
# File 'lib/gloo/objs/web/teams.rb', line 60 def body_as_json h = { 'title' => find_child( TITLE ).value, 'text' => find_child( MSG ).value } color = color_value h[ 'themeColor' ] = color if color return h.to_json end |
#color_value ⇒ Object
Get the color value.
49 50 51 52 53 54 |
# File 'lib/gloo/objs/web/teams.rb', line 49 def color_value c = find_child COLOR return nil unless c return c.value end |
#msg_run ⇒ Object
Post the content to Microsoft Teams.
108 109 110 111 112 113 |
# File 'lib/gloo/objs/web/teams.rb', line 108 def msg_run uri = uri_value return unless uri Gloo::Objs::HttpPost.post_json uri, body_as_json end |
#uri_value ⇒ Object
Get the URI from the child object. Returns nil if there is none.
41 42 43 44 45 46 |
# File 'lib/gloo/objs/web/teams.rb', line 41 def uri_value uri = find_child URL return nil unless uri return uri.value end |