fnf 0.0.2 → 1.0.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.
@@ -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