warden-protocol 0.1.3

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.
Files changed (63) hide show
  1. data/.gitignore +17 -0
  2. data/.rspec +1 -0
  3. data/CHANGELOG.md +14 -0
  4. data/Gemfile +6 -0
  5. data/README.md +13 -0
  6. data/Rakefile +40 -0
  7. data/lib/warden/protocol.rb +4 -0
  8. data/lib/warden/protocol/base.rb +168 -0
  9. data/lib/warden/protocol/buffer.rb +69 -0
  10. data/lib/warden/protocol/build.sh +13 -0
  11. data/lib/warden/protocol/message.rb +50 -0
  12. data/lib/warden/protocol/pb.rb +497 -0
  13. data/lib/warden/protocol/pb/copy_in.proto +35 -0
  14. data/lib/warden/protocol/pb/copy_out.proto +39 -0
  15. data/lib/warden/protocol/pb/create.proto +65 -0
  16. data/lib/warden/protocol/pb/destroy.proto +33 -0
  17. data/lib/warden/protocol/pb/echo.proto +26 -0
  18. data/lib/warden/protocol/pb/error.proto +19 -0
  19. data/lib/warden/protocol/pb/info.proto +95 -0
  20. data/lib/warden/protocol/pb/limit_bandwidth.proto +30 -0
  21. data/lib/warden/protocol/pb/limit_disk.proto +70 -0
  22. data/lib/warden/protocol/pb/limit_memory.proto +34 -0
  23. data/lib/warden/protocol/pb/link.proto +40 -0
  24. data/lib/warden/protocol/pb/list.proto +25 -0
  25. data/lib/warden/protocol/pb/message.proto +36 -0
  26. data/lib/warden/protocol/pb/net_in.proto +39 -0
  27. data/lib/warden/protocol/pb/net_out.proto +35 -0
  28. data/lib/warden/protocol/pb/ping.proto +24 -0
  29. data/lib/warden/protocol/pb/resource_limits.proto +30 -0
  30. data/lib/warden/protocol/pb/run.proto +29 -0
  31. data/lib/warden/protocol/pb/spawn.proto +37 -0
  32. data/lib/warden/protocol/pb/stop.proto +40 -0
  33. data/lib/warden/protocol/pb/stream.proto +41 -0
  34. data/lib/warden/protocol/version.rb +7 -0
  35. data/spec/base_spec.rb +150 -0
  36. data/spec/buffer_spec.rb +65 -0
  37. data/spec/copy_in_spec.rb +51 -0
  38. data/spec/copy_out_spec.rb +56 -0
  39. data/spec/create_spec.rb +70 -0
  40. data/spec/destroy_spec.rb +36 -0
  41. data/spec/echo_spec.rb +42 -0
  42. data/spec/error_spec.rb +33 -0
  43. data/spec/info_spec.rb +122 -0
  44. data/spec/limit_bandwidth_spec.rb +57 -0
  45. data/spec/limit_disk_spec.rb +103 -0
  46. data/spec/limit_memory_spec.rb +47 -0
  47. data/spec/link_spec.rb +67 -0
  48. data/spec/list_spec.rb +41 -0
  49. data/spec/net_in_spec.rb +57 -0
  50. data/spec/net_out_spec.rb +47 -0
  51. data/spec/ping_spec.rb +32 -0
  52. data/spec/resource_limits_spec.rb +84 -0
  53. data/spec/run_spec.rb +79 -0
  54. data/spec/spawn_spec.rb +55 -0
  55. data/spec/spec_helper.rb +11 -0
  56. data/spec/stop_spec.rb +46 -0
  57. data/spec/stream_spec.rb +65 -0
  58. data/spec/support/examples/wrappable_reply.rb +26 -0
  59. data/spec/support/examples/wrappable_request.rb +26 -0
  60. data/spec/support/helper.rb +122 -0
  61. data/spec/support/matchers.rb +22 -0
  62. data/warden-protocol.gemspec +21 -0
  63. metadata +166 -0
@@ -0,0 +1,22 @@
1
+ # coding: UTF-8
2
+
3
+ RSpec::Matchers.define :be_valid do
4
+ error = nil
5
+
6
+ match do |actual|
7
+ begin
8
+ actual.class.decode(actual.encode)
9
+ rescue => error
10
+ end
11
+
12
+ error == nil
13
+ end
14
+
15
+ failure_message_for_should do |actual|
16
+ "expected #{actual} to be valid, but caught error: #{error}"
17
+ end
18
+
19
+ failure_message_for_should_not do |actual|
20
+ "expected #{actual} not to be valid, but didn't catch an error"
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/warden/protocol/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Pieter Noordhuis"]
6
+ gem.email = ["pcnoordhuis@gmail.com"]
7
+ gem.description = %q{Protocol specification for Warden}
8
+ gem.summary = %q{Protocol specification for Warden}
9
+ gem.homepage = ""
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "warden-protocol"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = Warden::Protocol::VERSION
17
+
18
+ gem.add_dependency "beefcake"
19
+
20
+ gem.add_development_dependency "rspec", "~> 2.11"
21
+ end
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: warden-protocol
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Pieter Noordhuis
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-06-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: beefcake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '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: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '2.11'
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: '2.11'
46
+ description: Protocol specification for Warden
47
+ email:
48
+ - pcnoordhuis@gmail.com
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files: []
52
+ files:
53
+ - .gitignore
54
+ - .rspec
55
+ - CHANGELOG.md
56
+ - Gemfile
57
+ - README.md
58
+ - Rakefile
59
+ - lib/warden/protocol.rb
60
+ - lib/warden/protocol/base.rb
61
+ - lib/warden/protocol/buffer.rb
62
+ - lib/warden/protocol/build.sh
63
+ - lib/warden/protocol/message.rb
64
+ - lib/warden/protocol/pb.rb
65
+ - lib/warden/protocol/pb/copy_in.proto
66
+ - lib/warden/protocol/pb/copy_out.proto
67
+ - lib/warden/protocol/pb/create.proto
68
+ - lib/warden/protocol/pb/destroy.proto
69
+ - lib/warden/protocol/pb/echo.proto
70
+ - lib/warden/protocol/pb/error.proto
71
+ - lib/warden/protocol/pb/info.proto
72
+ - lib/warden/protocol/pb/limit_bandwidth.proto
73
+ - lib/warden/protocol/pb/limit_disk.proto
74
+ - lib/warden/protocol/pb/limit_memory.proto
75
+ - lib/warden/protocol/pb/link.proto
76
+ - lib/warden/protocol/pb/list.proto
77
+ - lib/warden/protocol/pb/message.proto
78
+ - lib/warden/protocol/pb/net_in.proto
79
+ - lib/warden/protocol/pb/net_out.proto
80
+ - lib/warden/protocol/pb/ping.proto
81
+ - lib/warden/protocol/pb/resource_limits.proto
82
+ - lib/warden/protocol/pb/run.proto
83
+ - lib/warden/protocol/pb/spawn.proto
84
+ - lib/warden/protocol/pb/stop.proto
85
+ - lib/warden/protocol/pb/stream.proto
86
+ - lib/warden/protocol/version.rb
87
+ - spec/base_spec.rb
88
+ - spec/buffer_spec.rb
89
+ - spec/copy_in_spec.rb
90
+ - spec/copy_out_spec.rb
91
+ - spec/create_spec.rb
92
+ - spec/destroy_spec.rb
93
+ - spec/echo_spec.rb
94
+ - spec/error_spec.rb
95
+ - spec/info_spec.rb
96
+ - spec/limit_bandwidth_spec.rb
97
+ - spec/limit_disk_spec.rb
98
+ - spec/limit_memory_spec.rb
99
+ - spec/link_spec.rb
100
+ - spec/list_spec.rb
101
+ - spec/net_in_spec.rb
102
+ - spec/net_out_spec.rb
103
+ - spec/ping_spec.rb
104
+ - spec/resource_limits_spec.rb
105
+ - spec/run_spec.rb
106
+ - spec/spawn_spec.rb
107
+ - spec/spec_helper.rb
108
+ - spec/stop_spec.rb
109
+ - spec/stream_spec.rb
110
+ - spec/support/examples/wrappable_reply.rb
111
+ - spec/support/examples/wrappable_request.rb
112
+ - spec/support/helper.rb
113
+ - spec/support/matchers.rb
114
+ - warden-protocol.gemspec
115
+ homepage: ''
116
+ licenses: []
117
+ post_install_message:
118
+ rdoc_options: []
119
+ require_paths:
120
+ - lib
121
+ required_ruby_version: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ requirements: []
134
+ rubyforge_project:
135
+ rubygems_version: 1.8.25
136
+ signing_key:
137
+ specification_version: 3
138
+ summary: Protocol specification for Warden
139
+ test_files:
140
+ - spec/base_spec.rb
141
+ - spec/buffer_spec.rb
142
+ - spec/copy_in_spec.rb
143
+ - spec/copy_out_spec.rb
144
+ - spec/create_spec.rb
145
+ - spec/destroy_spec.rb
146
+ - spec/echo_spec.rb
147
+ - spec/error_spec.rb
148
+ - spec/info_spec.rb
149
+ - spec/limit_bandwidth_spec.rb
150
+ - spec/limit_disk_spec.rb
151
+ - spec/limit_memory_spec.rb
152
+ - spec/link_spec.rb
153
+ - spec/list_spec.rb
154
+ - spec/net_in_spec.rb
155
+ - spec/net_out_spec.rb
156
+ - spec/ping_spec.rb
157
+ - spec/resource_limits_spec.rb
158
+ - spec/run_spec.rb
159
+ - spec/spawn_spec.rb
160
+ - spec/spec_helper.rb
161
+ - spec/stop_spec.rb
162
+ - spec/stream_spec.rb
163
+ - spec/support/examples/wrappable_reply.rb
164
+ - spec/support/examples/wrappable_request.rb
165
+ - spec/support/helper.rb
166
+ - spec/support/matchers.rb