ruby-jss 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ruby-jss might be problematic. Click here for more details.

Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +29 -22
  3. data/README.md +66 -86
  4. data/bin/jamfHelperBackgrounder +148 -0
  5. data/bin/netseg-update +0 -1
  6. data/lib/jss.rb +20 -9
  7. data/lib/jss/api_connection.rb +369 -295
  8. data/lib/jss/api_object.rb +651 -418
  9. data/lib/jss/api_object/account.rb +69 -77
  10. data/lib/jss/api_object/advanced_search.rb +201 -236
  11. data/lib/jss/api_object/advanced_search/advanced_computer_search.rb +42 -42
  12. data/lib/jss/api_object/advanced_search/advanced_mobile_device_search.rb +33 -43
  13. data/lib/jss/api_object/advanced_search/advanced_user_search.rb +33 -43
  14. data/lib/jss/api_object/building.rb +39 -52
  15. data/lib/jss/api_object/categorizable.rb +221 -0
  16. data/lib/jss/api_object/category.rb +81 -89
  17. data/lib/jss/api_object/computer.rb +486 -525
  18. data/lib/jss/api_object/computer_invitation.rb +73 -86
  19. data/lib/jss/api_object/criteriable.rb +6 -7
  20. data/lib/jss/api_object/ebook.rb +21 -0
  21. data/lib/jss/api_object/extendable.rb +6 -8
  22. data/lib/jss/api_object/group.rb +0 -3
  23. data/lib/jss/api_object/locatable.rb +19 -20
  24. data/lib/jss/api_object/mac_application.rb +21 -0
  25. data/lib/jss/api_object/mobile_device.rb +30 -21
  26. data/lib/jss/api_object/mobile_device_application.rb +447 -0
  27. data/lib/jss/api_object/mobile_device_configuration_profile.rb +21 -0
  28. data/lib/jss/api_object/osx_configuration_profile.rb +0 -3
  29. data/lib/jss/api_object/package.rb +21 -34
  30. data/lib/jss/api_object/peripheral.rb +16 -18
  31. data/lib/jss/api_object/policy.rb +5 -83
  32. data/lib/jss/api_object/purchasable.rb +11 -13
  33. data/lib/jss/api_object/scopable.rb +11 -12
  34. data/lib/jss/api_object/script.rb +3 -17
  35. data/lib/jss/api_object/self_servable.rb +419 -205
  36. data/lib/jss/api_object/self_servable/icon.rb +179 -0
  37. data/lib/jss/api_object/updatable.rb +35 -34
  38. data/lib/jss/api_object/uploadable.rb +72 -70
  39. data/lib/jss/api_object/user.rb +6 -7
  40. data/lib/jss/api_object/vppable.rb +117 -0
  41. data/lib/jss/client.rb +264 -225
  42. data/lib/jss/db_connection.rb +7 -5
  43. data/lib/jss/exceptions.rb +50 -42
  44. data/lib/jss/ruby_extensions.rb +8 -7
  45. data/lib/jss/ruby_extensions/object.rb +19 -0
  46. data/lib/jss/utility.rb +82 -40
  47. data/lib/jss/version.rb +1 -1
  48. metadata +37 -68
  49. data/bin/jss-webhook-server +0 -3
  50. data/lib/jss/webhooks.rb +0 -53
  51. data/lib/jss/webhooks/README.md +0 -269
  52. data/lib/jss/webhooks/configuration.rb +0 -213
  53. data/lib/jss/webhooks/data/sample_handlers/RestAPIOperation-executable +0 -91
  54. data/lib/jss/webhooks/data/sample_handlers/RestAPIOperation.rb +0 -45
  55. data/lib/jss/webhooks/data/sample_jsons/ComputerAdded.json +0 -27
  56. data/lib/jss/webhooks/data/sample_jsons/ComputerCheckIn.json +0 -27
  57. data/lib/jss/webhooks/data/sample_jsons/ComputerInventoryCompleted.json +0 -27
  58. data/lib/jss/webhooks/data/sample_jsons/ComputerPolicyFinished.json +0 -27
  59. data/lib/jss/webhooks/data/sample_jsons/ComputerPushCapabilityChanged.json +0 -27
  60. data/lib/jss/webhooks/data/sample_jsons/JSSShutdown.json +0 -14
  61. data/lib/jss/webhooks/data/sample_jsons/JSSStartup.json +0 -14
  62. data/lib/jss/webhooks/data/sample_jsons/MobileDeviceCheckIn.json +0 -26
  63. data/lib/jss/webhooks/data/sample_jsons/MobileDeviceCommandCompleted.json +0 -26
  64. data/lib/jss/webhooks/data/sample_jsons/MobileDeviceEnrolled.json +0 -26
  65. data/lib/jss/webhooks/data/sample_jsons/MobileDevicePushSent.json +0 -26
  66. data/lib/jss/webhooks/data/sample_jsons/MobileDeviceUnEnrolled.json +0 -26
  67. data/lib/jss/webhooks/data/sample_jsons/PatchSoftwareTitleUpdated.json +0 -14
  68. data/lib/jss/webhooks/data/sample_jsons/PushSent.json +0 -11
  69. data/lib/jss/webhooks/data/sample_jsons/RestAPIOperation.json +0 -15
  70. data/lib/jss/webhooks/data/sample_jsons/SCEPChallenge.json +0 -10
  71. data/lib/jss/webhooks/data/sample_jsons/SmartGroupComputerMembershipChange.json +0 -13
  72. data/lib/jss/webhooks/data/sample_jsons/SmartGroupMobileDeviceMembershipChange.json +0 -13
  73. data/lib/jss/webhooks/event.rb +0 -139
  74. data/lib/jss/webhooks/event/computer_added.rb +0 -38
  75. data/lib/jss/webhooks/event/computer_check_in.rb +0 -38
  76. data/lib/jss/webhooks/event/computer_inventory_completed.rb +0 -38
  77. data/lib/jss/webhooks/event/computer_policy_finished.rb +0 -38
  78. data/lib/jss/webhooks/event/computer_push_capability_changed.rb +0 -38
  79. data/lib/jss/webhooks/event/handlers.rb +0 -192
  80. data/lib/jss/webhooks/event/jss_shutdown.rb +0 -38
  81. data/lib/jss/webhooks/event/jss_startup.rb +0 -38
  82. data/lib/jss/webhooks/event/mobile_device_check_in.rb +0 -38
  83. data/lib/jss/webhooks/event/mobile_device_command_completed.rb +0 -38
  84. data/lib/jss/webhooks/event/mobile_device_enrolled.rb +0 -38
  85. data/lib/jss/webhooks/event/mobile_device_push_sent.rb +0 -38
  86. data/lib/jss/webhooks/event/mobile_device_unenrolled.rb +0 -38
  87. data/lib/jss/webhooks/event/patch_software_title_updated.rb +0 -38
  88. data/lib/jss/webhooks/event/push_sent.rb +0 -38
  89. data/lib/jss/webhooks/event/rest_api_operation.rb +0 -38
  90. data/lib/jss/webhooks/event/scep_challenge.rb +0 -38
  91. data/lib/jss/webhooks/event/smart_group_computer_membership_change.rb +0 -38
  92. data/lib/jss/webhooks/event/smart_group_mobile_device_membership_change.rb +0 -38
  93. data/lib/jss/webhooks/event/webhook.rb +0 -40
  94. data/lib/jss/webhooks/event_objects.rb +0 -112
  95. data/lib/jss/webhooks/event_objects/computer.rb +0 -49
  96. data/lib/jss/webhooks/event_objects/jss.rb +0 -36
  97. data/lib/jss/webhooks/event_objects/mobile_device.rb +0 -48
  98. data/lib/jss/webhooks/event_objects/patch_software_title_update.rb +0 -38
  99. data/lib/jss/webhooks/event_objects/push.rb +0 -33
  100. data/lib/jss/webhooks/event_objects/rest_api_operation.rb +0 -37
  101. data/lib/jss/webhooks/event_objects/scep_challenge.rb +0 -32
  102. data/lib/jss/webhooks/event_objects/smart_group.rb +0 -35
  103. data/lib/jss/webhooks/server_app.rb +0 -37
  104. data/lib/jss/webhooks/server_app/routes.rb +0 -27
  105. data/lib/jss/webhooks/server_app/routes/handle_webhook_event.rb +0 -39
  106. data/lib/jss/webhooks/server_app/routes/home.rb +0 -37
  107. data/lib/jss/webhooks/server_app/self_signed_cert.rb +0 -65
  108. data/lib/jss/webhooks/server_app/server.rb +0 -60
  109. data/lib/jss/webhooks/version.rb +0 -32
@@ -0,0 +1,21 @@
1
+ # This is just a stub for now.
2
+
3
+ #
4
+ module JSS
5
+
6
+ #
7
+ class MobileDeviceConfigurationProfile < APIObject
8
+
9
+ ### The base for REST resources of this class
10
+ RSRC_BASE = 'mobiledeviceconfigurationprofiles'.freeze
11
+
12
+ ### the hash key used for the JSON list output of all objects in the JSS
13
+ RSRC_LIST_KEY = :configuration_profiles
14
+
15
+ ### The hash key used for the JSON object output.
16
+ ### It's also used in various error messages
17
+ RSRC_OBJECT_KEY = :configuration_profile
18
+
19
+ end
20
+
21
+ end
@@ -141,9 +141,6 @@ module JSS
141
141
  @uuid = @main_subset[:uuid]
142
142
  @redeploy_on_update = @main_subset[:redeploy_on_update]
143
143
  @payloads = @main_subset[:payloads]
144
-
145
- self.parse_scope
146
- self.parse_self_service
147
144
  end
148
145
 
149
146
  #####################################
@@ -48,6 +48,7 @@ module JSS
48
48
  ### Mix-Ins
49
49
  #####################################
50
50
 
51
+ include JSS::Categorizable
51
52
  include JSS::Creatable
52
53
  include JSS::Updatable
53
54
 
@@ -127,9 +128,6 @@ module JSS
127
128
  ### @return [Boolean] can this item be uninstalled? Some, e.g. OS Updates, can't
128
129
  attr_reader :allow_uninstalled
129
130
 
130
- ### @return [String] the category of this pkg, stored in the JSS as the id number from the categories table
131
- attr_reader :category
132
-
133
131
  ### @return [String] the info field for this pkg - stores d3's basename & swupdate values
134
132
  attr_reader :info
135
133
 
@@ -156,8 +154,6 @@ module JSS
156
154
  ### now we have pkg_data with something in it, so fill out the instance vars
157
155
  @allow_uninstalled = @init_data[:allow_uninstalled]
158
156
  @boot_volume_required = @init_data[:boot_volume_required]
159
- @category = JSS::APIObject.get_name(@init_data[:category])
160
- @category = nil if @category.to_s.casecmp('No category assigned').zero?
161
157
  @filename = @init_data[:filename] || @init_data[:name]
162
158
  @fill_existing_users = @init_data[:fill_existing_users]
163
159
  @fill_user_template = @init_data[:fill_user_template]
@@ -214,21 +210,6 @@ module JSS
214
210
  @need_to_update = true
215
211
  end
216
212
 
217
- ### Change the category in the JSS
218
- ###
219
- ### @param new_val[String] must be one listed by 'JSS::Category.all_names'
220
- ###
221
- ### @return [void]
222
- ###
223
- def category=(new_val)
224
- return nil if new_val == @category
225
- new_val = nil if new_val == ''
226
- new_val ||= JSS::Category::DEFAULT_CATEGORY
227
- raise JSS::InvalidDataError, "Category #{new_val} is not known to the JSS" unless JSS::Category.all_names.include? new_val
228
- @category = new_val
229
- @need_to_update = true
230
- end
231
-
232
213
  ### Change the package filename.
233
214
  ### Setting it to nil or empty will make it match the display name
234
215
  ###
@@ -459,7 +440,10 @@ module JSS
459
440
 
460
441
  ### Upload a locally-readable file to the master distribution point.
461
442
  ### If the file is a directory (like a bundle .pk/.mpkg) it will be zipped before
462
- ### uploading and the @filename will be adjusted accordingly
443
+ ### uploading and the @filename will be adjusted accordingly by adding a .zip extension
444
+ ###
445
+ ### The name of the local file doesn't matter, the file on the dist. point will
446
+ ### use the @filename (possibly with .zip)
463
447
  ###
464
448
  ### If you'll be uploading several files you can specify unmount as false, and do it manually when all
465
449
  ### are finished with JSS::DistributionPoint.master_distribution_point.unmount
@@ -485,34 +469,37 @@ module JSS
485
469
  ### should we zip it?
486
470
  if local_path.directory?
487
471
  begin
488
- zipdir = Pathname.new "/tmp/jssgemtmp-#{Time.new.strftime '%Y%m%d%H%M%S'}-#{$PROCESS_ID}"
489
- zipdir.mkpath
490
- zipdir.chmod 0o700
491
- zipfile = zipdir + (local_path.basename.to_s + '.zip')
492
-
493
472
  ### go to the same dir as the local file
494
473
  wd = Dir.pwd
495
474
  Dir.chdir local_path.parent
496
475
 
497
476
  ### the contents of the zip file have to have the same name as the zip file itself (minus the .zip)
498
477
  ### so temporarily rename the source
499
- local_path.rename(local_path.parent + @filename)
500
- raise 'There was a problem zipping the pkg bundle' unless system "/usr/bin/zip -qr '#{zipfile}' '#{@filename}'"
478
+ local_path_to_upload = local_path.parent + @filename
479
+ local_path.rename local_path_to_upload unless local_path_to_upload == local_path
480
+
481
+ zipdir = Pathname.new "/tmp/rubyjsstmp-#{Time.new.strftime '%Y%m%d%H%M%S'}-#{$PROCESS_ID}"
482
+ zipdir.mkpath
483
+ zipdir.chmod 0o700
484
+ zipfile = zipdir + (local_path_to_upload.basename.to_s + '.zip')
485
+
486
+ raise 'There was a problem zipping the pkg bundle' unless system "/usr/bin/zip -qr '#{zipfile}' '#{local_path_to_upload}'"
501
487
 
502
488
  ensure
503
489
  ### rename the source to the original name
504
- (local_path.parent + @filename).rename local_path if (local_path.parent + @filename).exist?
490
+ local_path_to_upload.rename local_path if local_path_to_upload.exist? && local_path_to_upload != local_path
505
491
  ### go back where we started
506
492
  Dir.chdir wd
507
493
  end # begin
508
494
 
509
495
  ### update our info
510
496
  local_path = zipfile
511
-
512
- self.filename = zipfile.basename.to_s
513
-
497
+ destination = destination.to_s + '.zip'
498
+ @filename = zipfile.basename.to_s
499
+ @need_to_update = true
500
+ update
514
501
  end # if directory
515
- update
502
+
516
503
  FileUtils.copy_entry local_path, destination
517
504
 
518
505
  mdp.unmount if unmount
@@ -796,7 +783,6 @@ module JSS
796
783
  pkg = doc.add_element 'package'
797
784
  pkg.add_element('allow_uninstalled').text = @allow_uninstalled
798
785
  pkg.add_element('boot_volume_required').text = @boot_volume_required
799
- pkg.add_element('category').text = @category.to_s.casecmp('No category assigned').zero? ? '' : @category
800
786
  pkg.add_element('filename').text = @filename
801
787
  pkg.add_element('fill_existing_users').text = @fill_existing_users
802
788
  pkg.add_element('fill_user_template').text = @fill_user_template
@@ -810,6 +796,7 @@ module JSS
810
796
  pkg.add_element('required_processor').text = @required_processor.to_s.empty? ? 'None' : @required_processor
811
797
  pkg.add_element('send_notification').text = @send_notification
812
798
  pkg.add_element('switch_with_package').text = @switch_with_package
799
+ add_category_to_xml(doc)
813
800
  doc.to_s
814
801
  end # rest xml
815
802
 
@@ -1,26 +1,26 @@
1
1
  ### Copyright 2017 Pixar
2
2
 
3
- ###
3
+ ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
5
  ### with the following modification; you may not use this file except in
6
6
  ### compliance with the Apache License and the following modification to it:
7
7
  ### Section 6. Trademarks. is deleted and replaced with:
8
- ###
8
+ ###
9
9
  ### 6. Trademarks. This License does not grant permission to use the trade
10
10
  ### names, trademarks, service marks, or product names of the Licensor
11
11
  ### and its affiliates, except as required to comply with Section 4(c) of
12
12
  ### the License and to reproduce the content of the NOTICE file.
13
- ###
13
+ ###
14
14
  ### You may obtain a copy of the Apache License at
15
- ###
15
+ ###
16
16
  ### http://www.apache.org/licenses/LICENSE-2.0
17
- ###
17
+ ###
18
18
  ### Unless required by applicable law or agreed to in writing, software
19
19
  ### distributed under the Apache License with the above modification is
20
20
  ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
21
  ### KIND, either express or implied. See the Apache License for the specific
22
22
  ### language governing permissions and limitations under the Apache License.
23
- ###
23
+ ###
24
24
  ###
25
25
 
26
26
  ###
@@ -101,11 +101,11 @@ module JSS
101
101
 
102
102
  ### @return [String] the "bar code 1" value
103
103
  attr_reader :bar_code_1
104
-
104
+
105
105
 
106
106
  ### @return [String] the "bar code 2" value
107
107
  attr_reader :bar_code_2
108
-
108
+
109
109
 
110
110
  ### @return [Integer] the id number of the computer to which this periph is connected
111
111
  attr_reader :computer_id
@@ -149,8 +149,6 @@ module JSS
149
149
  ### get the field defs for this PeriphType, omitting the leading nil
150
150
  @field_defs ||= JSS::PeripheralType.new(:name => @type).fields.compact
151
151
 
152
- parse_location
153
- parse_purchasing
154
152
 
155
153
  end # initialize
156
154
 
@@ -209,7 +207,7 @@ module JSS
209
207
  @bar_code_1 = new_value
210
208
  @need_to_update = true
211
209
  end
212
-
210
+
213
211
 
214
212
  ###
215
213
  ### Set the value of barcode 2
@@ -222,7 +220,7 @@ module JSS
222
220
  @bar_code_2 = new_value
223
221
  @need_to_update = true
224
222
  end
225
-
223
+
226
224
 
227
225
  ###
228
226
  ### Associate this peripheral with a computer.
@@ -241,7 +239,7 @@ module JSS
241
239
  end
242
240
  @need_to_update = true
243
241
  end
244
-
242
+
245
243
 
246
244
  ###
247
245
  ### Disassociate this peripheral from any computer.
@@ -255,7 +253,7 @@ module JSS
255
253
  @computer_id = nil
256
254
  @need_to_update = true
257
255
  end
258
-
256
+
259
257
 
260
258
  #################################
261
259
  ### Private Methods below here
@@ -317,20 +315,20 @@ module JSS
317
315
 
318
316
  return doc.to_s
319
317
  end # rest xml
320
-
318
+
321
319
  ### Aliases
322
320
  alias barcode_1 bar_code_1
323
321
  alias barcode1 bar_code_1
324
322
  alias barcode_1= bar_code_1=
325
323
  alias barcode1= bar_code_1=
326
-
324
+
327
325
  alias barcode_2 bar_code_2
328
326
  alias barcode2 bar_code_2
329
327
  alias barcode_2= bar_code_2=
330
328
  alias barcode2= bar_code_2=
331
-
329
+
332
330
  alias assign_to associate
333
331
  alias unassign disassociate
334
-
332
+
335
333
  end # class Peripheral
336
334
  end # module
@@ -76,6 +76,8 @@ module JSS
76
76
  include JSS::Scopable
77
77
  include JSS::Uploadable
78
78
  include JSS::SelfServable
79
+ include JSS::Categorizable
80
+
79
81
 
80
82
  #####################################
81
83
  ### Class Methods
@@ -217,9 +219,6 @@ module JSS
217
219
  ### the JSS WebApp. They are general settings for this policy.
218
220
  ### We'll map it to direct attributes.
219
221
 
220
- ### @return [String] policy category name
221
- attr_reader :category
222
-
223
222
  ### @return [String] how often to run the policy on each computer
224
223
  attr_reader :frequency
225
224
 
@@ -533,7 +532,6 @@ module JSS
533
532
 
534
533
  if @in_jss
535
534
  gen = @init_data[:general]
536
- @category = JSS::APIObject.get_name(gen[:category])
537
535
  @frequency = gen[:frequency]
538
536
  @target_drive = gen[:target_drive]
539
537
  @offline = gen[:offline]
@@ -601,9 +599,6 @@ module JSS
601
599
 
602
600
  @printers = @init_data[:printers]
603
601
 
604
- parse_scope
605
- parse_self_service
606
- @in_self_service = @init_data[:self_service][:use_for_self_service]
607
602
 
608
603
  ### Not in jss yet
609
604
  end
@@ -699,21 +694,6 @@ module JSS
699
694
  @need_to_update = true
700
695
  end
701
696
 
702
- ### Change the category of this policy, arg is a category name
703
- ###
704
- ### @param new_val[String] the name of the new category
705
- ###
706
- ### @return [void]
707
- ###
708
- def category=(new_val = JSS::Category::DEFAULT_CATEGORY)
709
- return nil if @category == new_val
710
- new_val = nil if new_val == ''
711
- new_val ||= JSS::Category::DEFAULT_CATEGORY
712
- raise JSS::NoSuchItemError, "No category '#{new_val}' in the JSS" unless JSS::Category.all_names(:refresh).include? new_val
713
- @category = new_val
714
- @need_to_update = true
715
- end
716
-
717
697
  ### Change a trigger event
718
698
  ###
719
699
  ### @param type[Symbol] the type of trigger, one of the keys of {TRIGGER_EVENTS}
@@ -1106,62 +1086,6 @@ module JSS
1106
1086
  @printers.map { |p| p[:name] }
1107
1087
  end
1108
1088
 
1109
- ###### SelfService
1110
- ### Is this policy in self service?
1111
- ###
1112
- ### @return [Boolean] Is this policy in self service?
1113
- ###
1114
- def in_self_service?
1115
- @in_self_service
1116
- end
1117
-
1118
- ### policies in self service aren't 'removable'
1119
- ###
1120
- ### @return [FalseClass]
1121
- ###
1122
- def user_removable?
1123
- false
1124
- end
1125
- alias user_removable= user_removable?
1126
-
1127
- ### Add this policy to Self Service
1128
- ###
1129
- ### @return [void]
1130
- def add_to_self_service
1131
- @need_to_update = (@in_self_service == false)
1132
- @in_self_service = true
1133
- end
1134
-
1135
- ### Remove this policy from Self Service
1136
- ###
1137
- ### @return [void]
1138
- def remove_from_self_service
1139
- @need_to_update = (@in_self_service == true)
1140
- @in_self_service = false
1141
- end
1142
-
1143
- ### Select or upload an image file to be the self service icon.
1144
- ### The policy must already exist in the JSS to upload an image.
1145
- ###
1146
- ### NOTE: There is no way to verify the validity of an icon id, as they are not
1147
- ### available via the API. Caveat Emptor.
1148
- ###
1149
- ### NOTE: When setting by id, {#update} or #{save} must be used to save the change.
1150
- ###
1151
- ### @param icon [String, Pathname, Integer] the path to the local image file, to upload
1152
- ### or the id of a previously uploaded one.
1153
- ###
1154
- ### @return [void]
1155
- ###
1156
- def assign_icon(icon)
1157
- if icon.is_a? Integer
1158
- @self_service_icon = { id: icon }
1159
- @need_to_update = true
1160
- return
1161
- end
1162
- upload(:icon, icon)
1163
- end
1164
-
1165
1089
  ###### Actions
1166
1090
 
1167
1091
  ### Try to execute this policy on this machine.
@@ -1186,7 +1110,6 @@ module JSS
1186
1110
  alias command_to_run run_command
1187
1111
  alias delete_path? delete_file?
1188
1112
  alias execute run
1189
- alias self_service? in_self_service?
1190
1113
 
1191
1114
  ### Private Instance Methods
1192
1115
  #####################################
@@ -1202,7 +1125,8 @@ module JSS
1202
1125
  general.add_element('frequency').text = @frequency
1203
1126
  general.add_element('target_drive').text = @target_drive
1204
1127
  general.add_element('offline').text = @offline
1205
- general.add_element('category').add_element('name').text = @category if @category
1128
+
1129
+ add_category_to_xml(doc)
1206
1130
 
1207
1131
  JSS.hash_to_rexml_array(@trigger_events).each { |t| general << t }
1208
1132
 
@@ -1226,9 +1150,7 @@ module JSS
1226
1150
  sdeets.each { |d| script << d }
1227
1151
  end
1228
1152
 
1229
- self_svc = self_service_xml
1230
- self_svc.add_element('use_for_self_service').text = @in_self_service
1231
- obj << self_svc
1153
+ add_self_service_xml doc
1232
1154
 
1233
1155
  doc.to_s
1234
1156
  end
@@ -1,26 +1,26 @@
1
1
  ### Copyright 2017 Pixar
2
2
 
3
- ###
3
+ ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
5
  ### with the following modification; you may not use this file except in
6
6
  ### compliance with the Apache License and the following modification to it:
7
7
  ### Section 6. Trademarks. is deleted and replaced with:
8
- ###
8
+ ###
9
9
  ### 6. Trademarks. This License does not grant permission to use the trade
10
10
  ### names, trademarks, service marks, or product names of the Licensor
11
11
  ### and its affiliates, except as required to comply with Section 4(c) of
12
12
  ### the License and to reproduce the content of the NOTICE file.
13
- ###
13
+ ###
14
14
  ### You may obtain a copy of the Apache License at
15
- ###
15
+ ###
16
16
  ### http://www.apache.org/licenses/LICENSE-2.0
17
- ###
17
+ ###
18
18
  ### Unless required by applicable law or agreed to in writing, software
19
19
  ### distributed under the Apache License with the above modification is
20
20
  ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
21
  ### KIND, either express or implied. See the Apache License for the specific
22
22
  ### language governing permissions and limitations under the Apache License.
23
- ###
23
+ ###
24
24
  ###
25
25
 
26
26
  ###
@@ -58,8 +58,6 @@ module JSS
58
58
  ###
59
59
  ### These items become direct attributes of objects where this module is mixed-in.
60
60
  ###
61
- ### Classes mixing in this module must call {#parse_purchasing} in their initialization method
62
- ### in order to populate the attributes from @init_data.
63
61
  ###
64
62
  ### If the class also is Creatable or Updatable it must include the value of {#purchasing_xml} in its
65
63
  ### rest_xml output.
@@ -231,12 +229,12 @@ module JSS
231
229
  @vendor or \
232
230
  @warranty_expires
233
231
  end
234
-
232
+
235
233
  ###
236
234
  ### All the purchasing data in a Hash, as it comes from the API.
237
235
  ###
238
236
  ### The reason it isn't stored this way is to prevent editing of the hash directly.
239
- ###
237
+ ###
240
238
  ### @return [Hash<String>] the location data
241
239
  ###
242
240
  def purchasing
@@ -255,7 +253,7 @@ module JSS
255
253
  :warranty_expires => @warranty_expires,
256
254
  }
257
255
  end
258
-
256
+
259
257
  ###
260
258
  ### @api private
261
259
  ###
@@ -308,10 +306,10 @@ module JSS
308
306
  purch.add_element('warranty_expires_epoch').text = @warranty_expires ? @warranty_expires.to_jss_epoch : nil
309
307
  return purch
310
308
  end
311
-
309
+
312
310
  ### Aliases
313
311
  alias leased? is_leased
314
312
  alias purchased? is_purchased
315
-
313
+
316
314
  end # module Purchasable
317
315
  end # module JSS