twirl 0.1.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.
data/test/item_test.rb ADDED
@@ -0,0 +1,43 @@
1
+ require "helper"
2
+ require "twirl/item"
3
+
4
+ class ItemTest < Minitest::Test
5
+ def test_initialize
6
+ client = Object.new
7
+ item = build(:item, "events", "data", client)
8
+ assert_equal "events", item.key
9
+ assert_equal "data", item.value
10
+ assert_equal client, item.client
11
+ end
12
+
13
+ def test_close
14
+ key = "events"
15
+ client = Minitest::Mock.new
16
+ client.expect :close, :closed, [key]
17
+
18
+ item = build(:item, key, "data", client)
19
+ assert_equal :closed, item.close
20
+
21
+ client.verify
22
+ end
23
+
24
+ def test_abort
25
+ key = "events"
26
+ client = Minitest::Mock.new
27
+ client.expect :abort, :aborted, [key]
28
+
29
+ item = build(:item, key, "data", client)
30
+ assert_equal :aborted, item.abort
31
+
32
+ client.verify
33
+ end
34
+
35
+ def test_eql
36
+ client = Object.new
37
+ item = build(:item, "events", "data", client)
38
+
39
+ assert item.eql?(build(:item, "events", "data", client))
40
+
41
+ assert ! item.eql?(build(:item, "events", "data", Object.new))
42
+ end
43
+ end
@@ -0,0 +1,27 @@
1
+ class FakeUDPSocket
2
+ attr_reader :buffer
3
+
4
+ def initialize
5
+ @buffer = []
6
+ end
7
+
8
+ def send(message, *rest)
9
+ @buffer.push [message]
10
+ end
11
+
12
+ def recv
13
+ @buffer.shift
14
+ end
15
+
16
+ def clear
17
+ @buffer = []
18
+ end
19
+
20
+ def to_s
21
+ inspect
22
+ end
23
+
24
+ def inspect
25
+ "<FakeUDPSocket: #{@buffer.inspect}>"
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ require "helper"
2
+ require "twirl"
3
+
4
+ class TwirlTest < Minitest::Test
5
+ def test_new
6
+ hosts = ["localhost:1", "localhost:2"]
7
+
8
+ client = Twirl.new(hosts)
9
+ assert_instance_of Twirl::Cluster, client
10
+ end
11
+ end
data/twirl.gemspec ADDED
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'twirl/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "twirl"
8
+ spec.version = Twirl::VERSION
9
+ spec.authors = ["John Nunemaker"]
10
+ spec.email = ["nunemaker@gmail.com"]
11
+ spec.description = %q{Wrapper for kjess that works with multiple kestrel instances intelligently.}
12
+ spec.summary = %q{Wrapper for kjess that works with multiple kestrel instances intelligently.}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "kjess", "~> 1.2.0"
22
+ spec.add_development_dependency "rake"
23
+ end
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: twirl
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - John Nunemaker
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-09-15 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: kjess
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.2.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: Wrapper for kjess that works with multiple kestrel instances intelligently.
47
+ email:
48
+ - nunemaker@gmail.com
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files: []
52
+ files:
53
+ - .gitignore
54
+ - Gemfile
55
+ - LICENSE.txt
56
+ - README.md
57
+ - Rakefile
58
+ - examples/server.rb
59
+ - lib/twirl.rb
60
+ - lib/twirl/cluster.rb
61
+ - lib/twirl/instrumentation/log_subscriber.rb
62
+ - lib/twirl/instrumentation/statsd.rb
63
+ - lib/twirl/instrumentation/statsd_subscriber.rb
64
+ - lib/twirl/instrumentation/subscriber.rb
65
+ - lib/twirl/instrumenters/memory.rb
66
+ - lib/twirl/instrumenters/noop.rb
67
+ - lib/twirl/item.rb
68
+ - lib/twirl/server.rb
69
+ - lib/twirl/version.rb
70
+ - script/bootstrap
71
+ - script/kestrel
72
+ - script/release
73
+ - script/test
74
+ - script/watch
75
+ - test/cluster_test.rb
76
+ - test/helper.rb
77
+ - test/instrumentation/log_subscriber_test.rb
78
+ - test/instrumentation/statsd_test.rb
79
+ - test/instrumenters/memory_test.rb
80
+ - test/instrumenters/noop_test.rb
81
+ - test/integration/cluster_test.rb
82
+ - test/item_test.rb
83
+ - test/support/fake_udp_socket.rb
84
+ - test/twirl_test.rb
85
+ - twirl.gemspec
86
+ homepage: ''
87
+ licenses:
88
+ - MIT
89
+ post_install_message:
90
+ rdoc_options: []
91
+ require_paths:
92
+ - lib
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ! '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ requirements: []
106
+ rubyforge_project:
107
+ rubygems_version: 1.8.23
108
+ signing_key:
109
+ specification_version: 3
110
+ summary: Wrapper for kjess that works with multiple kestrel instances intelligently.
111
+ test_files:
112
+ - test/cluster_test.rb
113
+ - test/helper.rb
114
+ - test/instrumentation/log_subscriber_test.rb
115
+ - test/instrumentation/statsd_test.rb
116
+ - test/instrumenters/memory_test.rb
117
+ - test/instrumenters/noop_test.rb
118
+ - test/integration/cluster_test.rb
119
+ - test/item_test.rb
120
+ - test/support/fake_udp_socket.rb
121
+ - test/twirl_test.rb