fnf 0.0.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,7 +14,6 @@ Gem::Specification.new do |s|
14
14
  s.rubyforge_project = "fnf"
15
15
 
16
16
  s.add_dependency 'mkfifo'
17
- s.add_dependency 'ruby-fifo'
18
17
  s.add_dependency 'eventmachine'
19
18
  s.add_dependency 'msgpack'
20
19
  s.platform = Gem::Platform::RUBY
data/lib/fnf.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'rubygems'
2
2
  require 'daemons'
3
- require 'fifo'
4
3
  require 'json'
5
4
  require 'eventmachine'
6
5
  require 'typhoeus'
@@ -9,7 +8,8 @@ require 'msgpack'
9
8
  require 'fifowriter/fifowriter'
10
9
 
11
10
  module Fnf
11
+ autoload :Fifo, 'fnf/fifo'
12
12
  autoload :Connection, 'fnf/connection'
13
- autoload :Worker, 'fnf/worker'
14
- autoload :Client, 'fnf/client'
13
+ autoload :Worker, 'fnf/worker'
14
+ autoload :Client, 'fnf/client'
15
15
  end
@@ -0,0 +1,30 @@
1
+ module Fnf
2
+
3
+ class Fifo
4
+ def initialize(file)
5
+ if !File.exists?(file)
6
+ File.mkfifo(file)
7
+ File.chmod(0666, file)
8
+ end
9
+ @pipe = File.open(file, "r+")
10
+ end
11
+
12
+ def readline
13
+ str = ""
14
+ while ($_ = self.read(1)) != "\n"
15
+ str << $_
16
+ end
17
+ str << "\n"
18
+ end
19
+
20
+ def to_io
21
+ @pipe.to_io
22
+ end
23
+
24
+ def read(n)
25
+ @pipe.read(n)
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -1,3 +1,3 @@
1
1
  module Fnf
2
- VERSION = "0.0.2"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fnf
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
+ - 1
7
8
  - 0
8
9
  - 0
9
- - 2
10
- version: 0.0.2
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Julio Capote
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-27 00:00:00 -07:00
18
+ date: 2011-05-28 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -33,7 +33,7 @@ dependencies:
33
33
  type: :runtime
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
36
- name: ruby-fifo
36
+ name: eventmachine
37
37
  prerelease: false
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
@@ -47,7 +47,7 @@ dependencies:
47
47
  type: :runtime
48
48
  version_requirements: *id002
49
49
  - !ruby/object:Gem::Dependency
50
- name: eventmachine
50
+ name: msgpack
51
51
  prerelease: false
52
52
  requirement: &id003 !ruby/object:Gem::Requirement
53
53
  none: false
@@ -60,20 +60,6 @@ dependencies:
60
60
  version: "0"
61
61
  type: :runtime
62
62
  version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: msgpack
65
- prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
75
- type: :runtime
76
- version_requirements: *id004
77
63
  description: " Fire and Forget replaces the need to write resque tasks or delayed jobs to fire off web requests (usually notification webhooks or a anti-spam service, like defensio or akismet). A single worker reads and executes web requests from a blocking named pipe, while clients queue up them up in a non blocking manner. It uses typhoeus internally to execute the web requests for maximum speed."
78
64
  email:
79
65
  - jcapote@gmail.com
@@ -98,6 +84,7 @@ files:
98
84
  - lib/fnf.rb
99
85
  - lib/fnf/client.rb
100
86
  - lib/fnf/connection.rb
87
+ - lib/fnf/fifo.rb
101
88
  - lib/fnf/version.rb
102
89
  - lib/fnf/worker.rb
103
90
  - spec/client_spec.rb