ruby-dbus 0.16.0 → 0.25.0

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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +288 -3
  3. data/README.md +3 -5
  4. data/Rakefile +27 -12
  5. data/VERSION +1 -1
  6. data/doc/Reference.md +109 -10
  7. data/examples/doc/_extract_examples +7 -0
  8. data/examples/no-bus/pulseaudio.rb +50 -0
  9. data/examples/no-introspect/nm-test.rb +2 -0
  10. data/examples/no-introspect/tracker-test.rb +3 -1
  11. data/examples/rhythmbox/playpause.rb +2 -1
  12. data/examples/service/call_service.rb +2 -1
  13. data/examples/service/complex-property.rb +21 -0
  14. data/examples/service/service_newapi.rb +3 -3
  15. data/examples/simple/call_introspect.rb +1 -0
  16. data/examples/simple/get_id.rb +6 -3
  17. data/examples/simple/properties.rb +2 -0
  18. data/examples/utils/listnames.rb +10 -1
  19. data/examples/utils/notify.rb +1 -0
  20. data/lib/dbus/api_options.rb +9 -0
  21. data/lib/dbus/auth.rb +307 -217
  22. data/lib/dbus/bus.rb +155 -588
  23. data/lib/dbus/bus_name.rb +12 -8
  24. data/lib/dbus/connection.rb +363 -0
  25. data/lib/dbus/core_ext/class/attribute.rb +1 -1
  26. data/lib/dbus/data.rb +821 -0
  27. data/lib/dbus/emits_changed_signal.rb +83 -0
  28. data/lib/dbus/error.rb +4 -2
  29. data/lib/dbus/introspect.rb +133 -31
  30. data/lib/dbus/logger.rb +6 -3
  31. data/lib/dbus/main.rb +66 -0
  32. data/lib/dbus/marshall.rb +247 -296
  33. data/lib/dbus/matchrule.rb +16 -16
  34. data/lib/dbus/message.rb +66 -57
  35. data/lib/dbus/message_queue.rb +40 -25
  36. data/lib/dbus/node_tree.rb +105 -0
  37. data/lib/dbus/object.rb +442 -33
  38. data/lib/dbus/object_manager.rb +61 -0
  39. data/lib/dbus/object_path.rb +11 -6
  40. data/lib/dbus/object_server.rb +149 -0
  41. data/lib/dbus/org.freedesktop.DBus.xml +97 -0
  42. data/lib/dbus/platform.rb +26 -0
  43. data/lib/dbus/proxy_object.rb +30 -11
  44. data/lib/dbus/proxy_object_factory.rb +13 -7
  45. data/lib/dbus/proxy_object_interface.rb +63 -30
  46. data/lib/dbus/proxy_service.rb +107 -0
  47. data/lib/dbus/raw_message.rb +91 -0
  48. data/lib/dbus/type.rb +319 -86
  49. data/lib/dbus/xml.rb +40 -19
  50. data/lib/dbus.rb +28 -17
  51. data/ruby-dbus.gemspec +13 -6
  52. data/spec/async_spec.rb +2 -0
  53. data/spec/auth_spec.rb +225 -0
  54. data/spec/binding_spec.rb +2 -0
  55. data/spec/bus_and_xml_backend_spec.rb +5 -1
  56. data/spec/bus_connection_spec.rb +93 -0
  57. data/spec/bus_name_spec.rb +3 -1
  58. data/spec/bus_spec.rb +2 -0
  59. data/spec/byte_array_spec.rb +2 -0
  60. data/spec/client_robustness_spec.rb +4 -2
  61. data/spec/connection_spec.rb +37 -0
  62. data/spec/coverage_helper.rb +39 -0
  63. data/spec/data/marshall.yaml +1667 -0
  64. data/spec/data_spec.rb +673 -0
  65. data/spec/dbus_spec.rb +22 -0
  66. data/spec/emits_changed_signal_spec.rb +58 -0
  67. data/spec/err_msg_spec.rb +2 -0
  68. data/spec/introspect_xml_parser_spec.rb +2 -0
  69. data/spec/introspection_spec.rb +2 -0
  70. data/spec/main_loop_spec.rb +17 -1
  71. data/spec/message_spec.rb +21 -0
  72. data/spec/mock-service/cockpit-dbustests.rb +29 -0
  73. data/spec/mock-service/com.redhat.Cockpit.DBusTests.xml +180 -0
  74. data/spec/mock-service/org.ruby.service.service +4 -0
  75. data/spec/mock-service/org.rubygems.ruby_dbus.DBusTests.service +4 -0
  76. data/spec/{service_newapi.rb → mock-service/spaghetti-monster.rb} +122 -75
  77. data/spec/node_spec.rb +65 -0
  78. data/spec/object_manager_spec.rb +33 -0
  79. data/spec/object_path_spec.rb +3 -0
  80. data/spec/object_server_spec.rb +138 -0
  81. data/spec/object_spec.rb +194 -0
  82. data/spec/packet_marshaller_spec.rb +41 -0
  83. data/spec/packet_unmarshaller_spec.rb +248 -0
  84. data/spec/platform_spec.rb +14 -0
  85. data/spec/property_spec.rb +214 -12
  86. data/spec/proxy_object_interface_spec.rb +35 -0
  87. data/spec/proxy_object_spec.rb +2 -0
  88. data/spec/{bus_driver_spec.rb → proxy_service_spec.rb} +15 -8
  89. data/spec/raw_message_spec.rb +32 -0
  90. data/spec/server_robustness_spec.rb +20 -6
  91. data/spec/session_bus_spec.rb +36 -1
  92. data/spec/session_bus_spec_manual.rb +2 -0
  93. data/spec/signal_spec.rb +16 -3
  94. data/spec/spec_helper.rb +25 -33
  95. data/spec/thread_safety_spec.rb +55 -12
  96. data/spec/tools/dbus-launch-simple +9 -6
  97. data/spec/tools/dbus-limited-session.conf +32 -0
  98. data/spec/tools/test_env +26 -6
  99. data/spec/type_spec.rb +214 -6
  100. data/spec/value_spec.rb +16 -1
  101. data/spec/variant_spec.rb +4 -2
  102. data/spec/zzz_quit_spec.rb +16 -0
  103. metadata +92 -20
  104. data/examples/gdbus/gdbus +0 -257
  105. data/examples/gdbus/gdbus.glade +0 -98
  106. data/examples/gdbus/launch.sh +0 -4
  107. data/spec/server_spec.rb +0 -53
  108. data/spec/tools/test_server +0 -39
data/spec/type_spec.rb CHANGED
@@ -1,18 +1,226 @@
1
1
  #!/usr/bin/env rspec
2
+ # frozen_string_literal: true
3
+
2
4
  require_relative "spec_helper"
3
5
  require "dbus"
4
6
 
5
7
  describe DBus do
6
8
  describe ".type" do
7
- ["i", "ai", "a(ii)", "aai"].each do |s|
8
- it "parses some type #{s}" do
9
- expect(DBus.type(s).to_s).to be_eql s
9
+ good = [
10
+ "i",
11
+ "ai",
12
+ "a(ii)",
13
+ "aai"
14
+ ]
15
+
16
+ context "valid single types" do
17
+ good.each do |s|
18
+ it "#{s.inspect} is parsed" do
19
+ expect(DBus.type(s).to_s).to eq(s)
20
+ end
21
+ end
22
+ end
23
+
24
+ bad = [
25
+ ["\x00", "Unknown type code"],
26
+ ["!", "Unknown type code"],
27
+
28
+ # ARRAY related
29
+ ["a", "Empty ARRAY"],
30
+ ["aa", "Empty ARRAY"],
31
+
32
+ # STRUCT related
33
+ ["r", "Abstract STRUCT"],
34
+ ["()", "Empty STRUCT"],
35
+ ["(ii", "STRUCT not closed"],
36
+ ["a{i)", "STRUCT unexpectedly closed"],
37
+
38
+ # TODO: deep nesting arrays, structs, combined
39
+
40
+ # DICT_ENTRY related
41
+ ["e", "Abstract DICT_ENTRY"],
42
+ ["a{}", "DICT_ENTRY must have 2 subtypes, found 0"],
43
+ ["a{s}", "DICT_ENTRY must have 2 subtypes, found 1"],
44
+ ["a{sss}", "DICT_ENTRY must have 2 subtypes, found 3"],
45
+ ["a{vs}", "DICT_ENTRY key must be basic (non-container)"],
46
+ ["{sv}", "DICT_ENTRY not an immediate child of an ARRAY"],
47
+ ["a({sv})", "DICT_ENTRY not an immediate child of an ARRAY"],
48
+ ["a{s", "DICT_ENTRY not closed"],
49
+ ["a{sv", "DICT_ENTRY not closed"],
50
+ ["}", "DICT_ENTRY unexpectedly closed"],
51
+
52
+ # Too long
53
+ ["(#{"y" * 254})", "longer than 255"],
54
+
55
+ # not Single Complete Types
56
+ ["", "expecting a Single Complete Type"],
57
+ ["ii", "more than a Single Complete Type"]
58
+ ]
59
+ context "invalid single types" do
60
+ bad.each.each do |s, msg|
61
+ it "#{s.inspect} raises an exception mentioning: #{msg}" do
62
+ rx = Regexp.new(Regexp.quote(msg))
63
+ expect { DBus.type(s) }.to raise_error(DBus::Type::SignatureException, rx)
64
+ end
65
+ end
66
+ end
67
+ end
68
+
69
+ describe ".types" do
70
+ good = [
71
+ "",
72
+ "ii"
73
+ ]
74
+
75
+ context "valid signatures" do
76
+ good.each do |s|
77
+ it "#{s.inspect} is parsed" do
78
+ expect(DBus.types(s).map(&:to_s).join).to eq(s)
79
+ end
10
80
  end
11
81
  end
82
+ end
83
+
84
+ describe DBus::Type do
85
+ let(:as1) { DBus.type("as") }
86
+ let(:as2) { DBus.type("as") }
87
+ let(:aas) { DBus.type("aas") }
88
+
89
+ describe "#==" do
90
+ it "is true for same types" do
91
+ expect(as1).to eq(as2)
92
+ end
93
+
94
+ it "is true for a type and its string representation" do
95
+ expect(as1).to eq("as")
96
+ end
97
+
98
+ it "is false for different types" do
99
+ expect(as1).to_not eq(aas)
100
+ end
101
+
102
+ it "is false for a type and a different string" do
103
+ expect(as1).to_not eq("aas")
104
+ end
105
+ end
106
+
107
+ describe "#eql?" do
108
+ it "is true for same types" do
109
+ expect(as1).to eql(as2)
110
+ end
111
+
112
+ it "is false for a type and its string representation" do
113
+ expect(as1).to_not eql("as")
114
+ end
115
+
116
+ it "is false for different types" do
117
+ expect(as1).to_not eql(aas)
118
+ end
119
+
120
+ it "is false for a type and a different string" do
121
+ expect(as1).to_not eql("aas")
122
+ end
123
+ end
124
+
125
+ describe "#<<" do
126
+ it "raises if the argument is not a Type" do
127
+ t = DBus::Type.new(DBus::Type::ARRAY)
128
+ expect { t << "s" }.to raise_error(ArgumentError)
129
+ end
130
+
131
+ # TODO: the following raise checks do not occur in practice, as there are
132
+ # parallel checks in the parses. The code could be simplified?
133
+ it "raises if adding too much to an array" do
134
+ t = DBus::Type.new(DBus::Type::ARRAY)
135
+ b = DBus::Type.new(DBus::Type::BOOLEAN)
136
+ t << b
137
+ expect { t << b }.to raise_error(DBus::Type::SignatureException)
138
+ end
139
+
140
+ it "raises if adding too much to a dict_entry" do
141
+ t = DBus::Type.new(DBus::Type::DICT_ENTRY, abstract: true)
142
+ b = DBus::Type.new(DBus::Type::BOOLEAN)
143
+ t << b
144
+ t << b
145
+ expect { t << b }.to raise_error(DBus::Type::SignatureException)
146
+ end
147
+
148
+ it "raises if adding to a non-container" do
149
+ t = DBus::Type.new(DBus::Type::STRING)
150
+ b = DBus::Type.new(DBus::Type::BOOLEAN)
151
+ expect { t << b }.to raise_error(DBus::Type::SignatureException)
152
+
153
+ t = DBus::Type.new(DBus::Type::VARIANT)
154
+ expect { t << b }.to raise_error(DBus::Type::SignatureException)
155
+ end
156
+ end
157
+
158
+ describe DBus::Type::Array do
159
+ describe ".[]" do
160
+ it "takes Type argument" do
161
+ t = DBus::Type::Array[DBus::Type.new("s")]
162
+ expect(t.to_s).to eq "as"
163
+ end
164
+
165
+ it "takes 's':String argument" do
166
+ t = DBus::Type::Array["s"]
167
+ expect(t.to_s).to eq "as"
168
+ end
169
+
170
+ it "takes String:Class argument" do
171
+ t = DBus::Type::Array[String]
172
+ expect(t.to_s).to eq "as"
173
+ end
174
+
175
+ it "rejects Integer:Class argument" do
176
+ expect { DBus::Type::Array[Integer] }.to raise_error(ArgumentError)
177
+ end
178
+
179
+ it "rejects /./:Regexp argument" do
180
+ expect { DBus::Type::Array[/./] }.to raise_error(ArgumentError)
181
+ end
182
+ end
183
+ end
184
+
185
+ describe DBus::Type::Hash do
186
+ describe ".[]" do
187
+ it "takes Type arguments" do
188
+ t = DBus::Type::Hash[DBus::Type.new("s"), DBus::Type.new("v")]
189
+ expect(t.to_s).to eq "a{sv}"
190
+ end
191
+
192
+ it "takes 's':String arguments" do
193
+ t = DBus::Type::Hash["s", "v"]
194
+ expect(t.to_s).to eq "a{sv}"
195
+ end
196
+
197
+ it "takes String:Class argument" do
198
+ t = DBus::Type::Hash[String, DBus::Type::VARIANT]
199
+ expect(t.to_s).to eq "a{sv}"
200
+ end
201
+ end
202
+ end
203
+
204
+ describe DBus::Type::Struct do
205
+ describe ".[]" do
206
+ it "takes Type arguments" do
207
+ t = DBus::Type::Struct[DBus::Type.new("s"), DBus::Type.new("v")]
208
+ expect(t.to_s).to eq "(sv)"
209
+ end
210
+
211
+ it "takes 's':String arguments" do
212
+ t = DBus::Type::Struct["s", "v"]
213
+ expect(t.to_s).to eq "(sv)"
214
+ end
215
+
216
+ it "takes String:Class argument" do
217
+ t = DBus::Type::Struct[String, DBus::Type::VARIANT]
218
+ expect(t.to_s).to eq "(sv)"
219
+ end
12
220
 
13
- ["aa", "(ii", "ii)", "hrmp"].each do |s|
14
- it "raises exception for invalid type #{s}" do
15
- expect { DBus.type(s).to_s }.to raise_error DBus::Type::SignatureException
221
+ it "raises on no arguments" do
222
+ expect { DBus::Type::Struct[] }.to raise_error(ArgumentError)
223
+ end
16
224
  end
17
225
  end
18
226
  end
data/spec/value_spec.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env rspec
2
- # -*- coding: utf-8 -*-
2
+ # frozen_string_literal: true
3
+
3
4
  require_relative "spec_helper"
4
5
  require "dbus"
5
6
 
@@ -91,4 +92,18 @@ describe "ValueTest" do
91
92
  it "aligns short integers correctly" do
92
93
  expect(@obj.i16_plus(10, -30)[0]).to eq(-20)
93
94
  end
95
+
96
+ context "structs" do
97
+ it "they are returned as FROZEN arrays" do
98
+ struct = @obj.Coordinates[0]
99
+ expect(struct).to be_an(Array)
100
+ expect(struct).to be_frozen
101
+ end
102
+
103
+ it "they are returned also from structs" do
104
+ struct = @obj.Coordinates2[0]
105
+ expect(struct).to be_an(Array)
106
+ expect(struct).to be_frozen
107
+ end
108
+ end
94
109
  end
data/spec/variant_spec.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env rspec
2
+ # frozen_string_literal: true
3
+
2
4
  # Test marshalling variants according to ruby types
3
5
  require_relative "spec_helper"
4
6
  require "dbus"
@@ -9,8 +11,8 @@ describe "VariantTest" do
9
11
  @svc = @bus.service("org.ruby.service")
10
12
  end
11
13
 
12
- def make_variant(a)
13
- DBus::PacketMarshaller.make_variant(a)
14
+ def make_variant(val)
15
+ DBus::PacketMarshaller.make_variant(val)
14
16
  end
15
17
 
16
18
  it "tests make variant scalar" do
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env rspec
2
+ # frozen_string_literal: true
3
+
4
+ require_relative "spec_helper"
5
+ require "dbus"
6
+
7
+ describe "Quit the service" do
8
+ it "Tells the service to quit and waits, to collate coverage data" do
9
+ session_bus = DBus::ASessionBus.new
10
+ @svc = session_bus.service("org.ruby.service")
11
+ @obj = @svc.object("/org/ruby/MyInstance")
12
+ @obj.default_iface = "org.ruby.SampleInterface"
13
+ @obj.quit
14
+ sleep 3
15
+ end
16
+ end
metadata CHANGED
@@ -1,17 +1,59 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-dbus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruby DBus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-15 00:00:00.000000000 Z
11
+ date: 2025-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: coveralls
14
+ name: logger
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rexml
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: base64
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: ostruct
15
57
  requirement: !ruby/object:Gem::Requirement
16
58
  requirements:
17
59
  - - ">="
@@ -67,21 +109,21 @@ dependencies:
67
109
  - !ruby/object:Gem::Version
68
110
  version: '3'
69
111
  - !ruby/object:Gem::Dependency
70
- name: rubocop
112
+ name: simplecov
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
- - - '='
115
+ - - ">="
74
116
  - !ruby/object:Gem::Version
75
- version: 0.41.2
117
+ version: '0'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
- - - '='
122
+ - - ">="
81
123
  - !ruby/object:Gem::Version
82
- version: 0.41.2
124
+ version: '0'
83
125
  - !ruby/object:Gem::Dependency
84
- name: simplecov
126
+ name: simplecov-lcov
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - ">="
@@ -110,13 +152,12 @@ files:
110
152
  - doc/Tutorial.md
111
153
  - examples/doc/README.md
112
154
  - examples/doc/_extract_examples
113
- - examples/gdbus/gdbus
114
- - examples/gdbus/gdbus.glade
115
- - examples/gdbus/launch.sh
155
+ - examples/no-bus/pulseaudio.rb
116
156
  - examples/no-introspect/nm-test.rb
117
157
  - examples/no-introspect/tracker-test.rb
118
158
  - examples/rhythmbox/playpause.rb
119
159
  - examples/service/call_service.rb
160
+ - examples/service/complex-property.rb
120
161
  - examples/service/service_newapi.rb
121
162
  - examples/simple/call_introspect.rb
122
163
  - examples/simple/get_id.rb
@@ -128,41 +169,73 @@ files:
128
169
  - lib/dbus/auth.rb
129
170
  - lib/dbus/bus.rb
130
171
  - lib/dbus/bus_name.rb
172
+ - lib/dbus/connection.rb
131
173
  - lib/dbus/core_ext/class/attribute.rb
132
174
  - lib/dbus/core_ext/module/redefine_method.rb
175
+ - lib/dbus/data.rb
176
+ - lib/dbus/emits_changed_signal.rb
133
177
  - lib/dbus/error.rb
134
178
  - lib/dbus/introspect.rb
135
179
  - lib/dbus/logger.rb
180
+ - lib/dbus/main.rb
136
181
  - lib/dbus/marshall.rb
137
182
  - lib/dbus/matchrule.rb
138
183
  - lib/dbus/message.rb
139
184
  - lib/dbus/message_queue.rb
185
+ - lib/dbus/node_tree.rb
140
186
  - lib/dbus/object.rb
187
+ - lib/dbus/object_manager.rb
141
188
  - lib/dbus/object_path.rb
189
+ - lib/dbus/object_server.rb
190
+ - lib/dbus/org.freedesktop.DBus.xml
191
+ - lib/dbus/platform.rb
142
192
  - lib/dbus/proxy_object.rb
143
193
  - lib/dbus/proxy_object_factory.rb
144
194
  - lib/dbus/proxy_object_interface.rb
195
+ - lib/dbus/proxy_service.rb
196
+ - lib/dbus/raw_message.rb
145
197
  - lib/dbus/type.rb
146
198
  - lib/dbus/xml.rb
147
199
  - ruby-dbus.gemspec
148
200
  - spec/async_spec.rb
201
+ - spec/auth_spec.rb
149
202
  - spec/binding_spec.rb
150
203
  - spec/bus_and_xml_backend_spec.rb
151
- - spec/bus_driver_spec.rb
204
+ - spec/bus_connection_spec.rb
152
205
  - spec/bus_name_spec.rb
153
206
  - spec/bus_spec.rb
154
207
  - spec/byte_array_spec.rb
155
208
  - spec/client_robustness_spec.rb
209
+ - spec/connection_spec.rb
210
+ - spec/coverage_helper.rb
211
+ - spec/data/marshall.yaml
212
+ - spec/data_spec.rb
213
+ - spec/dbus_spec.rb
214
+ - spec/emits_changed_signal_spec.rb
156
215
  - spec/err_msg_spec.rb
157
216
  - spec/introspect_xml_parser_spec.rb
158
217
  - spec/introspection_spec.rb
159
218
  - spec/main_loop_spec.rb
219
+ - spec/message_spec.rb
220
+ - spec/mock-service/cockpit-dbustests.rb
221
+ - spec/mock-service/com.redhat.Cockpit.DBusTests.xml
222
+ - spec/mock-service/org.ruby.service.service
223
+ - spec/mock-service/org.rubygems.ruby_dbus.DBusTests.service
224
+ - spec/mock-service/spaghetti-monster.rb
225
+ - spec/node_spec.rb
226
+ - spec/object_manager_spec.rb
160
227
  - spec/object_path_spec.rb
228
+ - spec/object_server_spec.rb
229
+ - spec/object_spec.rb
230
+ - spec/packet_marshaller_spec.rb
231
+ - spec/packet_unmarshaller_spec.rb
232
+ - spec/platform_spec.rb
161
233
  - spec/property_spec.rb
234
+ - spec/proxy_object_interface_spec.rb
162
235
  - spec/proxy_object_spec.rb
236
+ - spec/proxy_service_spec.rb
237
+ - spec/raw_message_spec.rb
163
238
  - spec/server_robustness_spec.rb
164
- - spec/server_spec.rb
165
- - spec/service_newapi.rb
166
239
  - spec/session_bus_spec.rb
167
240
  - spec/session_bus_spec_manual.rb
168
241
  - spec/signal_spec.rb
@@ -171,13 +244,13 @@ files:
171
244
  - spec/tools/dbus-launch-simple
172
245
  - spec/tools/dbus-limited-session.conf
173
246
  - spec/tools/test_env
174
- - spec/tools/test_server
175
247
  - spec/type_spec.rb
176
248
  - spec/value_spec.rb
177
249
  - spec/variant_spec.rb
250
+ - spec/zzz_quit_spec.rb
178
251
  homepage: https://github.com/mvidner/ruby-dbus
179
252
  licenses:
180
- - LGPL-2.1
253
+ - LGPL-2.1-or-later
181
254
  metadata: {}
182
255
  post_install_message:
183
256
  rdoc_options: []
@@ -187,15 +260,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
260
  requirements:
188
261
  - - ">="
189
262
  - !ruby/object:Gem::Version
190
- version: 2.0.0
263
+ version: 2.4.0
191
264
  required_rubygems_version: !ruby/object:Gem::Requirement
192
265
  requirements:
193
266
  - - ">="
194
267
  - !ruby/object:Gem::Version
195
268
  version: '0'
196
269
  requirements: []
197
- rubyforge_project:
198
- rubygems_version: 2.7.6
270
+ rubygems_version: 3.2.33
199
271
  signing_key:
200
272
  specification_version: 4
201
273
  summary: Ruby module for interaction with D-Bus