camtasy 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df80c3f2bb693c4d41ec0355fcd55b81413614a8
4
- data.tar.gz: 832e1dec7b4f5052c30ca00945847202a70eb5f9
3
+ metadata.gz: 2eeb8b9e9939c5c08377fe6c9f0772ec68564164
4
+ data.tar.gz: dd70b87cf92d971ab74f783ab5cf8ad315e80269
5
5
  SHA512:
6
- metadata.gz: 6ff07426971f6163469836edddb30536dccb9dc8b28c4b013d99001d54a727ab73544f466d3c6785f89f3a510e648e499062fb12ab04edf6e53ed1e2386a0cca
7
- data.tar.gz: 042dc2a4f493372288795990cb081edbb4926af214d46de272b24554395653aa30905548bfc45fed8e13ef2e011a01efdc4bd4132151a14a19e8fc95cf6bf96e
6
+ metadata.gz: 7a34c3ca0740a65401d6a69b75b8aa08a0392ec4f7a34577dbd84ed1c667518cd760832bfe7d9545b56399b7a71bbd4cc833dee9ec9e6c62d831c287d6de4f99
7
+ data.tar.gz: 2e91820650a139f34ccd3bf9f44e2e0142d072d8752a635bc8810131266a29462af04ab8a1e90aad0b55a841c9d7d74cd0470e7c2277cfa0b404fd0846075de3
data/README.md CHANGED
@@ -1,24 +1,16 @@
1
1
  # Camtasy
2
2
 
3
- TODO: Write a gem description
3
+ A fancy dancy cam server based on the gorgeous work of that lovely
4
+ [tenderlove](http://tenderlovemaking.com/2014/03/26/webcam-photos-with-ruby.html)
4
5
 
5
6
  ## Installation
6
7
 
7
- Add this line to your application's Gemfile:
8
-
9
- gem 'camtasy'
10
-
11
- And then execute:
12
-
13
- $ bundle
14
-
15
- Or install it yourself as:
16
-
17
8
  $ gem install camtasy
18
9
 
19
10
  ## Usage
20
11
 
21
- TODO: Write usage instructions here
12
+ $ camtasy server
13
+ $ camtasy client | open -f -a /Applications/Preview.app
22
14
 
23
15
  ## Contributing
24
16
 
@@ -1,3 +1,22 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'camtasy'
4
+ require "thor"
5
+
6
+ module Camtasy
7
+ class CLI < Thor
8
+ DEFAULT_URI='druby://localhost:8787'
9
+
10
+ desc 'server', 'starts a server.'
11
+ def server
12
+ PhotoServer.new.run(DEFAULT_URI)
13
+ end
14
+
15
+ desc 'client', 'connect to a server'
16
+ def client
17
+ Client.new(DEFAULT_URI).run
18
+ end
19
+ end
20
+ end
21
+
22
+ Camtasy::CLI.start
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_runtime_dependency "thor", '~> 0.19'
22
+ spec.add_runtime_dependency "av_capture", '~> 1.0'
21
23
  spec.add_development_dependency "bundler", "~> 1.6"
22
24
  spec.add_development_dependency "rake"
23
25
  spec.add_development_dependency "rspec"
@@ -1,12 +1,12 @@
1
1
  module Camtasy
2
2
  class Client
3
- def initialize(server = DRbObject.new_with_uri('druby://localhost:8787'), stdout = $stdout)
4
- @server = server
3
+ def initialize(uri, stdout = $stdout)
4
+ @server = DRbObject.new_with_uri(uri)
5
5
  @stdout = stdout
6
6
  end
7
7
 
8
8
  def run
9
- @stdout.print server.take_photo
9
+ @stdout.print @server.take_photo
10
10
  end
11
11
  end
12
12
  end
@@ -1,7 +1,5 @@
1
1
  module Camtasy
2
2
  class PhotoServer
3
- attr_reader :request, :response
4
-
5
3
  def initialize
6
4
  @request = Queue.new
7
5
  @response = Queue.new
@@ -15,19 +13,17 @@ module Camtasy
15
13
  end
16
14
  end
17
15
 
18
- def run
16
+ def run(uri)
19
17
  Thread.new do
20
18
  AVCapture::Session.new.run_with(AVCapture.devices.find(&:video?)) do |connection|
21
- while server.request.pop
22
- server.response.push(connection.capture)
19
+ while @request.pop
20
+ @response.push(connection.capture)
23
21
  end
24
22
  end
25
23
  end
26
24
 
27
- DRb.start_service('druby://localhost:8787', server)
25
+ DRb.start_service(uri, self)
28
26
  DRb.thread.join
29
27
  end
30
28
  end
31
29
  end
32
-
33
- PhotoServer.new.run
@@ -1,3 +1,3 @@
1
1
  module Camtasy
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camtasy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo khan
@@ -10,6 +10,34 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.19'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.19'
27
+ - !ruby/object:Gem::Dependency
28
+ name: av_capture
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: bundler
15
43
  requirement: !ruby/object:Gem::Requirement