sony-camera-remote 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +5 -0
  4. data/CONTRIBUTING.markdown +7 -0
  5. data/Gemfile +4 -0
  6. data/Guardfile +12 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.markdown +52 -0
  9. data/Rakefile +9 -0
  10. data/TODO.markdown +73 -0
  11. data/bin/search-nex.py +25 -0
  12. data/bin/sonycam +48 -0
  13. data/lib/sony_camera_remote.rb +5 -0
  14. data/lib/sony_camera_remote/camera.rb +61 -0
  15. data/lib/sony_camera_remote/device.rb +19 -0
  16. data/lib/sony_camera_remote/discovery/client.rb +90 -0
  17. data/lib/sony_camera_remote/discovery/device_info.rb +78 -0
  18. data/lib/sony_camera_remote/discovery/m_search.erb +5 -0
  19. data/lib/sony_camera_remote/discovery/request.rb +20 -0
  20. data/lib/sony_camera_remote/discovery/response.rb +17 -0
  21. data/lib/sony_camera_remote/service.rb +24 -0
  22. data/lib/sony_camera_remote/version.rb +3 -0
  23. data/sony-camera-remote.gemspec +33 -0
  24. data/test/fixtures/DmsRmtDesc.xml +95 -0
  25. data/test/fixtures/discovery_request.txt +6 -0
  26. data/test/fixtures/discovery_response.txt +9 -0
  27. data/test/fixtures/vcr/CameraTest_setup.yml +26 -0
  28. data/test/fixtures/vcr/CameraTest_test_application_info.yml +26 -0
  29. data/test/fixtures/vcr/CameraTest_test_available_methods.yml +26 -0
  30. data/test/fixtures/vcr/CameraTest_test_shoot.yml +26 -0
  31. data/test/fixtures/vcr/CameraTest_test_shootmode_interval_still.yml +26 -0
  32. data/test/fixtures/vcr/CameraTest_test_shootmode_movie.yml +26 -0
  33. data/test/fixtures/vcr/CameraTest_test_shootmode_still.yml +26 -0
  34. data/test/fixtures/vcr/CameraTest_test_supported_shootmodes.yml +26 -0
  35. data/test/fixtures/vcr/DeviceInfoTest_setup.yml +43 -0
  36. data/test/helper.rb +26 -0
  37. data/test/unit/test_camera.rb +41 -0
  38. data/test/unit/test_device_info.rb +71 -0
  39. data/test/unit/test_request.rb +11 -0
  40. data/test/unit/test_response.rb +11 -0
  41. metadata +257 -0
@@ -0,0 +1,26 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://10.0.0.1:10000/sony/camera
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"version":"1.0","params":[],"id":1,"method":"getShootMode"}'
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Connection:
16
+ - close
17
+ Content-Length:
18
+ - '27'
19
+ Content-Type:
20
+ - application/json
21
+ body:
22
+ encoding: UTF-8
23
+ string: '{"id":1,"result":["still"]}'
24
+ http_version:
25
+ recorded_at: Sun, 19 Jan 2014 14:10:41 GMT
26
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,26 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://10.0.0.1:10000/sony/camera
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"version":"1.0","params":[],"id":1,"method":"getSupportedShootMode"}'
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Connection:
16
+ - close
17
+ Content-Length:
18
+ - '53'
19
+ Content-Type:
20
+ - application/json
21
+ body:
22
+ encoding: UTF-8
23
+ string: '{"id":1,"result":[["still","movie","intervalstill"]]}'
24
+ http_version:
25
+ recorded_at: Sun, 19 Jan 2014 14:57:50 GMT
26
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,43 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://10.0.0.1:64321/DmsRmtDesc.xml
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Accept-Range:
16
+ - none
17
+ Content-Length:
18
+ - '3422'
19
+ Content-Type:
20
+ - text/xml; charset="utf-8"
21
+ Connection:
22
+ - close
23
+ Date:
24
+ - Sun, 19 Jan 2014 17:50:09 GMT
25
+ Server:
26
+ - UPnP/1.0 SonyImagingDevice/1.0
27
+ X-Av-Server-Info:
28
+ - av=5.0; hn=""; cn="Sony Corporation"; mn="SonyImagingDevice"; mv="1.0";
29
+ X-Av-Physical-Unit-Info:
30
+ - pa=""; pl=;
31
+ body:
32
+ encoding: UTF-8
33
+ string: <?xml version="1.0" encoding="utf-8"?><root xmlns="urn:schemas-upnp-org:device-1-0"
34
+ xmlns:dlna="urn:schemas-dlna-org:device-1-0" xmlns:av="urn:schemas-sony-com:av"><specVersion><major>1</major><minor>0</minor></specVersion><device><dlna:X_DLNADOC
35
+ xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.50</dlna:X_DLNADOC><deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType><friendlyName>HDR-AS30V</friendlyName><manufacturer>Sony
36
+ Corporation</manufacturer><manufacturerURL>http://www.sony.com/</manufacturerURL><modelDescription>SonyDigitalMediaServer</modelDescription><modelName>SonyImagingDevice</modelName><modelURL>http://www.sony.net/</modelURL><UDN>uuid:00000000-0005-0010-8000-1c994c079994</UDN><serviceList><service><serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType><serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId><SCPDURL>/CdsDesc.xml</SCPDURL><controlURL>/upnp/control/ContentDirectory</controlURL><eventSubURL>/upnp/event/ContentDirectory</eventSubURL></service><service><serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType><serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId><SCPDURL>/CmsDesc.xml</SCPDURL><controlURL>/upnp/control/ConnectionManager</controlURL><eventSubURL>/upnp/event/ConnectionManager</eventSubURL></service><service><serviceType>urn:schemas-sony-com:service:ScalarWebAPI:1</serviceType><serviceId>urn:schemas-sony-com:serviceId:ScalarWebAPI</serviceId><SCPDURL>/ScalarWebApiDesc.xml</SCPDURL><controlURL></controlURL><eventSubURL></eventSubURL></service></serviceList><iconList><icon><mimetype>image/jpeg</mimetype><width>48</width><height>48</height><depth>24</depth><url>/DLNA_camera_48.jpg</url></icon><icon><mimetype>image/jpeg</mimetype><width>120</width><height>120</height><depth>24</depth><url>/DLNA_camera_120.jpg</url></icon><icon><mimetype>image/png</mimetype><width>48</width><height>48</height><depth>24</depth><url>/DLNA_camera_48.png</url></icon><icon><mimetype>image/png</mimetype><width>120</width><height>120</height><depth>24</depth><url>/DLNA_camera_120.png</url></icon></iconList><av:X_ScalarWebAPI_DeviceInfo
37
+ xmlns:av="urn:schemas-sony-com:av"><av:X_ScalarWebAPI_Version>1.0</av:X_ScalarWebAPI_Version><av:X_ScalarWebAPI_ServiceList><av:X_ScalarWebAPI_Service><av:X_ScalarWebAPI_ServiceType>guide</av:X_ScalarWebAPI_ServiceType><av:X_ScalarWebAPI_ActionList_URL>http://10.0.0.1:10000/sony</av:X_ScalarWebAPI_ActionList_URL><av:X_ScalarWebAPI_AccessType
38
+ /></av:X_ScalarWebAPI_Service><av:X_ScalarWebAPI_Service><av:X_ScalarWebAPI_ServiceType>accessControl</av:X_ScalarWebAPI_ServiceType><av:X_ScalarWebAPI_ActionList_URL>http://10.0.0.1:10000/sony</av:X_ScalarWebAPI_ActionList_URL><av:X_ScalarWebAPI_AccessType
39
+ /></av:X_ScalarWebAPI_Service><av:X_ScalarWebAPI_Service><av:X_ScalarWebAPI_ServiceType>camera</av:X_ScalarWebAPI_ServiceType><av:X_ScalarWebAPI_ActionList_URL>http://10.0.0.1:10000/sony</av:X_ScalarWebAPI_ActionList_URL><av:X_ScalarWebAPI_AccessType
40
+ /></av:X_ScalarWebAPI_Service></av:X_ScalarWebAPI_ServiceList><av:X_ScalarWebAPI_ImagingDevice><av:X_ScalarWebAPI_LiveView_URL>http://10.0.0.1:60152/liveview.JPG?%211234%21http%2dget%3a%2a%3aimage%2fjpeg%3a%2a%21%21%21%21%21</av:X_ScalarWebAPI_LiveView_URL><av:X_ScalarWebAPI_DefaultFunction>RemoteShooting</av:X_ScalarWebAPI_DefaultFunction></av:X_ScalarWebAPI_ImagingDevice></av:X_ScalarWebAPI_DeviceInfo></device></root>
41
+ http_version:
42
+ recorded_at: Sun, 19 Jan 2014 17:50:09 GMT
43
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,26 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../lib/sony_camera_remote'
3
+ require 'vcr'
4
+
5
+ include SonyCameraRemote
6
+ include SonyCameraRemote::Discovery
7
+
8
+ VCR.configure do |c|
9
+ c.cassette_library_dir = 'test/fixtures/vcr'
10
+ c.hook_into :webmock
11
+ end
12
+
13
+ class MiniTest::Test
14
+ def initialize(name = nil)
15
+ @test_name = name
16
+ super(name) unless name.nil?
17
+ end
18
+
19
+ def fixture(name)
20
+ File.read(File.join(File.dirname(__FILE__), 'fixtures', name))
21
+ end
22
+
23
+ def mocked(cassette = @test_name, &block)
24
+ VCR.use_cassette("#{self.class.name}_#{cassette}", :record => :new_episodes){block.call}
25
+ end
26
+ end
@@ -0,0 +1,41 @@
1
+ require 'helper'
2
+ require 'json'
3
+
4
+ class CameraTest < MiniTest::Test
5
+ def setup
6
+ mocked('setup') do
7
+ @camera = Camera.new('http://10.0.0.1:10000/sony/camera')
8
+ end
9
+ end
10
+
11
+ def test_shootmode_movie
12
+ assert_equal('movie', mocked{@camera.shootmode})
13
+ end
14
+
15
+ def test_shootmode_interval_still
16
+ assert_equal('intervalstill', mocked{@camera.shootmode})
17
+ end
18
+
19
+ def test_shootmode_still
20
+ assert_equal('still', mocked{@camera.shootmode})
21
+ end
22
+
23
+ def test_shoot
24
+ uri = 'http://10.0.0.1:60152/pict140119_1918300000.JPG?%211234%21http%2dget%3a%2a%3aimage%2fjpeg%3a%2a%21%21%21%21%21'
25
+ assert_equal([uri], mocked{@camera.shoot})
26
+ end
27
+
28
+ def test_supported_shootmodes
29
+ assert_equal(["still", "movie", "intervalstill"], mocked{@camera.supported_shootmodes})
30
+ end
31
+
32
+ def test_available_methods
33
+ assert_equal(33, mocked{@camera.available_methods}.size)
34
+ end
35
+
36
+ def test_application_info
37
+ ai = mocked{@camera.application_info}
38
+ assert_equal('Smart Remote Control', ai.name)
39
+ assert_equal('2.0.0', ai.api_version)
40
+ end
41
+ end
@@ -0,0 +1,71 @@
1
+ require 'helper'
2
+ require 'json'
3
+
4
+ class DeviceInfoTest < MiniTest::Test
5
+ def setup
6
+ @device = mocked('setup') do
7
+ DeviceInfo.fetch('http://10.0.0.1:64321/DmsRmtDesc.xml')
8
+ end
9
+ end
10
+
11
+ def test_device_attributes
12
+ assert_equal('HDR-AS30V', @device.name)
13
+ assert_equal('Sony Corporation', @device.manufacturer.name)
14
+ assert_equal('http://www.sony.com/', @device.manufacturer.url)
15
+ assert_equal('SonyImagingDevice', @device.model.name)
16
+ assert_equal('SonyDigitalMediaServer', @device.model.description)
17
+ assert_equal('http://www.sony.net/', @device.model.url)
18
+ end
19
+
20
+ def test_services
21
+ assert_equal(6, @device.services.size)
22
+ end
23
+
24
+ def test_service
25
+ service = @device.services['camera']
26
+ refute_nil(service)
27
+ assert_equal(URI('http://10.0.0.1:10000/sony/camera'), service.base_uri)
28
+ end
29
+
30
+ def test_guide_service
31
+ service = @device.services['guide']
32
+ refute_nil(service)
33
+ assert_equal(URI('http://10.0.0.1:10000/sony/guide'), service.base_uri)
34
+ end
35
+
36
+ def test_accessControl_service
37
+ service = @device.services['accessControl']
38
+ refute_nil(service)
39
+ assert_equal(URI('http://10.0.0.1:10000/sony/accessControl'), service.base_uri)
40
+ end
41
+
42
+ def test_ContentDirectory_service
43
+ service = @device.services['urn:upnp-org:serviceId:ContentDirectory']
44
+ refute_nil(service)
45
+ assert_equal('urn:schemas-upnp-org:service:ContentDirectory:1', service.type)
46
+ assert_equal('urn:upnp-org:serviceId:ContentDirectory', service.id)
47
+ assert_equal('/CdsDesc.xml', service.scpd_url)
48
+ assert_equal('/upnp/control/ContentDirectory', service.control_url)
49
+ assert_equal('/upnp/event/ContentDirectory', service.event_sub_url)
50
+ end
51
+
52
+ def test_ConnectionManager_service
53
+ service = @device.services['urn:upnp-org:serviceId:ConnectionManager']
54
+ refute_nil(service)
55
+ assert_equal('urn:schemas-upnp-org:service:ConnectionManager:1', service.type)
56
+ assert_equal('urn:upnp-org:serviceId:ConnectionManager', service.id)
57
+ assert_equal('/CmsDesc.xml', service.scpd_url)
58
+ assert_equal('/upnp/control/ConnectionManager', service.control_url)
59
+ assert_equal('/upnp/event/ConnectionManager', service.event_sub_url)
60
+ end
61
+
62
+ def test_ScalarWebAPI_service
63
+ service = @device.services['urn:schemas-sony-com:serviceId:ScalarWebAPI']
64
+ refute_nil(service)
65
+ assert_equal('urn:schemas-sony-com:service:ScalarWebAPI:1', service.type)
66
+ assert_equal('urn:schemas-sony-com:serviceId:ScalarWebAPI', service.id)
67
+ assert_equal('/ScalarWebApiDesc.xml', service.scpd_url)
68
+ refute(service.control_url)
69
+ refute(service.event_sub_url)
70
+ end
71
+ end
@@ -0,0 +1,11 @@
1
+ require 'helper'
2
+
3
+ class RequestTest < MiniTest::Test
4
+ def setup
5
+ @request = Request.new('239.255.255.250', 1900, 1)
6
+ end
7
+
8
+ def test_request
9
+ assert_equal(fixture('discovery_request.txt'), @request.to_s)
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ require 'helper'
2
+
3
+ class ResponseTest < MiniTest::Test
4
+ def setup
5
+ @response = Response.new(fixture('discovery_response.txt'))
6
+ end
7
+
8
+ def test_location
9
+ assert_equal('http://10.0.0.1:64321/DmsRmtDesc.xml', @response.location)
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,257 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sony-camera-remote
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Nicholas E. Rabenau
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: json
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: require_all
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: system-getifaddrs
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
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: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-minitest
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: vcr
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ~>
144
+ - !ruby/object:Gem::Version
145
+ version: 2.8.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: 2.8.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: webmock
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: 1.17.1
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ version: 1.17.1
167
+ description: Provides a wrapper around to API for cameras that support the Sony [Camera
168
+ Remote API](http://developer.sony.com/develop/cameras/).
169
+ email:
170
+ - nerab@gmx.at
171
+ executables:
172
+ - search-nex.py
173
+ - sonycam
174
+ extensions: []
175
+ extra_rdoc_files: []
176
+ files:
177
+ - .gitignore
178
+ - .travis.yml
179
+ - CONTRIBUTING.markdown
180
+ - Gemfile
181
+ - Guardfile
182
+ - LICENSE.txt
183
+ - README.markdown
184
+ - Rakefile
185
+ - TODO.markdown
186
+ - bin/search-nex.py
187
+ - bin/sonycam
188
+ - lib/sony_camera_remote.rb
189
+ - lib/sony_camera_remote/camera.rb
190
+ - lib/sony_camera_remote/device.rb
191
+ - lib/sony_camera_remote/discovery/client.rb
192
+ - lib/sony_camera_remote/discovery/device_info.rb
193
+ - lib/sony_camera_remote/discovery/m_search.erb
194
+ - lib/sony_camera_remote/discovery/request.rb
195
+ - lib/sony_camera_remote/discovery/response.rb
196
+ - lib/sony_camera_remote/service.rb
197
+ - lib/sony_camera_remote/version.rb
198
+ - sony-camera-remote.gemspec
199
+ - test/fixtures/DmsRmtDesc.xml
200
+ - test/fixtures/discovery_request.txt
201
+ - test/fixtures/discovery_response.txt
202
+ - test/fixtures/vcr/CameraTest_setup.yml
203
+ - test/fixtures/vcr/CameraTest_test_application_info.yml
204
+ - test/fixtures/vcr/CameraTest_test_available_methods.yml
205
+ - test/fixtures/vcr/CameraTest_test_shoot.yml
206
+ - test/fixtures/vcr/CameraTest_test_shootmode_interval_still.yml
207
+ - test/fixtures/vcr/CameraTest_test_shootmode_movie.yml
208
+ - test/fixtures/vcr/CameraTest_test_shootmode_still.yml
209
+ - test/fixtures/vcr/CameraTest_test_supported_shootmodes.yml
210
+ - test/fixtures/vcr/DeviceInfoTest_setup.yml
211
+ - test/helper.rb
212
+ - test/unit/test_camera.rb
213
+ - test/unit/test_device_info.rb
214
+ - test/unit/test_request.rb
215
+ - test/unit/test_response.rb
216
+ homepage: https://github.com/nerab/sony-camera-remote
217
+ licenses:
218
+ - MIT
219
+ metadata: {}
220
+ post_install_message:
221
+ rdoc_options: []
222
+ require_paths:
223
+ - lib
224
+ required_ruby_version: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - '>='
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ required_rubygems_version: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - '>='
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ requirements: []
235
+ rubyforge_project:
236
+ rubygems_version: 2.0.3
237
+ signing_key:
238
+ specification_version: 4
239
+ summary: Ruby API for the Sony Camera Remote API
240
+ test_files:
241
+ - test/fixtures/DmsRmtDesc.xml
242
+ - test/fixtures/discovery_request.txt
243
+ - test/fixtures/discovery_response.txt
244
+ - test/fixtures/vcr/CameraTest_setup.yml
245
+ - test/fixtures/vcr/CameraTest_test_application_info.yml
246
+ - test/fixtures/vcr/CameraTest_test_available_methods.yml
247
+ - test/fixtures/vcr/CameraTest_test_shoot.yml
248
+ - test/fixtures/vcr/CameraTest_test_shootmode_interval_still.yml
249
+ - test/fixtures/vcr/CameraTest_test_shootmode_movie.yml
250
+ - test/fixtures/vcr/CameraTest_test_shootmode_still.yml
251
+ - test/fixtures/vcr/CameraTest_test_supported_shootmodes.yml
252
+ - test/fixtures/vcr/DeviceInfoTest_setup.yml
253
+ - test/helper.rb
254
+ - test/unit/test_camera.rb
255
+ - test/unit/test_device_info.rb
256
+ - test/unit/test_request.rb
257
+ - test/unit/test_response.rb