dbus-systemd 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -0
  3. data/README.md +57 -8
  4. data/Rakefile +5 -3
  5. data/Vagrantfile +3 -3
  6. data/bin/console +3 -3
  7. data/dbus-systemd.gemspec +14 -13
  8. data/lib/dbus/systemd.rb +20 -0
  9. data/lib/dbus/systemd/helpers.rb +20 -0
  10. data/lib/dbus/systemd/hostnamed.rb +22 -2
  11. data/lib/dbus/systemd/importd.rb +20 -0
  12. data/lib/dbus/systemd/importd/manager.rb +24 -4
  13. data/lib/dbus/systemd/importd/transfer.rb +22 -2
  14. data/lib/dbus/systemd/job.rb +22 -2
  15. data/lib/dbus/systemd/localed.rb +22 -2
  16. data/lib/dbus/systemd/logind.rb +20 -0
  17. data/lib/dbus/systemd/logind/manager.rb +27 -7
  18. data/lib/dbus/systemd/logind/seat.rb +22 -2
  19. data/lib/dbus/systemd/logind/session.rb +22 -2
  20. data/lib/dbus/systemd/logind/user.rb +22 -2
  21. data/lib/dbus/systemd/machined.rb +20 -0
  22. data/lib/dbus/systemd/machined/image.rb +22 -2
  23. data/lib/dbus/systemd/machined/machine.rb +22 -2
  24. data/lib/dbus/systemd/machined/manager.rb +25 -5
  25. data/lib/dbus/systemd/manager.rb +25 -5
  26. data/lib/dbus/systemd/mixin.rb +20 -0
  27. data/lib/dbus/systemd/networkd.rb +20 -0
  28. data/lib/dbus/systemd/networkd/link.rb +22 -2
  29. data/lib/dbus/systemd/networkd/manager.rb +23 -3
  30. data/lib/dbus/systemd/resolved.rb +20 -0
  31. data/lib/dbus/systemd/resolved/link.rb +22 -2
  32. data/lib/dbus/systemd/resolved/manager.rb +23 -3
  33. data/lib/dbus/systemd/timedated.rb +22 -2
  34. data/lib/dbus/systemd/unit.rb +22 -2
  35. data/lib/dbus/systemd/unit/automount.rb +26 -4
  36. data/lib/dbus/systemd/unit/device.rb +26 -4
  37. data/lib/dbus/systemd/unit/mount.rb +26 -4
  38. data/lib/dbus/systemd/unit/path.rb +26 -4
  39. data/lib/dbus/systemd/unit/scope.rb +26 -4
  40. data/lib/dbus/systemd/unit/service.rb +26 -4
  41. data/lib/dbus/systemd/unit/slice.rb +26 -4
  42. data/lib/dbus/systemd/unit/snapshot.rb +26 -4
  43. data/lib/dbus/systemd/unit/socket.rb +26 -4
  44. data/lib/dbus/systemd/unit/swap.rb +26 -4
  45. data/lib/dbus/systemd/unit/target.rb +26 -4
  46. data/lib/dbus/systemd/unit/timer.rb +26 -4
  47. data/lib/dbus/systemd/version.rb +21 -1
  48. metadata +21 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1cd2469e3dc60e16cf19abd9bee2e6a6461af4b5
4
- data.tar.gz: 28b3857611bda2e745538aad82896b087311f83c
3
+ metadata.gz: b0d7cb7f2cc7465907d88f909e89cfab72fc2417
4
+ data.tar.gz: f883e6d2188cb5ccda2c5a995ac480a611afda26
5
5
  SHA512:
6
- metadata.gz: de319d06ece28ba8b079c4a5475b96f2eb9232312e167dd8a1befdf1f9983a931f357780c4453c6ace2773f46dcd9247c64710124b7d66c953320d6120201c4a
7
- data.tar.gz: 8d541b384d3f00d06d1c89f8e929e94595f55e9424df20eceffe823742b0409135ccafee8eb763c9b7ca395bc0af3bb74340e08bead31e667a89392154d542eb
6
+ metadata.gz: 759886ec0c0824f88ded4061564ced21937a9dc090c8cc8c3069dfa5493e3d54bf1345a95d4472bf52c09ca36e0db8e3d6adf00df31c20e5fcc4fab4fe1febfc
7
+ data.tar.gz: 6d54949564d74a83c60cb9ee4d300d01fe1dbc8a0411740cc6b6463632affdf05f57eca30453fc92343aeeb31983be1cb01e1cfbdc37a1c33afc8df1f00a71d2
data/.rubocop.yml ADDED
@@ -0,0 +1,8 @@
1
+ AllCops:
2
+ Exclude:
3
+ - dbus-systemd.gemspec
4
+ - spec/**/*
5
+ Metrics/LineLength:
6
+ Max: 100
7
+ Documentation:
8
+ Enabled: false
data/README.md CHANGED
@@ -42,7 +42,7 @@ irb(main):004:0> h.Get(DBus::Systemd::Hostnamed::INTERFACE, 'Hostname').first
42
42
  => "derp.localdomain"
43
43
  irb(main):005:0> h.SetHostname('my-hostname.localdomain', false)
44
44
  => []
45
- irb(main):006:0> h.Get(DBus::Systemd::Hostnamed::INTERFACE, 'Hostname').first
45
+ irb(main):006:0> h.properties['Hostname']
46
46
  => "my-hostname.localdomain"
47
47
  ```
48
48
 
@@ -70,7 +70,7 @@ irb(main):009:0> l = DBus::Systemd::Localed.new
70
70
  => ...
71
71
  irb(main):010:0> l.object.methods - Object.methods
72
72
  => [:Set, :Get, :GetAll, :Ping, :GetMachineId, :Introspect, :SetLocale, :SetVConsoleKeyboard, :SetX11Keyboard, :[], :[]=, :path, :destination, :bus, :introspect, :api, :subnodes, :introspected, :default_iface, :interfaces, :define_shortcut_methods, :has_iface?, :on_signal, :subnodes=, :introspected=, :default_iface=]
73
- irb(main):011:0> l.GetAll(DBus::Systemd::Localed::INTERFACE).first
73
+ irb(main):011:0> l.properties
74
74
  => {"Locale"=>["LANG=en_US.UTF-8"], "X11Layout"=>"", "X11Model"=>"", "X11Variant"=>"", "X11Options"=>"", "VConsoleKeymap"=>"us", "VConsoleKeymapToggle"=>""}
75
75
  ```
76
76
 
@@ -91,7 +91,7 @@ irb(main):016:0> l.sessions
91
91
  => [{:id=>"3", :user_id=>1000, :user_name=>"vagrant", :seat_id=>"", :object_path=>"/org/freedesktop/login1/session/_33"}]
92
92
  irb(main):017:0> u = l.user(1000)
93
93
  => ...
94
- irb(main):019:0> u.GetAll(DBus::Systemd::Logind::User::INTERFACE).first
94
+ irb(main):019:0> u.properties
95
95
  => {"UID"=>1000, "GID"=>1000, "Name"=>"vagrant", "Timestamp"=>1475452037907590, "TimestampMonotonic"=>122159600, "RuntimePath"=>"/run/user/1000", "Service"=>"user@1000.service", "Slice"=>"user-1000.slice", "Display"=>["3", "/org/freedesktop/login1/session/_33"], "State"=>"active", "Sessions"=>[["3", "/org/freedesktop/login1/session/_33"]], "IdleHint"=>false, "IdleSinceHint"=>0, "IdleSinceHintMonotonic"=>0, "Linger"=>false}
96
96
  ```
97
97
 
@@ -108,22 +108,71 @@ irb(main):024:0> mm.machines
108
108
  => [{:name=>".host", :class=>"host", :service_id=>"", :object_path=>"/org/freedesktop/machine1/machine/_2ehost"}]
109
109
  irb(main):023:0> mm.images
110
110
  => [{:name=>"Fedora-23", :type=>"raw", :read_only=>false, :creation_time=>1446171608000000, :modification_time=>1446171608000000, :disk_space=>589676544, :object_path=>"/org/freedesktop/machine1/image/Fedora_2d23"}, {:name=>".raw-https:\\x2f\\x2fdl\\x2efedoraproject\\x2eorg\\x2fpub\\x2ffedora\\x2flinux\\x2freleases\\x2f24\\x2fCloudImages\\x2fx86_64\\x2fimages\\x2fFedora-Cloud-Base-24-1\\x2e2\\x2ex86_64\\x2eraw\\x2exz.\\x227fef0a4-5353f9c7441a0\\x22", :type=>"raw", :read_only=>true, :creation_time=>1465922207000000, :modification_time=>1465922207000000, :disk_space=>540872704, :object_path=>"/org/freedesktop/machine1/image/_2eraw_2dhttps_3a_5cx2f_5cx2fdl_5cx2efedoraproject_5cx2eorg_5cx2fpub_5cx2ffedora_5cx2flinux_5cx2freleases_5cx2f24_5cx2fCloudImages_5cx2fx86_5f64_5cx2fimages_5cx2fFedora_2dCloud_2dBase_2d24_2d1_5cx2e2_5cx2ex86_5f64_5cx2eraw_5cx2exz_2e_5cx227fef0a4_2d5353f9c7441a0_5cx22"}, {:name=>".raw-https:\\x2f\\x2fdl\\x2efedoraproject\\x2eorg\\x2fpub\\x2ffedora\\x2flinux\\x2freleases\\x2f23\\x2fCloud\\x2fx86_64\\x2fImages\\x2fFedora-Cloud-Base-23-20151030\\x2ex86_64\\x2eraw\\x2exz.\\x229205894-5234910faa600\\x22", :type=>"raw", :read_only=>true, :creation_time=>1446171608000000, :modification_time=>1446171608000000, :disk_space=>589676544, :object_path=>"/org/freedesktop/machine1/image/_2eraw_2dhttps_3a_5cx2f_5cx2fdl_5cx2efedoraproject_5cx2eorg_5cx2fpub_5cx2ffedora_5cx2flinux_5cx2freleases_5cx2f23_5cx2fCloud_5cx2fx86_5f64_5cx2fImages_5cx2fFedora_2dCloud_2dBase_2d23_2d20151030_5cx2ex86_5f64_5cx2eraw_5cx2exz_2e_5cx229205894_2d5234910faa600_5cx22"}, {:name=>"Fedora-24", :type=>"raw", :read_only=>false, :creation_time=>1465922207000000, :modification_time=>1465922207000000, :disk_space=>540872704, :object_path=>"/org/freedesktop/machine1/image/Fedora_2d24"}, {:name=>"test", :type=>"raw", :read_only=>false, :creation_time=>1446171608000000, :modification_time=>1446171608000000, :disk_space=>589676544, :object_path=>"/org/freedesktop/machine1/image/test"}, {:name=>".host", :type=>"directory", :read_only=>false, :creation_time=>0, :modification_time=>0, :disk_space=>18446744073709551615, :object_path=>"/org/freedesktop/machine1/image/_2ehost"}]
111
- irb(main):025:0> mm.GetAll(DBus::Systemd::Machined::Manager::INTERFACE).first
111
+ irb(main):025:0> mm.properties
112
112
  => {"PoolPath"=>"/var/lib/machines", "PoolUsage"=>1191448576, "PoolLimit"=>2105020416}
113
113
  irb(main):026:0> mi = mm.image('Fedora-24')
114
114
  => ...
115
115
  irb(main):027:0> mi.object.methods - Object.methods
116
116
  => [:Set, :Get, :GetAll, :Ping, :GetMachineId, :Introspect, :Remove, :Rename, :Clone, :MarkReadOnly, :SetLimit, :[], :[]=, :path, :destination, :bus, :introspect, :api, :subnodes, :introspected, :default_iface, :interfaces, :define_shortcut_methods, :has_iface?, :on_signal, :subnodes=, :introspected=, :default_iface=]
117
- irb(main):028:0> mi.GetAll(DBus::Systemd::Machined::Image::INTERFACE).first
117
+ irb(main):028:0> mi.properties
118
118
  => {"Name"=>"Fedora-24", "Path"=>"/var/lib/machines/Fedora-24.raw", "Type"=>"raw", "ReadOnly"=>false, "CreationTimestamp"=>1465922207000000, "ModificationTimestamp"=>1465922207000000, "Usage"=>540872704, "Limit"=>3221225472, "UsageExclusive"=>540872704, "LimitExclusive"=>3221225472}
119
119
  irb(main):029:0> machine = mm.machine('.host')
120
120
  => ..
121
121
  irb(main):030:0> machine.object.methods - Object.methods
122
122
  => [:Set, :Get, :GetAll, :Kill, :Ping, :GetMachineId, :Introspect, :Terminate, :GetAddresses, :GetOSRelease, :OpenPTY, :OpenLogin, :OpenShell, :BindMount, :CopyFrom, :CopyTo, :[], :[]=, :path, :destination, :bus, :introspect, :api, :subnodes, :introspected, :default_iface, :interfaces, :define_shortcut_methods, :has_iface?, :on_signal, :subnodes=, :introspected=, :default_iface=]
123
- irb(main):032:0> machine.GetAll(DBus::Systemd::Machined::Machine::INTERFACE).first
123
+ irb(main):032:0> machine.properties
124
124
  => {"Name"=>".host", "Id"=>[77, 46, 68, 242, 105, 232, 78, 52, 157, 152, 76, 171, 175, 145, 140, 130], "Timestamp"=>1475451915747985, "TimestampMonotonic"=>0, "Service"=>"", "Unit"=>"-.slice", "Leader"=>1, "Class"=>"host", "RootDirectory"=>"/", "NetworkInterfaces"=>[], "State"=>"running"}
125
125
  ```
126
126
 
127
+ ### DBus::Systemd::Networkd
128
+
129
+ There's not really documentation published for this, but some busctl work will show you what's available.
130
+
131
+ e.g....
132
+
133
+ ```bash
134
+ [root@localhost vagrant]# busctl introspect org.freedesktop.network1 /org/freedesktop/network1
135
+ NAME TYPE SIGNATURE RESULT/VALUE FLAGS
136
+ org.freedesktop.DBus.Introspectable interface - - -
137
+ .Introspect method - s -
138
+ org.freedesktop.DBus.Peer interface - - -
139
+ .GetMachineId method - s -
140
+ .Ping method - - -
141
+ org.freedesktop.DBus.Properties interface - - -
142
+ .Get method ss v -
143
+ .GetAll method s a{sv} -
144
+ .Set method ssv - -
145
+ .PropertiesChanged signal sa{sv}as - -
146
+ org.freedesktop.network1.Manager interface - - -
147
+ .OperationalState property s "routable" emits-change
148
+ [root@localhost vagrant]# busctl introspect org.freedesktop.network1 /org/freedesktop/network1/link/1
149
+ NAME TYPE SIGNATURE RESULT/VALUE FLAGS
150
+ org.freedesktop.DBus.Introspectable interface - - -
151
+ .Introspect method - s -
152
+ org.freedesktop.DBus.Peer interface - - -
153
+ .GetMachineId method - s -
154
+ .Ping method - - -
155
+ org.freedesktop.DBus.Properties interface - - -
156
+ .Get method ss v -
157
+ .GetAll method s a{sv} -
158
+ .Set method ssv - -
159
+ .PropertiesChanged signal sa{sv}as - -
160
+ org.freedesktop.network1.Link interface - - -
161
+ .AdministrativeState property s "unmanaged" emits-change
162
+ .OperationalState property s "carrier" emits-change
163
+ ```
164
+
165
+ ```ruby
166
+ irb(main):003:0> nm = DBus::Systemd::Networkd::Manager.new
167
+ => ...
168
+ irb(main):004:0> nm.properties
169
+ => {"OperationalState"=>"routable"}
170
+ irb(main):003:0> l = nm.link(1)
171
+ => ...
172
+ irb(main):004:0> l.properties
173
+ => {"OperationalState"=>"carrier", "AdministrativeState"=>"unmanaged"}
174
+ ```
175
+
127
176
  ### DBus::Systemd::Resolved
128
177
 
129
178
  For full docs, see [official docs](https://www.freedesktop.org/wiki/Software/systemd/resolved/).
@@ -150,7 +199,7 @@ irb(main):030:0> t.GetAll(DBus::Systemd::Timedated::INTERFACE).first
150
199
  => {"Timezone"=>"UTC", "LocalRTC"=>true, "CanNTP"=>true, "NTP"=>false, "NTPSynchronized"=>true, "TimeUSec"=>1475454744352557, "RTCTimeUSec"=>1475454742000000}
151
200
  irb(main):030:0> t.SetTimezone('America/Los_Angeles', false)
152
201
  => []
153
- irb(main):030:0> t.Get(DBus::Systemd::Timedated::INTERFACE, 'Timezone').first
202
+ irb(main):030:0> t.properties['Timezone']
154
203
  => "America/Los_Angeles"
155
204
  ```
156
205
 
@@ -169,7 +218,7 @@ irb(main):036:0> mgr.Get(DBus::Systemd::Manager::INTERFACE, 'Version').first
169
218
  => "229"
170
219
  irb(main):037:0> mgr.Get(DBus::Systemd::Manager::INTERFACE, 'UnitPath').first
171
220
  => ["/etc/systemd/system", "/run/systemd/system", "/run/systemd/generator", "/usr/local/lib/systemd/system", "/usr/lib/systemd/system", "/run/systemd/generator.late"]
172
- irb(main):038:0> mgr.Get(DBus::Systemd::Manager::INTERFACE, 'NFailedUnits').first
221
+ irb(main):038:0> mgr.properties['NFailedUnits']
173
222
  => 0
174
223
  ```
175
224
 
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ require 'rubocop/rake_task'
3
4
 
5
+ RuboCop::RakeTask.new
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
- task :default => :spec
8
+ task default: [:rubocop, :spec]
data/Vagrantfile CHANGED
@@ -3,10 +3,10 @@
3
3
 
4
4
  Vagrant.configure('2') do |config|
5
5
  config.vm.box = 'bento/fedora-24'
6
- config.vm.box_version = '2.2.9'
7
6
  config.vm.box_check_update = true
8
7
 
9
- config.vm.provision "shell", inline: <<-SHELL
10
- dnf install -y git ruby rubygem-bundler systemd-container btrfs-progs
8
+ config.vm.provision 'shell', inline: <<-SHELL
9
+ dnf install -y git ruby systemd-container btrfs-progs
10
+ gem instal bundler --no-document
11
11
  SHELL
12
12
  end
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "dbus/systemd"
3
+ require 'bundler/setup'
4
+ require 'dbus/systemd'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "dbus/systemd"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start
data/dbus-systemd.gemspec CHANGED
@@ -4,32 +4,33 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'dbus/systemd/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "dbus-systemd"
7
+ spec.name = 'dbus-systemd'
8
8
  spec.version = DBus::Systemd::VERSION
9
- spec.authors = ["Nathan Williams"]
10
- spec.email = ["nath.e.will@gmail.com"]
9
+ spec.authors = ['Nathan Williams']
10
+ spec.email = ['nath.e.will@gmail.com']
11
11
 
12
12
  spec.summary = 'systemd D-Bus API library'
13
13
  spec.description = 'library for interfacing with systemd D-Bus APIs'
14
- spec.homepage = "https://github.com/nathwill/ruby-dbus-systemd"
15
- spec.license = "MIT"
14
+ spec.homepage = 'https://github.com/nathwill/ruby-dbus-systemd'
15
+ spec.license = 'MIT'
16
16
 
17
17
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
18
  # to allow pushing to a single host or delete this section to allow pushing to any host.
19
19
  if spec.respond_to?(:metadata)
20
- spec.metadata['allowed_push_host'] = "https://rubygems.org"
20
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
21
21
  else
22
- raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
22
+ raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
23
23
  end
24
24
 
25
25
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
- spec.bindir = "exe"
26
+ spec.bindir = 'exe'
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
- spec.require_paths = ["lib"]
28
+ spec.require_paths = ['lib']
29
29
 
30
- spec.add_runtime_dependency "ruby-dbus", "~> 0.13"
30
+ spec.add_runtime_dependency 'ruby-dbus', '~> 0.13'
31
31
 
32
- spec.add_development_dependency "bundler", "~> 1.10"
33
- spec.add_development_dependency "rake", "~> 10.0"
34
- spec.add_development_dependency "rspec", "~> 3.0"
32
+ spec.add_development_dependency 'bundler', '~> 1.12'
33
+ spec.add_development_dependency 'rake', '~> 10.5'
34
+ spec.add_development_dependency 'rspec', '~> 3.0'
35
+ spec.add_development_dependency 'rubocop', '~> 0.43'
35
36
  end
data/lib/dbus/systemd.rb CHANGED
@@ -1,3 +1,23 @@
1
+ #
2
+ # Copyright (C) 2016 Nathan Williams <nath.e.will@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
1
21
  require_relative 'systemd/helpers'
2
22
  require_relative 'systemd/hostnamed'
3
23
  require_relative 'systemd/importd'
@@ -1,3 +1,23 @@
1
+ #
2
+ # Copyright (C) 2016 Nathan Williams <nath.e.will@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
1
21
  require 'dbus'
2
22
 
3
23
  module DBus
@@ -1,4 +1,24 @@
1
1
  #
2
+ # Copyright (C) 2016 Nathan Williams <nath.e.will@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
21
+ #
2
22
  # See docs for full API description:
3
23
  # https://www.freedesktop.org/wiki/Software/systemd/hostnamed/
4
24
  #
@@ -8,8 +28,8 @@ require_relative 'mixin'
8
28
  module DBus
9
29
  module Systemd
10
30
  class Hostnamed
11
- NODE = '/org/freedesktop/hostname1'
12
- INTERFACE = 'org.freedesktop.hostname1'
31
+ NODE = '/org/freedesktop/hostname1'.freeze
32
+ INTERFACE = 'org.freedesktop.hostname1'.freeze
13
33
 
14
34
  include Mixin::MethodMissing
15
35
  include Mixin::Properties
@@ -1,4 +1,24 @@
1
1
  #
2
+ # Copyright (C) 2016 Nathan Williams <nath.e.will@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
21
+ #
2
22
  # See docs for full API description:
3
23
  # https://www.freedesktop.org/wiki/Software/systemd/importd/
4
24
  #
@@ -1,3 +1,23 @@
1
+ #
2
+ # Copyright (C) 2016 Nathan Williams <nath.e.will@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
1
21
  require_relative '../helpers'
2
22
  require_relative '../mixin'
3
23
  require_relative 'transfer'
@@ -5,11 +25,11 @@ require_relative 'transfer'
5
25
  module DBus
6
26
  module Systemd
7
27
  module Importd
8
- INTERFACE = 'org.freedesktop.import1'
28
+ INTERFACE = 'org.freedesktop.import1'.freeze
9
29
 
10
30
  class Manager
11
- NODE = '/org/freedesktop/import1'
12
- INTERFACE = 'org.freedesktop.import1.Manager'
31
+ NODE = '/org/freedesktop/import1'.freeze
32
+ INTERFACE = 'org.freedesktop.import1.Manager'.freeze
13
33
 
14
34
  TRANSFER_INDICES = {
15
35
  id: 0,
@@ -18,7 +38,7 @@ module DBus
18
38
  image_name: 3,
19
39
  progress: 4,
20
40
  object_path: 5
21
- }
41
+ }.freeze
22
42
 
23
43
  include Systemd::Mixin::MethodMissing
24
44
  include Systemd::Mixin::Properties
@@ -1,3 +1,23 @@
1
+ #
2
+ # Copyright (C) 2016 Nathan Williams <nath.e.will@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
1
21
  require_relative '../mixin'
2
22
  require_relative 'manager'
3
23
 
@@ -5,14 +25,14 @@ module DBus
5
25
  module Systemd
6
26
  module Importd
7
27
  class Transfer
8
- INTERFACE = 'org.freedesktop.import1.Transfer'
28
+ INTERFACE = 'org.freedesktop.import1.Transfer'.freeze
9
29
 
10
30
  include Systemd::Mixin::MethodMissing
11
31
  include Systemd::Mixin::Properties
12
32
 
13
33
  def initialize(id, manager = Manager.new)
14
34
  @object = manager.service.object("#{Manager::NODE}/transfer/_#{id}")
15
- .tap(&:introspect)
35
+ .tap(&:introspect)
16
36
  end
17
37
  end
18
38
  end
@@ -1,10 +1,30 @@
1
+ #
2
+ # Copyright (C) 2016 Nathan Williams <nath.e.will@gmail.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+ # this software and associated documentation files (the "Software"), to deal in
6
+ # the Software without restriction, including without limitation the rights to
7
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+ # the Software, and to permit persons to whom the Software is furnished to do so,
9
+ # subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ #
1
21
  require_relative 'manager'
2
22
  require_relative 'mixin'
3
23
 
4
24
  module DBus
5
25
  module Systemd
6
26
  class Job
7
- INTERFACE = 'org.freedesktop.systemd1.Job'
27
+ INTERFACE = 'org.freedesktop.systemd1.Job'.freeze
8
28
 
9
29
  include Mixin::MethodMissing
10
30
  include Mixin::Properties
@@ -12,7 +32,7 @@ module DBus
12
32
  def initialize(id, manager = Manager.new)
13
33
  job_path = manager.GetJob(id).first
14
34
  @object = manager.service.object(job_path)
15
- .tap(&:introspect)
35
+ .tap(&:introspect)
16
36
  end
17
37
  end
18
38
  end