amq-protocol 1.0.0.pre7 → 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.
data/irb.rb DELETED
@@ -1,98 +0,0 @@
1
- #!/usr/bin/env bundle exec ruby
2
- # encoding: binary
3
-
4
- # This file is supposed to make inspecting AMQ protocol easier.
5
-
6
- # How does it work:
7
- # 1) This file is executed.
8
- # 2) We load irb, redefine where IRB looks for .irbrc and start IRB.
9
- # 3) IRB loads .irbrc, which we redefined, so it loads this file again.
10
- # However now the second branch of "if __FILE__ == $0" gets executed,
11
- # so it runs our custom code which loads the original .irbrc and then
12
- # it redefines some IRB settings. In this case it add IRB hook which
13
- # is executed after IRB is started.
14
-
15
- # Although it looks unnecessarily complicated, I can't see any easier
16
- # solution to this problem in case that you need to patch original settings.
17
- # Obviously in case you don't have the need, you'll be happy with simple:
18
-
19
- # require "irb"
20
- #
21
- # require_relative "lib/amq/protocol/client.rb"
22
- # include AMQ::Protocol
23
- #
24
- # IRB.start(__FILE__)
25
-
26
- require "irb"
27
-
28
- if __FILE__ == $0
29
- puts "~ Using #{__FILE__} as an executable ..."
30
-
31
-
32
- def IRB.rc_file_generators
33
- yield Proc.new { |_| __FILE__ }
34
- end
35
-
36
- IRB.start(__FILE__)
37
- else
38
- begin
39
- irbrc = File.join(ENV["HOME"], ".irbrc")
40
- puts "~ Using #{__FILE__} as a custom .irbrc .."
41
- puts "~ Loading original #{irbrc} ..."
42
- load irbrc
43
-
44
- # TODO: Don't generate constants in all.rb multiple
45
- # times, then we can remove this craziness with $VERBOSE.
46
- old_verbose, $VERBOSE = $VERBOSE, nil
47
- begin
48
- require_relative "lib/amq/protocol/all.rb"
49
- rescue LoadError
50
- abort "File lib/amq/protocol/all.rb doesn't exist! You have to generate it using ./tasks.rb generate --targets=all, executed from the root of AMQ Protocol repository."
51
- end
52
- $VERBOSE = old_verbose
53
-
54
- include AMQ::Protocol
55
-
56
- begin
57
- require "amq/client/framing/string/frame"
58
-
59
- class AMQ::Protocol::Frame
60
- def self.decode(string)
61
- AMQ::Client::Framing::String::Frame.decode(string)
62
- end
63
- end
64
- rescue LoadError
65
- warn "~ AMQ Client isn't available."
66
- end
67
-
68
- # "0123456789".chunks(1, 1, 2, 3)
69
- # => ["0", "1", "23", "456"]
70
- class String
71
- def chunks(*parts)
72
- offset = 0
73
- parts.map do |number_of_characters|
74
- self[offset..(offset + number_of_characters - 1)].tap do
75
- offset += number_of_characters
76
- end
77
- end << self[offset..-1]
78
- end
79
- end
80
-
81
- def fd(data)
82
- Frame.decode(data)
83
- end
84
-
85
- puts <<-EOF
86
-
87
- This is an AMQP #{AMQ::Protocol::PROTOCOL_VERSION} console. You can:
88
-
89
- - Decode data via: fd(frame_data).
90
- - Encode data using AMQP classes directly:
91
- frame = Connection::Open.encode("/")
92
- frame.encode
93
-
94
- EOF
95
- rescue Exception => exception # it just discards all the exceptions!
96
- abort exception.message + "\n - " + exception.backtrace.join("\n - ")
97
- end
98
- end
data/post-processing.rb DELETED
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # encoding: utf-8
3
-
4
- # helpers
5
- def pass; end
6
-
7
- # main
8
- buffer = ARGF.inject(String.new) do |buffer, line|
9
- # line filters
10
- line.gsub!(/\s*\n$/, "\n")
11
- line.gsub!("'", '"')
12
- line.gsub!('u"', '"') if line =~ /^\s*# \[/
13
-
14
- buffer += line
15
- end
16
-
17
- # buffer filters
18
- buffer.gsub!(/\n{2,}/m, "\n\n")
19
- pass while buffer.gsub!(/(\n( *) end)\n{2,}(\2end)/m, "\\1\n\\3")
20
-
21
- # Make sure there's only one \n at the end
22
- pass while buffer.chomp!
23
- buffer += "\n"
24
-
25
- puts buffer