wrest 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,25 +1,20 @@
1
- Features under the section marked 'In Progress' are currently in the process of being implemented. They are to be considered unstable and not ready for use.
2
-
3
1
  Features under the section marked 'Current' are completed but pending release as a gem. If you need any of these, you'll need to use the latest source from the git repository.
4
2
 
5
3
  Features under a numbered section are complete and available in the Wrest gem.
6
4
 
7
- == Coming soon
8
- * Proxy support
9
- * Multi-part post support on curl
10
-
11
- == In progress
12
- * 304/ETag response caching
13
- * Keep-alive support for libcurl
14
- * Explicit cookie helpers - #cookie=, #cookie?
15
- * Response code checkers: ok?, redirect?, created? etc.
16
- * Alias deserialise as deserialize
17
- * Ensure Components::Container is ActiveModel compliant
5
+ == 1.0.2
6
+ * GH#12 Post Multipart support when using the Patron adapter
7
+ * GH#72 Response code checkers: ok?, redirect?, created? etc.
8
+ * GH#85 Do not autoload Nokogiri/Libxml, and remove warnings.
9
+ * GH#79 Update Patron version.
18
10
 
19
- == Current
20
- * GH#61 Option propogate while converting uri to UriTemplate and back.
11
+ == 1.0.1
12
+ * GH#61 Option propagate while converting uri to UriTemplate and back.
21
13
  * GH#64 Removed Caching.
22
14
  * GH#32 Callback for response status codes.
15
+ * GH#53 Add to_uri_template helper to String
16
+ * GH#12 Add Post/Put Multipart support when using the Patron adapter
17
+ * GH#72 Response code checkers: ok?, redirect?, created? etc.
23
18
 
24
19
  == 1.0.0
25
20
  * GH#56 Detailed Net::HTTP debug output option added to Wrest::Native:Request.
@@ -30,6 +25,7 @@ Features under a numbered section are complete and available in the Wrest gem.
30
25
  * GH#52 Wrest console (bin/wrest) fails on 1.9.2
31
26
  * GH#55 Fix connection.verify_mode for Net::HTTP https connection to VERIFY_PEER
32
27
  * GH#57 Feature #24 doesn't autoload correctly
28
+
33
29
  == 1.0.0.beta7
34
30
  * GH#46 Response.deserialise for Json responses
35
31
 
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = Wrest 1.0.0
1
+ = Wrest 1.0.2
2
2
 
3
3
  (c) Copyright 2009-2010 {Sidu Ponnappa}[http://blog.sidu.in]. All Rights Reserved.
4
4
 
@@ -103,16 +103,13 @@ To find out what actions are permitted on a URI:
103
103
 
104
104
  ==== Callbacks
105
105
 
106
- You can define a Hash of {response code -> action} to be executed after a request is completed.
106
+ You can define a set of callbacks that are invoked based on the http code of the response.
107
107
 
108
- logger=Logger.new("wrest_callbacks.log")
109
-
110
- actions = { 200 => lambda {|response| logger.info "Ok." },
111
- 400..499 => lambda {|response| logger.error "Invalid. #{response.body}"},
112
- 300..302 => lambda {|response| logger.debug "Redirected. #{response.message}" }
113
- }
114
-
115
- "http://google.com".to_uri(:callback => actions).get
108
+ "http://google.com".to_uri(:callback => {
109
+ 200 => lambda {|response| Wrest.logger.info "Ok." },
110
+ 400..499 => lambda {|response| Wrest.logger.error "Invalid. #{response.body}"},
111
+ 300..302 => lambda {|response| Wrest.logger.debug "Redirected. #{response.message}" }
112
+ }).get
116
113
 
117
114
  Please note that Wrest is a synchronous library. All requests are blocking, and will not return till the request is completed and appropriate callbacks executed.
118
115
 
@@ -183,7 +180,6 @@ Run the tests in a different terminal:
183
180
  # Runs the functional test suite.
184
181
  rake rspec:functional
185
182
 
186
-
187
183
  == Contributors
188
184
 
189
185
  * Sidu Ponnappa : {kaiwren}[http://github.com/kaiwren]
@@ -12,8 +12,9 @@ module Wrest
12
12
  module String #:nodoc:
13
13
  # Makes it easier to build other objects from a String
14
14
  # This module is opt-out - if you don't want the to_uri
15
- # convenience method on String, set the NoStringExtensions
16
- # constant on the Wrest module before requiring wrest.
15
+ # and to_uri_template convenience method on String, set
16
+ # the NoStringExtensions constant on the Wrest module
17
+ # before requiring wrest.
17
18
  #
18
19
  # module Wrest
19
20
  # NoStringExtensions = true
@@ -25,6 +26,11 @@ module Wrest
25
26
  def to_uri(options = {})
26
27
  Wrest::Uri.new(self.strip, options)
27
28
  end
29
+
30
+ # A convenience method equivalent to Wrest:UriTemplate.new(uri_pattern)
31
+ def to_uri_template(options = {})
32
+ Wrest::UriTemplate.new(self.strip, options)
33
+ end
28
34
  end
29
35
  end
30
36
  end
@@ -0,0 +1,31 @@
1
+ # Copyright 2009 - 2010 Sidu Ponnappa
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software distributed under the License
7
+ # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8
+ # See the License for the specific language governing permissions and limitations under the License.
9
+
10
+ module Wrest::Curl
11
+ class PostMultipart < Request
12
+ def initialize(wrest_uri, parameters = {}, headers = {}, options = {})
13
+ parameters = parameters.symbolize_keys
14
+
15
+ data = parameters[:data] ? {:data => parameters[:data]} : {:data => " "}
16
+ file = parameters[:file].is_a?(File) ? {:file => parameters[:file].path} : {:file => parameters[:file]}
17
+
18
+ options = options.merge({:data => data, :file => file, :multipart => true})
19
+ parameters.delete(:data)
20
+ parameters.delete(:file)
21
+ super(
22
+ wrest_uri,
23
+ :post,
24
+ parameters,
25
+ options[:data],
26
+ headers,
27
+ options
28
+ )
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,16 @@
1
+ # Copyright 2009 - 2010 Sidu Ponnappa
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software distributed under the License
7
+ # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8
+ # See the License for the specific language governing permissions and limitations under the License.
9
+
10
+ module Wrest::Curl
11
+ class PutMultipart < Request
12
+ def initialize(wrest_uri, parameters = {}, headers = {}, options = {})
13
+ raise Wrest::Exceptions::UnsupportedFeature, 'put_multipart'
14
+ end
15
+ end
16
+ end
@@ -14,7 +14,7 @@ module Wrest
14
14
  # or Wrest::Curl::Get etc. instead.
15
15
  class Request
16
16
  attr_reader :http_request, :uri, :body, :headers, :username, :password, :follow_redirects,
17
- :follow_redirects_limit, :timeout, :connection, :parameters, :auth_type
17
+ :follow_redirects_limit, :timeout, :connection, :parameters, :auth_type, :multipart, :file_name
18
18
  # Valid tuples for the options are:
19
19
  # :username => String, defaults to nil
20
20
  # :password => String, defaults to nil
@@ -38,6 +38,8 @@ module Wrest
38
38
  @body = body
39
39
 
40
40
  @options = options.clone
41
+ @multipart = @options[:multipart]
42
+ @file_name = @options[:file]
41
43
  @auth_type = @options[:auth_type] || :basic
42
44
  @username = @options[:username]
43
45
  @password = @options[:password]
@@ -49,10 +51,13 @@ module Wrest
49
51
 
50
52
  @http_request = Patron::Request.new
51
53
  @http_request.action = http_verb
52
- @http_request.upload_data = body
54
+
53
55
  @http_request.headers = headers
54
56
  @http_request.username = username
55
57
  @http_request.password = password
58
+ @http_request.multipart = multipart
59
+ @http_request.upload_data = body
60
+ @http_request.file_name = file_name
56
61
  @http_request.auth_type = auth_type
57
62
  @http_request.url = parameters.empty? ? uri.to_s : "#{uri.to_s}?#{parameters.to_query}"
58
63
  @http_request.max_redirects = follow_redirects_limit if follow_redirects
@@ -10,9 +10,14 @@
10
10
  module Wrest #:nodoc:
11
11
  module Curl #:nodoc:
12
12
  # Decorates a response providing support for deserialisation.
13
+ #
14
+ # Also provides set of HTTP response code checkers. For instance, the method ok? checks if the response was
15
+ # successful with HTTP code 200.
16
+ # See HttpCodes for a list of all such response checkers.
13
17
  class Response
14
18
  attr_reader :http_response
15
19
  include HttpShared::Headers
20
+ include HttpCodes
16
21
 
17
22
  extend Forwardable
18
23
  def_delegators :@http_response, :body, :headers
data/lib/wrest/curl.rb CHANGED
@@ -46,4 +46,6 @@ require "#{Wrest::Root}/wrest/curl/put"
46
46
  require "#{Wrest::Root}/wrest/curl/post"
47
47
  require "#{Wrest::Root}/wrest/curl/delete"
48
48
  require "#{Wrest::Root}/wrest/curl/options"
49
- # require "#{Wrest::Root}/wrest/curl/session"
49
+ require "#{Wrest::Root}/wrest/curl/post_multipart"
50
+ require "#{Wrest::Root}/wrest/curl/put_multipart"
51
+ # require "#{Wrest::Root}/wrest/curl/session"
@@ -29,5 +29,8 @@ module Wrest
29
29
 
30
30
  class UnsupportedHttpVerb < StandardError
31
31
  end
32
+
33
+ class UnsupportedFeature < StandardError
34
+ end
32
35
  end
33
36
  end
@@ -0,0 +1,82 @@
1
+ # Copyright 2009 Sidu Ponnappa
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at native://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software distributed under the License
7
+ # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8
+ # See the License for the specific language governing permissions and limitations under the License.
9
+
10
+ module Wrest
11
+ # Contains convenience methods to check HTTP response codes
12
+ module HttpCodes
13
+
14
+ def ok?
15
+ self.code.to_i == 200
16
+ end
17
+
18
+ def created?
19
+ self.code.to_i == 201
20
+ end
21
+
22
+ def accepted?
23
+ self.code.to_i == 202
24
+ end
25
+
26
+ def no_content?
27
+ self.code.to_i == 204
28
+ end
29
+
30
+ def moved_permanently?
31
+ self.code.to_i == 301
32
+ end
33
+
34
+ def found?
35
+ self.code.to_i == 302
36
+ end
37
+
38
+ def see_other?
39
+ self.code.to_i == 303
40
+ end
41
+
42
+ def not_modified?
43
+ self.code.to_i == 304
44
+ end
45
+
46
+ def temporary_redirect?
47
+ self.code.to_i == 307
48
+ end
49
+
50
+ def bad_request?
51
+ self.code.to_i == 400
52
+ end
53
+
54
+ def unauthorized?
55
+ self.code.to_i == 401
56
+ end
57
+
58
+ def forbidden?
59
+ self.code.to_i == 403
60
+ end
61
+
62
+ def not_found?
63
+ self.code.to_i == 404
64
+ end
65
+
66
+ def method_not_allowed?
67
+ self.code.to_i == 405
68
+ end
69
+
70
+ def not_acceptable?
71
+ self.code.to_i == 406
72
+ end
73
+
74
+ def unprocessable_entity?
75
+ self.code.to_i == 422
76
+ end
77
+
78
+ def internal_server_error?
79
+ self.code.to_i == 500
80
+ end
81
+ end
82
+ end
@@ -38,7 +38,7 @@ module Wrest::Native
38
38
  # and the values are the callback functions to be executed.
39
39
  # eg: { <response code> => lambda { |response| some_operation } }
40
40
  #
41
- # *WARNING* : detailed_http_logging causes serious security hole. Never use it in production code.
41
+ # *WARNING* : detailed_http_logging causes a serious security hole. Never use it in production code.
42
42
  #
43
43
  def initialize(wrest_uri, http_request_klass, parameters = {}, body = nil, headers = {}, options = {})
44
44
  @uri = wrest_uri
@@ -57,7 +57,7 @@ module Wrest::Native
57
57
  @cache_store = options[:cache_store]
58
58
  @verify_mode = @options[:verify_mode]
59
59
  @detailed_http_logging = options[:detailed_http_logging]
60
- @callback = key_ranges_to_array(@options[:callback] || {})
60
+ @callback = @options[:callback] || {}
61
61
  end
62
62
 
63
63
  # Makes a request, runs the appropriate callback if any and
@@ -98,6 +98,7 @@ module Wrest::Native
98
98
  raise Wrest::Exceptions::Timeout.new(e)
99
99
  end
100
100
 
101
+ #:nodoc:
101
102
  def build_request(request_klass, uri, parameters, headers)
102
103
  if(!uri.query.empty?)
103
104
  request_klass.new(parameters.empty? ? "#{uri.uri_path}?#{uri.query}" : "#{uri.uri_path}?#{uri.query}&#{parameters.to_query}", headers)
@@ -106,44 +107,21 @@ module Wrest::Native
106
107
  end
107
108
  end
108
109
 
110
+ #:nodoc:
109
111
  def do_request
110
112
  @connection.request(@http_request, @body)
111
113
  end
112
114
 
113
- private
114
-
115
+ #:nodoc:
115
116
  def execute_callback_if_any(actual_response)
116
- @callback.each do |callback_response_range, action|
117
- action.call(actual_response) if callback_response_range.include?(actual_response.code.to_i)
118
- end
119
- end
120
-
121
- # Returns a new Hash with all the keys converted into an Array.
122
- # Keys who are of type Range are expanded, existing Arrays are kept as such.
123
- #
124
- # Use case:
125
- # Converts Wrest#Uri callback array from
126
- # { 200 => lambda { xyz }, 500..502 => lambda { abc } }
127
- # into
128
- # { [200] => lambda { xyz }, [500, 501, 502] => lambda { abc } }
129
- #
130
- def key_ranges_to_array(callback_hash)
131
- result = {}
132
-
133
- callback_hash.each do |key, value|
134
- new_key =
135
- if key.is_a?(Range)
136
- key.to_a
137
- elsif key.is_a?(Array)
138
- key
139
- else
140
- [key]
117
+ @callback.each do |callback_response_range, callback|
118
+ callback.call(actual_response) if case callback_response_range
119
+ when Range
120
+ callback_response_range.include?(actual_response.code.to_i)
121
+ when Fixnum
122
+ callback_response_range == actual_response.code.to_i
141
123
  end
142
-
143
- result[new_key] = value
144
124
  end
145
-
146
- result
147
125
  end
148
126
  end
149
127
  end
@@ -18,8 +18,13 @@ module Wrest #:nodoc:
18
18
  # :get_fields, :key?, :type_params</tt>
19
19
  #
20
20
  # They behave exactly like their Net::HttpResponse equivalents.
21
+ #
22
+ # Also provides set of HTTP response code checkers. For instance, the method ok? checks if the response was
23
+ # successful with HTTP code 200.
24
+ # See HttpCodes for a list of all such response checkers.
21
25
  class Response
22
26
  attr_reader :http_response
27
+ include HttpCodes
23
28
 
24
29
  extend Forwardable
25
30
  def_delegators :@http_response, :code, :message, :body, :Http_version,
data/lib/wrest/version.rb CHANGED
@@ -12,7 +12,7 @@ module Wrest
12
12
  unless defined? MAJOR
13
13
  MAJOR = 1
14
14
  MINOR = 0
15
- TINY = 1
15
+ TINY = 2
16
16
  BUILD = nil
17
17
 
18
18
  STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
data/lib/wrest.rb CHANGED
@@ -52,35 +52,9 @@ end
52
52
  Wrest.logger = ActiveSupport::BufferedLogger.new(STDOUT)
53
53
  Wrest.logger.level = Logger::DEBUG
54
54
 
55
- begin
56
- gem 'libxml-ruby', '>= 1.1.3'
57
- ActiveSupport::XmlMini.backend='LibXML'
58
- rescue Gem::LoadError
59
- begin
60
- gem 'nokogiri', '~> 1.4.3.1'
61
- ActiveSupport::XmlMini.backend='Nokogiri'
62
- rescue Gem::LoadError
63
- unless RUBY_PLATFORM =~ /java/
64
- Wrest.logger.debug "Warning: LibXML >= 1.1.3 not found, attempting to use Nokogiri. To install LibXML run `(sudo) gem install libxml-ruby` (libxml-ruby is not available on JRuby)"
65
- end
66
- Wrest.logger.debug "Warning: Nokogiri >= 1.3.3 not found, falling back to #{ActiveSupport::XmlMini.backend} (which is probably significantly slower). To install Nokogiri run `(sudo) (jruby -S) gem install nokogiri`"
67
- if RUBY_PLATFORM =~ /java/
68
- begin
69
- gem 'jrexml', '~> 0.5.3'
70
- require 'jrexml'
71
- Wrest.logger.debug "Detected JRuby, JREXML loaded."
72
- rescue Gem::LoadError
73
- Wrest.logger.debug "Warning: Detected JRuby, but failed to load JREXML. JREXML offers *some* performance improvement when using REXML on JRuby. To install JREXML run `(sudo) jruby -S gem install jrexml`"
74
- end
75
- end
76
- end
77
- end
78
-
79
55
  RUBY_PLATFORM =~ /java/ ? gem('json-jruby', '>= 1.4.2') : gem('json', '>= 1.4.2')
80
56
  ActiveSupport::JSON.backend = "JSONGem"
81
57
 
82
-
83
-
84
58
  require "#{Wrest::Root}/wrest/core_ext/string"
85
59
 
86
60
  # Load XmlMini Extensions
@@ -89,6 +63,7 @@ require "#{Wrest::Root}/wrest/xml_mini"
89
63
  # Load Wrest Core
90
64
  require "#{Wrest::Root}/wrest/version"
91
65
  require "#{Wrest::Root}/wrest/http_shared"
66
+ require "#{Wrest::Root}/wrest/http_codes"
92
67
  require "#{Wrest::Root}/wrest/native"
93
68
 
94
69
  # Load Wrest Wrappers
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wrest
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease: false
4
+ hash: 19
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 1
10
- version: 1.0.1
9
+ - 2
10
+ version: 1.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sidu Ponnappa
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-01-04 00:00:00 +05:30
19
+ date: 2011-01-24 00:00:00 +05:30
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -95,9 +95,7 @@ extensions: []
95
95
  extra_rdoc_files:
96
96
  - README.rdoc
97
97
  files:
98
- - bin/wrest.compiled.rbc
99
98
  - bin/wrest_shell.rb
100
- - bin/wrest_shell.rbc
101
99
  - bin/wrest
102
100
  - lib/wrest_no_ext.rb
103
101
  - lib/wrest.rb
@@ -132,9 +130,11 @@ files:
132
130
  - lib/wrest/core_ext/string.rb
133
131
  - lib/wrest/native.rb
134
132
  - lib/wrest/curl/request.rb
133
+ - lib/wrest/curl/put_multipart.rb
135
134
  - lib/wrest/curl/delete.rb
136
135
  - lib/wrest/curl/response.rb
137
136
  - lib/wrest/curl/get.rb
137
+ - lib/wrest/curl/post_multipart.rb
138
138
  - lib/wrest/curl/put.rb
139
139
  - lib/wrest/curl/options.rb
140
140
  - lib/wrest/curl/session.rb
@@ -158,6 +158,7 @@ files:
158
158
  - lib/wrest/xml_mini/rexml.rb
159
159
  - lib/wrest/xml_mini/nokogiri/xpath_filter.rb
160
160
  - lib/wrest/uri.rb
161
+ - lib/wrest/http_codes.rb
161
162
  - lib/wrest/test/request_patches.rb
162
163
  - lib/wrest/http_shared/standard_headers.rb
163
164
  - lib/wrest/http_shared/standard_tokens.rb
@@ -200,7 +201,7 @@ requirements:
200
201
  - To use multipart post, install the 'multipart-post' gem.
201
202
  - To use curl as the http engine, install the 'patron' gem. This feature is not available (and should be unneccessary) on jruby.
202
203
  rubyforge_project: wrest
203
- rubygems_version: 1.3.7
204
+ rubygems_version: 1.4.1
204
205
  signing_key:
205
206
  specification_version: 3
206
207
  summary: Wrest is an elegant, object oriented HTTP client library for 1.8, 1.9, JRuby and Rubinius.
@@ -1,78 +0,0 @@
1
- !RBIX
2
- 0
3
- x
4
- M
5
- 1
6
- n
7
- n
8
- x
9
- 10
10
- __script__
11
- i
12
- 23
13
- 5
14
- 45
15
- 0
16
- 1
17
- 65
18
- 49
19
- 2
20
- 0
21
- 49
22
- 3
23
- 1
24
- 7
25
- 4
26
- 64
27
- 81
28
- 5
29
- 47
30
- 49
31
- 6
32
- 1
33
- 15
34
- 2
35
- 11
36
- I
37
- 3
38
- I
39
- 0
40
- I
41
- 0
42
- I
43
- 0
44
- n
45
- p
46
- 7
47
- x
48
- 4
49
- File
50
- n
51
- x
52
- 11
53
- active_path
54
- x
55
- 7
56
- dirname
57
- s
58
- 15
59
- /wrest_shell.rb
60
- x
61
- 1
62
- +
63
- x
64
- 4
65
- load
66
- p
67
- 3
68
- I
69
- 0
70
- I
71
- 3
72
- I
73
- 17
74
- x
75
- 31
76
- /home/jasim/C42/wrest/bin/wrest
77
- p
78
- 0
data/bin/wrest_shell.rbc DELETED
@@ -1,659 +0,0 @@
1
- !RBIX
2
- 0
3
- x
4
- M
5
- 1
6
- n
7
- n
8
- x
9
- 10
10
- __script__
11
- i
12
- 245
13
- 5
14
- 7
15
- 0
16
- 45
17
- 1
18
- 2
19
- 47
20
- 49
21
- 3
22
- 0
23
- 7
24
- 4
25
- 45
26
- 5
27
- 6
28
- 47
29
- 49
30
- 3
31
- 0
32
- 7
33
- 4
34
- 45
35
- 7
36
- 8
37
- 47
38
- 49
39
- 3
40
- 0
41
- 63
42
- 6
43
- 47
44
- 49
45
- 9
46
- 1
47
- 15
48
- 45
49
- 10
50
- 11
51
- 45
52
- 10
53
- 12
54
- 65
55
- 49
56
- 13
57
- 0
58
- 49
59
- 14
60
- 1
61
- 47
62
- 49
63
- 3
64
- 0
65
- 7
66
- 15
67
- 63
68
- 2
69
- 49
70
- 16
71
- 1
72
- 19
73
- 0
74
- 15
75
- 45
76
- 10
77
- 17
78
- 45
79
- 10
80
- 18
81
- 65
82
- 49
83
- 13
84
- 0
85
- 49
86
- 14
87
- 1
88
- 47
89
- 49
90
- 3
91
- 0
92
- 7
93
- 19
94
- 63
95
- 2
96
- 49
97
- 16
98
- 1
99
- 19
100
- 1
101
- 15
102
- 45
103
- 7
104
- 20
105
- 7
106
- 21
107
- 13
108
- 70
109
- 9
110
- 110
111
- 15
112
- 44
113
- 43
114
- 22
115
- 7
116
- 23
117
- 78
118
- 49
119
- 24
120
- 2
121
- 6
122
- 21
123
- 49
124
- 25
125
- 1
126
- 9
127
- 120
128
- 7
129
- 26
130
- 64
131
- 8
132
- 123
133
- 7
134
- 27
135
- 64
136
- 19
137
- 2
138
- 15
139
- 5
140
- 7
141
- 28
142
- 64
143
- 47
144
- 49
145
- 29
146
- 1
147
- 15
148
- 44
149
- 43
150
- 30
151
- 79
152
- 49
153
- 31
154
- 1
155
- 13
156
- 7
157
- 32
158
- 20
159
- 2
160
- 49
161
- 33
162
- 2
163
- 15
164
- 19
165
- 3
166
- 15
167
- 45
168
- 34
169
- 35
170
- 56
171
- 36
172
- 50
173
- 24
174
- 0
175
- 15
176
- 7
177
- 37
178
- 64
179
- 19
180
- 4
181
- 15
182
- 20
183
- 4
184
- 7
185
- 38
186
- 20
187
- 0
188
- 47
189
- 49
190
- 3
191
- 0
192
- 63
193
- 2
194
- 49
195
- 39
196
- 1
197
- 15
198
- 5
199
- 20
200
- 1
201
- 47
202
- 49
203
- 29
204
- 1
205
- 15
206
- 5
207
- 7
208
- 40
209
- 45
210
- 41
211
- 42
212
- 43
213
- 43
214
- 43
215
- 44
216
- 47
217
- 49
218
- 3
219
- 0
220
- 63
221
- 2
222
- 47
223
- 49
224
- 9
225
- 1
226
- 15
227
- 5
228
- 20
229
- 3
230
- 7
231
- 32
232
- 49
233
- 45
234
- 1
235
- 47
236
- 49
237
- 3
238
- 0
239
- 7
240
- 46
241
- 20
242
- 4
243
- 47
244
- 49
245
- 3
246
- 0
247
- 7
248
- 47
249
- 63
250
- 4
251
- 47
252
- 49
253
- 48
254
- 1
255
- 15
256
- 2
257
- 11
258
- I
259
- c
260
- I
261
- 5
262
- I
263
- 0
264
- I
265
- 0
266
- n
267
- p
268
- 49
269
- s
270
- 5
271
- Ruby
272
- x
273
- 12
274
- RUBY_VERSION
275
- n
276
- x
277
- 4
278
- to_s
279
- s
280
- 2
281
- ,
282
- x
283
- 17
284
- RUBY_RELEASE_DATE
285
- n
286
- x
287
- 13
288
- RUBY_PLATFORM
289
- n
290
- x
291
- 4
292
- puts
293
- x
294
- 4
295
- File
296
- n
297
- n
298
- x
299
- 11
300
- active_path
301
- x
302
- 7
303
- dirname
304
- s
305
- 16
306
- /../lib/wrest.rb
307
- x
308
- 11
309
- expand_path
310
- n
311
- n
312
- s
313
- 24
314
- /../lib/wrest/version.rb
315
- n
316
- n
317
- x
318
- 6
319
- Regexp
320
- s
321
- 15
322
- (:?mswin|mingw)
323
- x
324
- 3
325
- new
326
- x
327
- 2
328
- =~
329
- s
330
- 7
331
- irb.bat
332
- s
333
- 3
334
- irb
335
- s
336
- 8
337
- optparse
338
- x
339
- 7
340
- require
341
- x
342
- 4
343
- Hash
344
- x
345
- 16
346
- new_from_literal
347
- x
348
- 3
349
- irb
350
- x
351
- 3
352
- []=
353
- x
354
- 12
355
- OptionParser
356
- n
357
- M
358
- 1
359
- p
360
- 2
361
- x
362
- 9
363
- for_block
364
- t
365
- n
366
- x
367
- 9
368
- __block__
369
- i
370
- 50
371
- 57
372
- 19
373
- 0
374
- 15
375
- 20
376
- 0
377
- 7
378
- 0
379
- 64
380
- 13
381
- 18
382
- 2
383
- 49
384
- 1
385
- 1
386
- 15
387
- 15
388
- 20
389
- 0
390
- 7
391
- 2
392
- 21
393
- 1
394
- 2
395
- 47
396
- 49
397
- 3
398
- 0
399
- 7
400
- 4
401
- 63
402
- 3
403
- 7
404
- 5
405
- 64
406
- 56
407
- 6
408
- 50
409
- 7
410
- 2
411
- 15
412
- 20
413
- 0
414
- 45
415
- 8
416
- 9
417
- 49
418
- 10
419
- 1
420
- 11
421
- I
422
- 6
423
- I
424
- 1
425
- I
426
- 1
427
- I
428
- 1
429
- n
430
- p
431
- 11
432
- s
433
- 24
434
- Usage: console [options]
435
- x
436
- 7
437
- banner=
438
- s
439
- 7
440
- --irb=[
441
- x
442
- 4
443
- to_s
444
- s
445
- 1
446
- ]
447
- s
448
- 23
449
- Invoke a different irb.
450
- M
451
- 1
452
- p
453
- 2
454
- x
455
- 9
456
- for_block
457
- t
458
- n
459
- x
460
- 9
461
- __block__
462
- i
463
- 19
464
- 57
465
- 19
466
- 0
467
- 15
468
- 21
469
- 2
470
- 3
471
- 7
472
- 0
473
- 20
474
- 0
475
- 13
476
- 18
477
- 3
478
- 49
479
- 1
480
- 2
481
- 15
482
- 11
483
- I
484
- 6
485
- I
486
- 1
487
- I
488
- 1
489
- I
490
- 1
491
- n
492
- p
493
- 2
494
- x
495
- 3
496
- irb
497
- x
498
- 3
499
- []=
500
- p
501
- 3
502
- I
503
- 0
504
- I
505
- c
506
- I
507
- 13
508
- x
509
- 40
510
- /home/jasim/C42/wrest/bin/wrest_shell.rb
511
- p
512
- 1
513
- x
514
- 1
515
- v
516
- x
517
- 2
518
- on
519
- x
520
- 4
521
- ARGV
522
- n
523
- x
524
- 6
525
- parse!
526
- p
527
- 9
528
- I
529
- 0
530
- I
531
- a
532
- I
533
- 4
534
- I
535
- b
536
- I
537
- 11
538
- I
539
- c
540
- I
541
- 29
542
- I
543
- d
544
- I
545
- 32
546
- x
547
- 40
548
- /home/jasim/C42/wrest/bin/wrest_shell.rb
549
- p
550
- 1
551
- x
552
- 3
553
- opt
554
- s
555
- 18
556
- -r irb/completion
557
- s
558
- 4
559
- -r
560
- x
561
- 2
562
- <<
563
- s
564
- 14
565
- Loading Wrest
566
- x
567
- 5
568
- Wrest
569
- n
570
- x
571
- 7
572
- VERSION
573
- x
574
- 6
575
- STRING
576
- x
577
- 2
578
- []
579
- s
580
- 1
581
-
582
- s
583
- 16
584
- --simple-prompt
585
- x
586
- 4
587
- exec
588
- p
589
- 25
590
- I
591
- 0
592
- I
593
- 1
594
- I
595
- 23
596
- I
597
- 3
598
- I
599
- 3e
600
- I
601
- 4
602
- I
603
- 59
604
- I
605
- 6
606
- I
607
- 7e
608
- I
609
- 8
610
- I
611
- 87
612
- I
613
- 9
614
- I
615
- 9a
616
- I
617
- a
618
- I
619
- a3
620
- I
621
- 10
622
- I
623
- a9
624
- I
625
- 11
626
- I
627
- b9
628
- I
629
- 13
630
- I
631
- c1
632
- I
633
- 14
634
- I
635
- d6
636
- I
637
- 15
638
- I
639
- f5
640
- x
641
- 40
642
- /home/jasim/C42/wrest/bin/wrest_shell.rb
643
- p
644
- 5
645
- x
646
- 11
647
- entry_point
648
- x
649
- 7
650
- version
651
- x
652
- 3
653
- irb
654
- x
655
- 7
656
- options
657
- x
658
- 4
659
- libs