scribe-rb 2.2.rc2 → 2.2.rc3
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +1 -0
- data/.travis.yml +7 -0
- data/README.md +3 -0
- data/Rakefile +4 -0
- data/lib/{facebook_base_handler.rb → extras/facebook_base_handler.rb} +0 -0
- data/lib/{thrift_extras.rb → extras/non_strict_binary_protocol_factory.rb} +0 -0
- data/lib/{facebook_service.rb → generated/facebook_service.rb} +0 -0
- data/lib/{fb303_constants.rb → generated/fb303_constants.rb} +0 -0
- data/lib/{fb303_types.rb → generated/fb303_types.rb} +0 -0
- data/lib/{scribe.rb → generated/scribe.rb} +0 -0
- data/lib/{scribe_constants.rb → generated/scribe_constants.rb} +0 -0
- data/lib/{scribe_types.rb → generated/scribe_types.rb} +0 -0
- data/lib/scribe-rb.rb +7 -3
- data/scribe-rb.gemspec +3 -1
- data/spec/lib/extras/facebook_base_handler_spec.rb +78 -0
- data/spec/lib/extras/non_strict_binary_protocol_factory_spec.rb +14 -0
- data/spec/spec_helper.rb +3 -0
- metadata +73 -71
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color --format=doc
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Scribe For Ruby Made Easy
|
2
2
|
|
3
|
+
[![Build Status](https://secure.travis-ci.org/highgroove/scribe-rb.png)](http://travis-ci.org/highgroove/scribe-rb)
|
4
|
+
|
3
5
|
To use [Scribe](https://github.com/facebook/scribe), you usually have to
|
4
6
|
use [Apache Thrift](http://thrift.apache.org/) to generate Ruby code
|
5
7
|
from generic *.thrift files.
|
@@ -67,6 +69,7 @@ server.serve
|
|
67
69
|
## Hat Tips
|
68
70
|
|
69
71
|
* [Installing and Using Scribe with Ruby on Mac OS](http://kpumuk.info/development/installing-and-using-scribe-with-ruby-on-mac-os/)
|
72
|
+
* [Ruby Web-Services with Facebook’s Thrift](http://www.igvita.com/2007/11/30/ruby-web-services-with-facebooks-thrift/)
|
70
73
|
|
71
74
|
## License
|
72
75
|
|
data/Rakefile
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/scribe-rb.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
# Unfortunately the thrift generated files assume all the files are in the
|
2
|
+
# load path
|
3
|
+
$LOAD_PATH.push(File.expand_path("generated", File.dirname(__FILE__)))
|
4
|
+
require File.expand_path("generated/scribe", File.dirname(__FILE__))
|
5
|
+
|
6
|
+
require File.expand_path("extras/facebook_base_handler", File.dirname(__FILE__))
|
7
|
+
require File.expand_path("extras/non_strict_binary_protocol_factory", File.dirname(__FILE__))
|
data/scribe-rb.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "scribe-rb"
|
6
|
-
s.version = "2.2.
|
6
|
+
s.version = "2.2.rc3"
|
7
7
|
s.authors = ["Andy Lindeman"]
|
8
8
|
s.email = ["andy@highgroove.com"]
|
9
9
|
s.homepage = "http://github.com/highgroove/scribe-rb"
|
@@ -18,4 +18,6 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.add_dependency "thrift", "~>0.7.0"
|
19
19
|
|
20
20
|
s.add_development_dependency "rake"
|
21
|
+
s.add_development_dependency "rspec", "~>2.6.0"
|
22
|
+
s.add_development_dependency "timecop"
|
21
23
|
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe FacebookService::BaseHandler do
|
4
|
+
subject do
|
5
|
+
described_class.new("Test Handler")
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "#getName" do
|
9
|
+
it "returns the name given in the constructor" do
|
10
|
+
subject.getName.should eq("Test Handler")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "#getVersion" do
|
15
|
+
it "returns an empty string" do
|
16
|
+
subject.getVersion.should be_empty
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "#getStatus" do
|
21
|
+
it "always returns alive" do
|
22
|
+
subject.getStatus.should eq(Fb_status::ALIVE)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "#getStatusDetails" do
|
27
|
+
it "returns an empty string" do
|
28
|
+
subject.getStatusDetails.should be_empty
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# TODO: Expose an interface for manipulating counters
|
33
|
+
|
34
|
+
describe "#setOption" do
|
35
|
+
it "stores the option" do
|
36
|
+
subject.setOption("foo", "bar")
|
37
|
+
|
38
|
+
subject.getOption("foo").should eq("bar")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "#getOptions" do
|
43
|
+
it "returns all options as a Hash" do
|
44
|
+
subject.setOption("foo", "bar")
|
45
|
+
subject.setOption("foo2", "bar2")
|
46
|
+
|
47
|
+
|
48
|
+
subject.getOptions.should eq({"foo" => "bar", "foo2" => "bar2"})
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe "#getCpuProfile" do
|
53
|
+
it "returns an empty string" do
|
54
|
+
subject.getCpuProfile.should be_empty
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "#aliveSince" do
|
59
|
+
before { Timecop.freeze(Time.now) }
|
60
|
+
after { Timecop.return }
|
61
|
+
|
62
|
+
it "returns the time the service was created" do
|
63
|
+
subject.aliveSince.should eq(Time.now.to_i)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "#reinitialize" do
|
68
|
+
it "provides a noop method" do
|
69
|
+
subject.should respond_to(:reinitialize)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "#shutdown" do
|
74
|
+
it "provides a noop method" do
|
75
|
+
subject.should respond_to(:shutdown)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Thrift::NonStrictBinaryProtocolFactory do
|
4
|
+
subject { described_class.new }
|
5
|
+
|
6
|
+
describe "#get_protocol" do
|
7
|
+
it "constructs a BinaryProtocol instance with strict_read and strict_write as false" do
|
8
|
+
Thrift::BinaryProtocol.should_receive(:new).
|
9
|
+
with(anything, false, false)
|
10
|
+
|
11
|
+
subject.get_protocol(double)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,111 +1,113 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: scribe-rb
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.2.rc3
|
5
5
|
prerelease: 4
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 2
|
9
|
-
- rc
|
10
|
-
- 2
|
11
|
-
version: 2.2.rc2
|
12
6
|
platform: ruby
|
13
|
-
authors:
|
7
|
+
authors:
|
14
8
|
- Andy Lindeman
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
|
12
|
+
date: 2011-09-09 00:00:00.000000000 -04:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: thrift
|
17
|
+
requirement: &21378900 !ruby/object:Gem::Requirement
|
23
18
|
none: false
|
24
|
-
requirements:
|
19
|
+
requirements:
|
25
20
|
- - ~>
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
hash: 3
|
28
|
-
segments:
|
29
|
-
- 0
|
30
|
-
- 7
|
31
|
-
- 0
|
21
|
+
- !ruby/object:Gem::Version
|
32
22
|
version: 0.7.0
|
33
|
-
name: thrift
|
34
23
|
type: :runtime
|
35
24
|
prerelease: false
|
36
|
-
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 3
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
25
|
+
version_requirements: *21378900
|
26
|
+
- !ruby/object:Gem::Dependency
|
47
27
|
name: rake
|
28
|
+
requirement: &21378460 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *21378460
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rspec
|
39
|
+
requirement: &21377900 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 2.6.0
|
45
|
+
type: :development
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *21377900
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: timecop
|
50
|
+
requirement: &21377480 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
48
56
|
type: :development
|
49
57
|
prerelease: false
|
50
|
-
|
51
|
-
description:
|
52
|
-
email:
|
58
|
+
version_requirements: *21377480
|
59
|
+
description: ''
|
60
|
+
email:
|
53
61
|
- andy@highgroove.com
|
54
62
|
executables: []
|
55
|
-
|
56
63
|
extensions: []
|
57
|
-
|
58
64
|
extra_rdoc_files: []
|
59
|
-
|
60
|
-
files:
|
65
|
+
files:
|
61
66
|
- .gitignore
|
67
|
+
- .rspec
|
68
|
+
- .travis.yml
|
62
69
|
- Gemfile
|
63
70
|
- README.md
|
64
71
|
- Rakefile
|
65
|
-
- lib/facebook_base_handler.rb
|
66
|
-
- lib/
|
67
|
-
- lib/
|
68
|
-
- lib/
|
72
|
+
- lib/extras/facebook_base_handler.rb
|
73
|
+
- lib/extras/non_strict_binary_protocol_factory.rb
|
74
|
+
- lib/generated/facebook_service.rb
|
75
|
+
- lib/generated/fb303_constants.rb
|
76
|
+
- lib/generated/fb303_types.rb
|
77
|
+
- lib/generated/scribe.rb
|
78
|
+
- lib/generated/scribe_constants.rb
|
79
|
+
- lib/generated/scribe_types.rb
|
69
80
|
- lib/scribe-rb.rb
|
70
|
-
- lib/scribe.rb
|
71
|
-
- lib/scribe_constants.rb
|
72
|
-
- lib/scribe_types.rb
|
73
|
-
- lib/thrift_extras.rb
|
74
81
|
- scribe-rb.gemspec
|
82
|
+
- spec/lib/extras/facebook_base_handler_spec.rb
|
83
|
+
- spec/lib/extras/non_strict_binary_protocol_factory_spec.rb
|
84
|
+
- spec/spec_helper.rb
|
85
|
+
has_rdoc: true
|
75
86
|
homepage: http://github.com/highgroove/scribe-rb
|
76
87
|
licenses: []
|
77
|
-
|
78
88
|
post_install_message:
|
79
89
|
rdoc_options: []
|
80
|
-
|
81
|
-
require_paths:
|
90
|
+
require_paths:
|
82
91
|
- lib
|
83
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
84
93
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
segments:
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
segments:
|
90
99
|
- 0
|
91
|
-
|
92
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
hash: -2559920720779231407
|
101
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
102
|
none: false
|
94
|
-
requirements:
|
95
|
-
- -
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
hash: 25
|
98
|
-
segments:
|
99
|
-
- 1
|
100
|
-
- 3
|
101
|
-
- 1
|
103
|
+
requirements:
|
104
|
+
- - ! '>'
|
105
|
+
- !ruby/object:Gem::Version
|
102
106
|
version: 1.3.1
|
103
107
|
requirements: []
|
104
|
-
|
105
108
|
rubyforge_project:
|
106
|
-
rubygems_version: 1.
|
109
|
+
rubygems_version: 1.6.2
|
107
110
|
signing_key:
|
108
111
|
specification_version: 3
|
109
112
|
summary: Generated scribe and fb303 bindings for Ruby packed into a gem
|
110
113
|
test_files: []
|
111
|
-
|