foscam-ruby 0.0.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.
Files changed (51) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/Guardfile +10 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/foscam-ruby.gemspec +34 -0
  9. data/lib/foscam-ruby.rb +8 -0
  10. data/lib/foscam/client.rb +425 -0
  11. data/lib/foscam/version.rb +3 -0
  12. data/spec/fixtures/vcr/foscam_camera_control_brightness.yml +42 -0
  13. data/spec/fixtures/vcr/foscam_camera_control_contrast.yml +42 -0
  14. data/spec/fixtures/vcr/foscam_camera_control_mode.yml +42 -0
  15. data/spec/fixtures/vcr/foscam_camera_control_orientation.yml +42 -0
  16. data/spec/fixtures/vcr/foscam_camera_control_resolution.yml +42 -0
  17. data/spec/fixtures/vcr/foscam_comm_write.yml +42 -0
  18. data/spec/fixtures/vcr/foscam_decoder_control.yml +42 -0
  19. data/spec/fixtures/vcr/foscam_get_camera_params.yml +52 -0
  20. data/spec/fixtures/vcr/foscam_get_forbidden.yml +84 -0
  21. data/spec/fixtures/vcr/foscam_get_misc.yml +66 -0
  22. data/spec/fixtures/vcr/foscam_get_params.yml +428 -0
  23. data/spec/fixtures/vcr/foscam_get_status.yml +68 -0
  24. data/spec/fixtures/vcr/foscam_reboot.yml +42 -0
  25. data/spec/fixtures/vcr/foscam_restore_factory.yml +42 -0
  26. data/spec/fixtures/vcr/foscam_set_alarm.yml +42 -0
  27. data/spec/fixtures/vcr/foscam_set_alias.yml +42 -0
  28. data/spec/fixtures/vcr/foscam_set_datetime.yml +42 -0
  29. data/spec/fixtures/vcr/foscam_set_ddns.yml +40 -0
  30. data/spec/fixtures/vcr/foscam_set_decoder.yml +42 -0
  31. data/spec/fixtures/vcr/foscam_set_forbidden.yml +40 -0
  32. data/spec/fixtures/vcr/foscam_set_ftp.yml +42 -0
  33. data/spec/fixtures/vcr/foscam_set_mail.yml +40 -0
  34. data/spec/fixtures/vcr/foscam_set_misc.yml +105 -0
  35. data/spec/fixtures/vcr/foscam_set_network.yml +40 -0
  36. data/spec/fixtures/vcr/foscam_set_pppoe.yml +42 -0
  37. data/spec/fixtures/vcr/foscam_set_upnp.yml +42 -0
  38. data/spec/fixtures/vcr/foscam_set_user2.yml +40 -0
  39. data/spec/fixtures/vcr/foscam_set_user3.yml +40 -0
  40. data/spec/fixtures/vcr/foscam_set_user4.yml +40 -0
  41. data/spec/fixtures/vcr/foscam_set_user5.yml +40 -0
  42. data/spec/fixtures/vcr/foscam_set_user6.yml +40 -0
  43. data/spec/fixtures/vcr/foscam_set_user7.yml +40 -0
  44. data/spec/fixtures/vcr/foscam_set_user8.yml +40 -0
  45. data/spec/fixtures/vcr/foscam_set_wifi.yml +40 -0
  46. data/spec/fixtures/vcr/foscam_snapshot.yml +236 -0
  47. data/spec/fixtures/vcr/foscam_upgrade_firmware.yml +40 -0
  48. data/spec/fixtures/vcr/foscam_upgrade_htmls.yml +40 -0
  49. data/spec/foscam/client_spec.rb +1269 -0
  50. data/spec/spec_helper.rb +24 -0
  51. metadata +301 -0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/reboot.cgi
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Tue, 13 Nov 2012 05:01:50 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Tue, 13 Nov 2012 05:01:50 GMT
42
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/restore_factory.cgi
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Wed, 12 Dec 2012 02:34:03 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Wed, 12 Dec 2012 02:34:03 GMT
42
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_alarm.cgi?input_armed=0&iolinkage=0&mail=0&motion_armed=0&motion_sensitivity=3&upload_interval=0
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 13 Dec 2012 01:58:23 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Thu, 13 Dec 2012 01:58:24 GMT
42
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_alias.cgi?alias=R2D2
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 01 Jan 1970 00:19:22 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Wed, 12 Dec 2012 03:15:34 GMT
42
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_datetime.cgi?ntp_enable=1&ntp_svr=0.ca.pool.ntp.org&tz=18000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 01 Jan 1970 00:58:10 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Wed, 12 Dec 2012 03:54:24 GMT
42
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_ddns.cgi?host=hostname.dyndns.com&pwd=password&service=3&user=root
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 13 Dec 2012 01:02:32 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '22'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'error: illegal params.'
38
+ http_version: '1.1'
39
+ recorded_at: Thu, 13 Dec 2012 01:02:36 GMT
40
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_decoder.cgi?baud=9
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 01 Jan 1970 00:05:43 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Wed, 12 Dec 2012 03:01:53 GMT
42
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_forbidden.cgi?schedule_fri_0=95&schedule_fri_1=45&schedule_fri_2=20&schedule_mon_0=95&schedule_mon_1=45&schedule_mon_2=20&schedule_sat_0=95&schedule_sat_1=45&schedule_sat_2=20&schedule_sun_0=95&schedule_sun_1=45&schedule_sun_2=20&schedule_thu_0=95&schedule_thu_1=45&schedule_thu_2=20&schedule_tue_0=95&schedule_tue_1=45&schedule_tue_2=20&schedule_wed_0=95&schedule_wed_1=45&schedule_wed_2=20
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 01 Jan 1970 01:51:09 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '22'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'error: illegal params.'
38
+ http_version: '1.1'
39
+ recorded_at: Wed, 12 Dec 2012 04:47:25 GMT
40
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_ftp.cgi?dir=R2D2&port=21&pwd=my_password&svr=192.168.0.116&upload_interval=3600&user=my_username
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 13 Dec 2012 01:21:20 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Thu, 13 Dec 2012 01:21:22 GMT
42
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_mail.cgi?port=465&pwd=password&receiver1=receiver@gmail.com&sender=sender@gmail.com&svr=smtp.gmail.com&user=username@gmail.com
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 13 Dec 2012 01:54:09 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '22'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'error: illegal params.'
38
+ http_version: '1.1'
39
+ recorded_at: Thu, 13 Dec 2012 01:54:08 GMT
40
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,105 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://my_username:my_password@192.168.0.117/set_misc.cgi?led_mode=0&ptz_auto_patrol_interval=5&ptz_auto_patrol_type=2&ptz_center_onstart=0&ptz_disable_preset=0&ptz_patrol_down_rate=10&ptz_patrol_h_rounds=1&ptz_patrol_left_rate=10&ptz_patrol_rate=20&ptz_patrol_right_rate=10&ptz_patrol_up_rate=10&ptz_patrol_v_rounds=1&ptz_preset_onstart=1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ authorization:
11
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
12
+ accept-encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ accept:
15
+ - ! '*/*'
16
+ user-agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ server:
24
+ - Netwave IP Camera
25
+ date:
26
+ - Thu, 01 Jan 1970 00:05:42 GMT
27
+ content-type:
28
+ - text/plain
29
+ content-length:
30
+ - '4'
31
+ cache-control:
32
+ - no-cache
33
+ connection:
34
+ - close
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! 'ok.
38
+
39
+ '
40
+ http_version: '1.1'
41
+ recorded_at: Wed, 12 Dec 2012 03:01:52 GMT
42
+ - request:
43
+ method: get
44
+ uri: http://my_username:my_password@192.168.0.117/get_misc.cgi
45
+ body:
46
+ encoding: US-ASCII
47
+ string: ''
48
+ headers:
49
+ authorization:
50
+ - Basic Y3dhZGRpbmc6ZnY1MHhFZ0d3Ug==
51
+ accept-encoding:
52
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
53
+ accept:
54
+ - ! '*/*'
55
+ user-agent:
56
+ - Ruby
57
+ response:
58
+ status:
59
+ code: 200
60
+ message: OK
61
+ headers:
62
+ server:
63
+ - Netwave IP Camera
64
+ date:
65
+ - Thu, 01 Jan 1970 00:05:43 GMT
66
+ content-type:
67
+ - text/plain
68
+ content-length:
69
+ - '347'
70
+ cache-control:
71
+ - no-cache
72
+ connection:
73
+ - close
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ! 'var led_mode=0;
77
+
78
+ var ptz_center_onstart=0;
79
+
80
+ var ptz_auto_patrol_interval=5;
81
+
82
+ var ptz_auto_patrol_type=2;
83
+
84
+ var ptz_patrol_h_rounds=1;
85
+
86
+ var ptz_patrol_v_rounds=1;
87
+
88
+ var ptz_patrol_rate=20;
89
+
90
+ var ptz_patrol_up_rate=10;
91
+
92
+ var ptz_patrol_down_rate=10;
93
+
94
+ var ptz_patrol_left_rate=10;
95
+
96
+ var ptz_patrol_right_rate=10;
97
+
98
+ var ptz_disable_preset=0;
99
+
100
+ var ptz_preset_onstart=1;
101
+
102
+ '
103
+ http_version: '1.1'
104
+ recorded_at: Wed, 12 Dec 2012 03:01:52 GMT
105
+ recorded_with: VCR 2.3.0