ffi-gphoto2 0.2.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 (77) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +90 -0
  7. data/Rakefile +6 -0
  8. data/examples/intervalometer.rb +12 -0
  9. data/examples/live_view.rb +21 -0
  10. data/ffi-gphoto2.gemspec +30 -0
  11. data/lib/ffi/gphoto2.rb +85 -0
  12. data/lib/ffi/gphoto2/camera.rb +12 -0
  13. data/lib/ffi/gphoto2/camera_abilities.rb +37 -0
  14. data/lib/ffi/gphoto2/camera_abilities_list.rb +15 -0
  15. data/lib/ffi/gphoto2/camera_capture_type.rb +8 -0
  16. data/lib/ffi/gphoto2/camera_driver_status.rb +9 -0
  17. data/lib/ffi/gphoto2/camera_event_type.rb +10 -0
  18. data/lib/ffi/gphoto2/camera_file.rb +28 -0
  19. data/lib/ffi/gphoto2/camera_file_access_type.rb +8 -0
  20. data/lib/ffi/gphoto2/camera_file_operation.rb +11 -0
  21. data/lib/ffi/gphoto2/camera_file_path.rb +9 -0
  22. data/lib/ffi/gphoto2/camera_file_type.rb +11 -0
  23. data/lib/ffi/gphoto2/camera_folder_operation.rb +10 -0
  24. data/lib/ffi/gphoto2/camera_list.rb +15 -0
  25. data/lib/ffi/gphoto2/camera_operation.rb +12 -0
  26. data/lib/ffi/gphoto2/camera_widget.rb +33 -0
  27. data/lib/ffi/gphoto2/camera_widget_type.rb +14 -0
  28. data/lib/ffi/gphoto2/entry.rb +9 -0
  29. data/lib/ffi/gphoto2/gp_context.rb +31 -0
  30. data/lib/ffi/gphoto2/gphoto_device_type.rb +7 -0
  31. data/lib/ffi/gphoto2_port.rb +31 -0
  32. data/lib/ffi/gphoto2_port/gp_port_info.rb +11 -0
  33. data/lib/ffi/gphoto2_port/gp_port_info_list.rb +14 -0
  34. data/lib/ffi/gphoto2_port/gp_port_result.rb +35 -0
  35. data/lib/ffi/gphoto2_port/gp_port_type.rb +12 -0
  36. data/lib/gphoto2.rb +41 -0
  37. data/lib/gphoto2/camera.rb +219 -0
  38. data/lib/gphoto2/camera_abilities.rb +44 -0
  39. data/lib/gphoto2/camera_abilities_list.rb +64 -0
  40. data/lib/gphoto2/camera_file.rb +69 -0
  41. data/lib/gphoto2/camera_file_path.rb +21 -0
  42. data/lib/gphoto2/camera_folder.rb +82 -0
  43. data/lib/gphoto2/camera_list.rb +43 -0
  44. data/lib/gphoto2/camera_widgets/camera_widget.rb +112 -0
  45. data/lib/gphoto2/camera_widgets/date_camera_widget.rb +19 -0
  46. data/lib/gphoto2/camera_widgets/menu_camera_widget.rb +4 -0
  47. data/lib/gphoto2/camera_widgets/radio_camera_widget.rb +41 -0
  48. data/lib/gphoto2/camera_widgets/range_camera_widget.rb +37 -0
  49. data/lib/gphoto2/camera_widgets/section_camera_widget.rb +4 -0
  50. data/lib/gphoto2/camera_widgets/text_camera_widget.rb +14 -0
  51. data/lib/gphoto2/camera_widgets/toggle_camera_widget.rb +18 -0
  52. data/lib/gphoto2/camera_widgets/window_camera_widget.rb +4 -0
  53. data/lib/gphoto2/context.rb +31 -0
  54. data/lib/gphoto2/entry.rb +38 -0
  55. data/lib/gphoto2/port_info.rb +70 -0
  56. data/lib/gphoto2/port_info_list.rb +46 -0
  57. data/lib/gphoto2/port_result.rb +7 -0
  58. data/lib/gphoto2/version.rb +3 -0
  59. data/spec/gphoto2/camera_abilities_list_spec.rb +45 -0
  60. data/spec/gphoto2/camera_abilities_spec.rb +38 -0
  61. data/spec/gphoto2/camera_file_path_spec.rb +27 -0
  62. data/spec/gphoto2/camera_file_spec.rb +71 -0
  63. data/spec/gphoto2/camera_folder_spec.rb +110 -0
  64. data/spec/gphoto2/camera_list_spec.rb +35 -0
  65. data/spec/gphoto2/camera_spec.rb +292 -0
  66. data/spec/gphoto2/camera_widgets/date_camera_widget_spec.rb +15 -0
  67. data/spec/gphoto2/camera_widgets/radio_camera_widget_spec.rb +31 -0
  68. data/spec/gphoto2/camera_widgets/range_camera_widget_spec.rb +27 -0
  69. data/spec/gphoto2/camera_widgets/text_camera_widget_spec.rb +15 -0
  70. data/spec/gphoto2/camera_widgets/toggle_camera_widget_spec.rb +21 -0
  71. data/spec/gphoto2/context_spec.rb +17 -0
  72. data/spec/gphoto2/entry_spec.rb +27 -0
  73. data/spec/gphoto2/port_info_list_spec.rb +33 -0
  74. data/spec/gphoto2/port_info_spec.rb +53 -0
  75. data/spec/spec_helper.rb +12 -0
  76. data/spec/support/shared_examples/camera_widget_examples.rb +89 -0
  77. metadata +194 -0
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe DateCameraWidget do
5
+ it_behaves_like CameraWidget, DateCameraWidget
6
+
7
+ describe '#value' do
8
+ it 'has a Time return value' do
9
+ widget = DateCameraWidget.new(nil)
10
+ widget.stub(:value).and_return(Time.now)
11
+ expect(widget.value).to be_kind_of(Time)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe RadioCameraWidget do
5
+ it_behaves_like CameraWidget, RadioCameraWidget
6
+
7
+ describe '#value' do
8
+ it 'has a String return value' do
9
+ widget = RadioCameraWidget.new(nil)
10
+ widget.stub(:value).and_return('text')
11
+ expect(widget.value).to be_kind_of(String)
12
+ end
13
+ end
14
+
15
+ describe '#choices' do
16
+ it 'returns a list of valid radio choices' do
17
+ size = 2
18
+
19
+ widget = RadioCameraWidget.new(nil)
20
+ widget.stub(:count_choices).and_return(size)
21
+ widget.stub(:get_choice).and_return("choice")
22
+
23
+ expect(widget).to receive(:get_choice).exactly(size).times
24
+
25
+ choices = widget.choices
26
+
27
+ expect(choices.size).to eq(size)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe RangeCameraWidget do
5
+ it_behaves_like CameraWidget, RangeCameraWidget
6
+
7
+ describe '#value' do
8
+ it 'has a Float return value' do
9
+ widget = RangeCameraWidget.new(nil)
10
+ widget.stub(:value).and_return(0.0)
11
+ expect(widget.value).to be_kind_of(Float)
12
+ end
13
+ end
14
+
15
+ describe '#range' do
16
+ it 'returns a list of valid range options' do
17
+ min, max, inc = 0, 2, 0.5
18
+ range = (min..max).step(inc).to_a
19
+
20
+ widget = RangeCameraWidget.new(nil)
21
+ widget.stub(:get_range).and_return([min, max, inc])
22
+
23
+ expect(widget.range).to eq(range)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe TextCameraWidget do
5
+ it_behaves_like CameraWidget, TextCameraWidget
6
+
7
+ describe '#value' do
8
+ it 'has a String return value' do
9
+ widget = TextCameraWidget.new(nil)
10
+ widget.stub(:value).and_return('text')
11
+ expect(widget.value).to be_kind_of(String)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe ToggleCameraWidget do
5
+ it_behaves_like CameraWidget, ToggleCameraWidget
6
+
7
+ describe '#value' do
8
+ it 'can have a TrueClass return value' do
9
+ widget = ToggleCameraWidget.new(nil)
10
+ widget.stub(:value).and_return(true)
11
+ expect(widget.value).to be_kind_of(TrueClass)
12
+ end
13
+
14
+ it 'can have a FalseClass return value' do
15
+ widget = ToggleCameraWidget.new(nil)
16
+ widget.stub(:value).and_return(false)
17
+ expect(widget.value).to be_kind_of(FalseClass)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe Context do
5
+ before do
6
+ Context.any_instance.stub(:new)
7
+ end
8
+
9
+ describe '#finalize' do
10
+ it 'decrements the reference counter' do
11
+ context = Context.new
12
+ expect(context).to receive(:unref)
13
+ context.finalize
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe Entry do
5
+ let(:entry) { Entry.new(double('camera_list'), 0) }
6
+
7
+ let(:name) { 'model' }
8
+ let(:value) { 'usb:250,006' }
9
+
10
+ before do
11
+ entry.stub(:get_name).and_return(name)
12
+ entry.stub(:get_value).and_return(value)
13
+ end
14
+
15
+ describe '#name' do
16
+ it 'returns the name of the entry' do
17
+ expect(entry.name).to eq(name)
18
+ end
19
+ end
20
+
21
+ describe '#value' do
22
+ it 'returns the value of the entry' do
23
+ expect(entry.value).to eq(value)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe PortInfoList do
5
+ before do
6
+ PortInfoList.any_instance.stub(:new)
7
+ PortInfoList.any_instance.stub(:load)
8
+ end
9
+
10
+ describe '#lookup_path' do
11
+ it 'returns the index of the port in the list' do
12
+ port = 'usb:250,006'
13
+ index = 0
14
+
15
+ list = PortInfoList.new
16
+ list.stub(:_lookup_path).and_return(index)
17
+
18
+ expect(list.lookup_path(port)).to eq(index)
19
+ end
20
+ end
21
+
22
+ describe '#at' do
23
+ it 'returns a new PortInfo instance at the specified index' do
24
+ PortInfo.any_instance.stub(:new)
25
+
26
+ list = PortInfoList.new
27
+ port_info = list.at(0)
28
+
29
+ expect(port_info).to be_kind_of(PortInfo)
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+
3
+ module GPhoto2
4
+ describe PortInfo do
5
+ let(:port_info_list) { double('port_info_list') }
6
+ let(:index) { 0 }
7
+
8
+ before do
9
+ PortInfo.any_instance.stub(:new)
10
+ end
11
+
12
+ describe '.find' do
13
+ it 'returns a new PortInfo instance from a port path' do
14
+ PortInfoList.any_instance.stub(:new)
15
+ PortInfoList.any_instance.stub(:load)
16
+ PortInfoList.any_instance.stub(:lookup_path)
17
+ PortInfoList.any_instance.stub(:[]).and_return do
18
+ PortInfo.new(port_info_list, index)
19
+ end
20
+
21
+ port_info = PortInfo.find('usb:250,006')
22
+ expect(port_info).to be_kind_of(PortInfo)
23
+ end
24
+ end
25
+
26
+ describe '#name' do
27
+ it 'returns the name of the port' do
28
+ name = 'name'
29
+ port_info = PortInfo.new(port_info_list, index)
30
+ port_info.stub(:get_name).and_return(name)
31
+ expect(port_info.name).to eq(name)
32
+ end
33
+ end
34
+
35
+ describe '#path' do
36
+ it 'returns the path of the port' do
37
+ path = 'path'
38
+ port_info = PortInfo.new(port_info_list, index)
39
+ port_info.stub(:get_path).and_return(path)
40
+ expect(port_info.path).to eq(path)
41
+ end
42
+ end
43
+
44
+ describe '#type' do
45
+ it 'returns the type of the port' do
46
+ type = :usb
47
+ port_info = PortInfo.new(port_info_list, index)
48
+ port_info.stub(:get_type).and_return(type)
49
+ expect(port_info.type).to eq(type)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,12 @@
1
+ require 'bundler/setup'
2
+ require 'gphoto2'
3
+
4
+ __dir__ ||= File.dirname(__FILE__)
5
+ Dir[File.join(__dir__, 'support/**/*.rb')].each { |f| require f }
6
+
7
+ RSpec.configure do |config|
8
+ config.treat_symbols_as_metadata_keys_with_true_values = true
9
+ config.run_all_when_everything_filtered = true
10
+ config.filter_run :focus
11
+ config.order = 'random'
12
+ end
@@ -0,0 +1,89 @@
1
+ shared_examples_for GPhoto2::CameraWidget do |klass|
2
+ describe '#name' do
3
+ it 'returns the name of the widget' do
4
+ name = 'name'
5
+ widget = klass.new(nil)
6
+ widget.stub(:get_name).and_return(name)
7
+ expect(widget.name).to eq(name)
8
+ end
9
+ end
10
+
11
+ describe '#value' do
12
+ it 'returns the value of the widget' do
13
+ value = 'value'
14
+ widget = klass.new(nil)
15
+ widget.stub(:get_value).and_return(value)
16
+ expect(widget.value).to eq(value)
17
+ end
18
+ end
19
+
20
+ describe '#value=' do
21
+ let(:value) { 'value' }
22
+ let(:widget) { klass.new(nil) }
23
+
24
+ before do
25
+ expect(widget).to receive(:set_value).with(value)
26
+ end
27
+
28
+ it 'sets a new value to the widget' do
29
+ widget.value = value
30
+ end
31
+
32
+ it 'returns the passed value' do
33
+ expect(widget.value = value).to eq(value)
34
+ end
35
+ end
36
+
37
+ describe '#type' do
38
+ it 'returns the type of the widget' do
39
+ type = :window
40
+ widget = klass.new(nil)
41
+ widget.stub(:get_type).and_return(type)
42
+ expect(widget.type).to eq(type)
43
+ end
44
+ end
45
+
46
+ describe '#children' do
47
+ it 'returns an array of child widgets' do
48
+ size = 2
49
+
50
+ widget = klass.new(nil)
51
+ widget.stub(:count_children).and_return(size)
52
+ widget.stub(:get_child)
53
+
54
+ expect(widget).to receive(:get_child).exactly(size).times
55
+
56
+ expect(widget.children).to be_kind_of(Array)
57
+ end
58
+ end
59
+
60
+ describe '#flatten' do
61
+ %w[a b].each do |name|
62
+ let(name.to_sym) do
63
+ widget = GPhoto2::TextCameraWidget.new(nil)
64
+ widget.stub(:name).and_return(name)
65
+ widget.stub(:type).and_return(:text)
66
+ widget.stub(:children).and_return([])
67
+ widget
68
+ end
69
+ end
70
+
71
+ it 'returns a map of name-widget pairs of its descendents' do
72
+ widget = klass.new(nil)
73
+ widget.stub(:name).and_return('a')
74
+ widget.stub(:type).and_return(:section)
75
+ widget.stub(:children).and_return([a, b])
76
+
77
+ expect(widget.flatten).to eq({ 'a' => a, 'b' => b })
78
+ end
79
+ end
80
+
81
+ describe '#to_s' do
82
+ it "returns the string value of the widget" do
83
+ value = 'value'
84
+ widget = klass.new(nil)
85
+ widget.stub(:value).and_return(value)
86
+ expect(widget.to_s).to eq(value)
87
+ end
88
+ end
89
+ end
metadata ADDED
@@ -0,0 +1,194 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ffi-gphoto2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Michael Macias
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
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: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.14.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.14.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: ffi
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.9.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 1.9.0
69
+ description:
70
+ email:
71
+ - mamacias@go.olemiss.edu
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - .gitignore
77
+ - .rspec
78
+ - Gemfile
79
+ - LICENSE.txt
80
+ - README.md
81
+ - Rakefile
82
+ - examples/intervalometer.rb
83
+ - examples/live_view.rb
84
+ - ffi-gphoto2.gemspec
85
+ - lib/ffi/gphoto2.rb
86
+ - lib/ffi/gphoto2/camera.rb
87
+ - lib/ffi/gphoto2/camera_abilities.rb
88
+ - lib/ffi/gphoto2/camera_abilities_list.rb
89
+ - lib/ffi/gphoto2/camera_capture_type.rb
90
+ - lib/ffi/gphoto2/camera_driver_status.rb
91
+ - lib/ffi/gphoto2/camera_event_type.rb
92
+ - lib/ffi/gphoto2/camera_file.rb
93
+ - lib/ffi/gphoto2/camera_file_access_type.rb
94
+ - lib/ffi/gphoto2/camera_file_operation.rb
95
+ - lib/ffi/gphoto2/camera_file_path.rb
96
+ - lib/ffi/gphoto2/camera_file_type.rb
97
+ - lib/ffi/gphoto2/camera_folder_operation.rb
98
+ - lib/ffi/gphoto2/camera_list.rb
99
+ - lib/ffi/gphoto2/camera_operation.rb
100
+ - lib/ffi/gphoto2/camera_widget.rb
101
+ - lib/ffi/gphoto2/camera_widget_type.rb
102
+ - lib/ffi/gphoto2/entry.rb
103
+ - lib/ffi/gphoto2/gp_context.rb
104
+ - lib/ffi/gphoto2/gphoto_device_type.rb
105
+ - lib/ffi/gphoto2_port.rb
106
+ - lib/ffi/gphoto2_port/gp_port_info.rb
107
+ - lib/ffi/gphoto2_port/gp_port_info_list.rb
108
+ - lib/ffi/gphoto2_port/gp_port_result.rb
109
+ - lib/ffi/gphoto2_port/gp_port_type.rb
110
+ - lib/gphoto2.rb
111
+ - lib/gphoto2/camera.rb
112
+ - lib/gphoto2/camera_abilities.rb
113
+ - lib/gphoto2/camera_abilities_list.rb
114
+ - lib/gphoto2/camera_file.rb
115
+ - lib/gphoto2/camera_file_path.rb
116
+ - lib/gphoto2/camera_folder.rb
117
+ - lib/gphoto2/camera_list.rb
118
+ - lib/gphoto2/camera_widgets/camera_widget.rb
119
+ - lib/gphoto2/camera_widgets/date_camera_widget.rb
120
+ - lib/gphoto2/camera_widgets/menu_camera_widget.rb
121
+ - lib/gphoto2/camera_widgets/radio_camera_widget.rb
122
+ - lib/gphoto2/camera_widgets/range_camera_widget.rb
123
+ - lib/gphoto2/camera_widgets/section_camera_widget.rb
124
+ - lib/gphoto2/camera_widgets/text_camera_widget.rb
125
+ - lib/gphoto2/camera_widgets/toggle_camera_widget.rb
126
+ - lib/gphoto2/camera_widgets/window_camera_widget.rb
127
+ - lib/gphoto2/context.rb
128
+ - lib/gphoto2/entry.rb
129
+ - lib/gphoto2/port_info.rb
130
+ - lib/gphoto2/port_info_list.rb
131
+ - lib/gphoto2/port_result.rb
132
+ - lib/gphoto2/version.rb
133
+ - spec/gphoto2/camera_abilities_list_spec.rb
134
+ - spec/gphoto2/camera_abilities_spec.rb
135
+ - spec/gphoto2/camera_file_path_spec.rb
136
+ - spec/gphoto2/camera_file_spec.rb
137
+ - spec/gphoto2/camera_folder_spec.rb
138
+ - spec/gphoto2/camera_list_spec.rb
139
+ - spec/gphoto2/camera_spec.rb
140
+ - spec/gphoto2/camera_widgets/date_camera_widget_spec.rb
141
+ - spec/gphoto2/camera_widgets/radio_camera_widget_spec.rb
142
+ - spec/gphoto2/camera_widgets/range_camera_widget_spec.rb
143
+ - spec/gphoto2/camera_widgets/text_camera_widget_spec.rb
144
+ - spec/gphoto2/camera_widgets/toggle_camera_widget_spec.rb
145
+ - spec/gphoto2/context_spec.rb
146
+ - spec/gphoto2/entry_spec.rb
147
+ - spec/gphoto2/port_info_list_spec.rb
148
+ - spec/gphoto2/port_info_spec.rb
149
+ - spec/spec_helper.rb
150
+ - spec/support/shared_examples/camera_widget_examples.rb
151
+ homepage: https://github.com/zaeleus/ffi-gphoto2
152
+ licenses:
153
+ - MIT
154
+ metadata: {}
155
+ post_install_message:
156
+ rdoc_options: []
157
+ require_paths:
158
+ - lib
159
+ required_ruby_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - '>='
162
+ - !ruby/object:Gem::Version
163
+ version: '1.9'
164
+ required_rubygems_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ requirements:
170
+ - libgphoto2 >= 2.5.0
171
+ rubyforge_project:
172
+ rubygems_version: 2.0.3
173
+ signing_key:
174
+ specification_version: 4
175
+ summary: A Ruby FFI for common functions in libgphoto2
176
+ test_files:
177
+ - spec/gphoto2/camera_abilities_list_spec.rb
178
+ - spec/gphoto2/camera_abilities_spec.rb
179
+ - spec/gphoto2/camera_file_path_spec.rb
180
+ - spec/gphoto2/camera_file_spec.rb
181
+ - spec/gphoto2/camera_folder_spec.rb
182
+ - spec/gphoto2/camera_list_spec.rb
183
+ - spec/gphoto2/camera_spec.rb
184
+ - spec/gphoto2/camera_widgets/date_camera_widget_spec.rb
185
+ - spec/gphoto2/camera_widgets/radio_camera_widget_spec.rb
186
+ - spec/gphoto2/camera_widgets/range_camera_widget_spec.rb
187
+ - spec/gphoto2/camera_widgets/text_camera_widget_spec.rb
188
+ - spec/gphoto2/camera_widgets/toggle_camera_widget_spec.rb
189
+ - spec/gphoto2/context_spec.rb
190
+ - spec/gphoto2/entry_spec.rb
191
+ - spec/gphoto2/port_info_list_spec.rb
192
+ - spec/gphoto2/port_info_spec.rb
193
+ - spec/spec_helper.rb
194
+ - spec/support/shared_examples/camera_widget_examples.rb