rupi 0.2.1 → 0.2.2

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.
@@ -0,0 +1,26 @@
1
+ require 'tempfile'
2
+
3
+ module Rupi
4
+ class Camera
5
+ CONFIGURATION = {
6
+ :width => 640,
7
+ :height => 480,
8
+ :gain => 80,
9
+ :brightness => 80,
10
+ :contrast => 80,
11
+ :saturation => 80
12
+ }
13
+
14
+ def self.configure(options = {})
15
+ CONFIGURATION.merge!(options)
16
+ end
17
+
18
+ def self.capture(options = {})
19
+ cfg = CONFIGURATION.merge(options)
20
+ file = Tempfile.new('snap')
21
+ command = "uvccapture -S#{cfg[:saturation]} -B#{cfg[:brightness]} -C#{cfg[:contrast]} -G#{cfg[:gain]} -x#{cfg[:width]} -y#{cfg[:height]}"
22
+ system("#{command} -o#{file.path}")
23
+ file
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,71 @@
1
+ Sprinkle::Installers::Apt.class_eval do
2
+ alias_method :install_commands_original, :install_commands
3
+
4
+ def install_commands
5
+ "sudo #{install_commands_original}"
6
+ end
7
+ end
8
+
9
+ RVM_PATH = '/usr/local/rvm'
10
+ RVM_EXECUTABLE = "#{RVM_PATH}/bin/rvm"
11
+
12
+ package :rvm do
13
+ description 'Ruby Version Manager'
14
+
15
+ noop do
16
+ pre :install, "sudo curl -L get.rvm.io | sudo bash -s stable --path #{RVM_PATH}"
17
+ end
18
+
19
+ verify do
20
+ has_file RVM_EXECUTABLE
21
+ end
22
+ end
23
+
24
+ package :ruby_dependencies do
25
+ apt 'build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config'
26
+ end
27
+
28
+ package :ruby do
29
+ description 'Ruby 1.9.3'
30
+ version 'ruby-1.9.3-p194'
31
+ requires :rvm
32
+ requires :ruby_dependencies
33
+
34
+ noop do
35
+ pre :install, "sudo #{RVM_EXECUTABLE} mount -r https://s3.amazonaws.com/rvm-pi/debian/wheezy_sid/armv6l/ruby-1.9.3-p194.tar.bz2 --verify-downloads 1"
36
+ # pre :install, "sudo #{RVM_EXECUTABLE} install ruby-1.9.3-p194 --trace"
37
+ post :install, "#{RVM_EXECUTABLE} use ruby-1.9.3-p194 --default"
38
+ end
39
+
40
+ verify do
41
+ has_executable "#{RVM_PATH}/rubies/ruby-1.9.3-p194/bin/ruby"
42
+ end
43
+ end
44
+
45
+ package :rupi do
46
+ description 'Rupi'
47
+ requires :rvm
48
+ requires :ruby
49
+
50
+ apt 'uvccapture'
51
+
52
+ noop do
53
+ pre :install, "#{RVM_PATH}/bin/gem-ruby-1.9.3-p194 install rupi --no-rdoc --no-ri"
54
+ end
55
+
56
+ verify do
57
+ has_executable "#{RVM_PATH}/gems/ruby-1.9.3-p194/bin/rupi"
58
+ has_executable 'uvccapture'
59
+ end
60
+ end
61
+
62
+ policy :rupi, :roles => :raspberrypi do
63
+ requires :rupi
64
+ end
65
+
66
+ deployment do
67
+ delivery :capistrano do
68
+ set :user, $user || 'pi'
69
+ role :raspberrypi, $raspberypis || 'raspberrypi.local', :primary => true
70
+ end
71
+ end
data/lib/rupi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rupi
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
data/lib/rupi.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "rupi/version"
2
2
  require 'rupi/pin'
3
+ require 'rupi/camera'
3
4
 
4
5
  module Rupi
5
6
  PIN0 = Pin.new(0)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rupi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-06 00:00:00.000000000 Z
12
+ date: 2012-10-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: wiringpi
@@ -70,7 +70,9 @@ extra_rdoc_files: []
70
70
  files:
71
71
  - bin/rupi
72
72
  - bin/rupi_service
73
+ - lib/rupi/camera.rb
73
74
  - lib/rupi/pin.rb
75
+ - lib/rupi/sprinkle.rb
74
76
  - lib/rupi/version.rb
75
77
  - lib/rupi.rb
76
78
  - README.md
@@ -86,12 +88,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
88
  - - ! '>='
87
89
  - !ruby/object:Gem::Version
88
90
  version: '0'
91
+ segments:
92
+ - 0
93
+ hash: -3759034288693267139
89
94
  required_rubygems_version: !ruby/object:Gem::Requirement
90
95
  none: false
91
96
  requirements:
92
97
  - - ! '>='
93
98
  - !ruby/object:Gem::Version
94
99
  version: '0'
100
+ segments:
101
+ - 0
102
+ hash: -3759034288693267139
95
103
  requirements: []
96
104
  rubyforge_project:
97
105
  rubygems_version: 1.8.24
@@ -100,4 +108,3 @@ specification_version: 3
100
108
  summary: Provides a very natural ruby interface for interacting with GPIO on the Raspberry
101
109
  Pi
102
110
  test_files: []
103
- has_rdoc: