lib/jss/api_object/dock_item.rb in ruby-jss-1.4.1 vs lib/jss/api_object/dock_item.rb in ruby-jss-1.5.1

- old
+ new

@@ -22,12 +22,13 @@ ### language governing permissions and limitations under the Apache License. ### ### module JSS - - # Module Variables + + + # Module Variables ##################################### # Module Methods ##################################### @@ -38,100 +39,105 @@ # These are rather simple. They have an ID, name, path, type, and contents which is read-only # # @see JSS::APIObject # class DockItem < JSS::APIObject - - # Mix-Ins - ##################################### - include JSS::Creatable - include JSS::Updatable - # Class Methods - ##################################### - # Class Constants - ##################################### + # Mix-Ins + ##################################### + include JSS::Creatable + include JSS::Updatable - # The Dock Item type - DOCK_ITEM_TYPE = [ - "App", - "File", - "Folder" - ].freeze + # Class Methods + ##################################### - # The base for REST resources of this class - RSRC_BASE = 'dockitems'.freeze + # Class Constants + ##################################### - # the hash key used for the JSON list output of all objects in the JSS - RSRC_LIST_KEY = :dock_items + # The Dock Item type + DOCK_ITEM_TYPE = %w[ + App + File + Folder + ].freeze - # The hash key used for the JSON object output. - # It's also used in various error messages - RSRC_OBJECT_KEY = :dock_item + # The base for REST resources of this class + RSRC_BASE = 'dockitems'.freeze - # the object type for this object in - # the object history table. - # See {APIObject#add_object_history_entry} - #OBJECT_HISTORY_OBJECT_TYPE = 41 + # the hash key used for the JSON list output of all objects in the JSS + RSRC_LIST_KEY = :dock_items - # Attributes - ##################################### - attr_reader :id - attr_reader :name - attr_reader :type - attr_reader :path + # The hash key used for the JSON object output. + # It's also used in various error messages + RSRC_OBJECT_KEY = :dock_item - # Constructor - # @see JSS::APIObject.initialize - ##################################### - def initialize(args = {}) - super args + # the object type for this object in + # the object history table. + # See {APIObject#add_object_history_entry} + # OBJECT_HISTORY_OBJECT_TYPE = 41 - @type = "App" unless !@init_data[:type].nil? - @type = @init_data[:type] - @path = @init_data[:path] - end + # Attributes + ##################################### + attr_reader :id + attr_reader :name + attr_reader :type + attr_reader :path - # Public Instance Methods - ##################################### + # Constructor + # @see JSS::APIObject.initialize + ##################################### + def initialize(args = {}) + super args - # set the type - # - # @param newval[String] the new app type - # - # @return [void] - # - def type=(newval) - raise JSS::InvalidDataError, 'Type must be a string' unless message.is_a? String - raise JSS::InvalidDataError, "Type must be one of the following: #{DOCK_ITEM_TYPE.to_s}; not #{newval.to_s}" unless DOCK_ITEM_TYPE.include? newval.to_s - @type = newval - @need_to_update = true - end + @type = 'App' if @init_data[:type].nil? + @type = @init_data[:type] + @path = @init_data[:path] + end - # set the path - # - # @param newval[String] the new app path - def path=(newval) - raise JSS::InvalidDataError, 'Path must be a String' unless newval.is_a? String - @path = newval - @need_to_update = true - end + # Public Instance Methods + ##################################### - # private instance methods - ###################### - private + # set the type + # + # @param newval[String] the new app type + # + # @return [void] + # + def type=(newval) + raise JSS::InvalidDataError, 'Type must be a string' unless newval.is_a? String + raise JSS::InvalidDataError, "Type must be one of the following: #{DOCK_ITEM_TYPE}; not #{newval}" unless DOCK_ITEM_TYPE.include? newval.to_s - # the xml formated data for adding or updating this in the JSS - # - def rest_xml - doc = REXML::Document.new APIConnection::XML_HEADER - ns = doc.add_element RSRC_OBJECT_KEY.to_s - ns.add_element('name').text = @name - ns.add_element('type').text = @type.to_s - ns.add_element('path').text = @path.to_s - doc.to_s - end # rest_xml + @type = newval + @need_to_update = true end - - -end \ No newline at end of file + + # set the path + # + # @param newval[String] the new app path + def path=(newval) + raise JSS::InvalidDataError, 'Path must be a String' unless newval.is_a? String + + @path = newval + @need_to_update = true + end + + # private instance methods + ###################### + private + + # the xml formated data for adding or updating this in the JSS + # + def rest_xml + doc = REXML::Document.new APIConnection::XML_HEADER + ns = doc.add_element RSRC_OBJECT_KEY.to_s + ns.add_element('name').text = @name + ns.add_element('type').text = @type.to_s + ns.add_element('path').text = @path.to_s + doc.to_s + end # rest_xml + + end + + + +end