wdd-ruby-ext 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.4.2
@@ -0,0 +1,15 @@
1
+ module WDD
2
+ module Utils
3
+ def self.strip_html body
4
+ body = body.to_s
5
+ doc = Nokogiri::HTML::DocumentFragment.parse( CGI.unescapeHTML(body) )
6
+ %w{script style}.each do |element_name|
7
+ while element = doc.at_css(element_name)
8
+ element.remove
9
+ end
10
+ end
11
+ result = strip_tags(doc.to_html)
12
+ result.blank? ? nil : result
13
+ end
14
+ end
15
+ end
@@ -36,6 +36,9 @@ module HTTPHandler
36
36
  if sleep_time = http_request[:query_params][:sleep]
37
37
  sleep( sleep_time.to_i )
38
38
  end
39
+ if sleep_time = http_request[:query_params][:random_sleep]
40
+ sleep( rand(sleep_time.to_i * 1000).to_f/1000)
41
+ end
39
42
  unless return_data = http_request[:query_params][:return_data]
40
43
  return_data = "Your HTTP Request(#{http_request[:request]}) was processed by the TestServer."
41
44
  end
@@ -60,37 +63,35 @@ module TestServerModule
60
63
  end
61
64
 
62
65
  def post_init
63
- puts 'got connection'
66
+ logger.debug 'got connection'
64
67
  end
65
68
 
66
69
  def receive_data(data)
67
- puts "Got data:\n#{data}"
68
- if http_request = http_request?( data )
69
- return_data = process_http_request( http_request )
70
- else
71
- return_data = "Your request was processed by the TestServer."
70
+ Thread.new do
71
+ logger.debug "Got data:\n#{data}"
72
+ if http_request = http_request?( data )
73
+ return_data = process_http_request( http_request )
74
+ else
75
+ return_data = "Your request was processed by the TestServer."
76
+ end
77
+ send_data(return_data)
78
+ logger.debug "Sent: #{return_data}"
79
+ close_connection_after_writing
72
80
  end
73
- send_data(return_data)
74
- puts "Sent: #{return_data}"
75
- close_connection_after_writing
76
81
  end
77
82
 
78
- def puts string
79
- TestServer.logger.debug( string )
83
+ def logger
84
+ TestServer.logger
80
85
  end
81
86
 
82
87
  end
83
88
 
84
89
 
85
90
  class TestServer
86
- @@logger = Logger.new(STDOUT)
87
- @@thread = nil
91
+ @@logger = nil
92
+ @@server_thread = nil
88
93
  PORT = 1234
89
94
 
90
- def self.puts string
91
- self.logger.debug( string )
92
- end
93
-
94
95
  def self.logger
95
96
  @@logger
96
97
  end
@@ -99,9 +100,12 @@ class TestServer
99
100
  @@logger = logger
100
101
  end
101
102
 
102
- def self.startup( port=PORT )
103
- return if @@thread
104
- @@thread = Thread.new do
103
+ def self.startup( port=PORT, options={} )
104
+ @@logger ||= Logger.new(STDOUT)
105
+ @@logger.level = options[:logger_level] || Logger::DEBUG
106
+ @@multi_threaded = options[:multi_threaded] || false
107
+ return if @@server_thread
108
+ @@server_thread = Thread.new do
105
109
  begin
106
110
  EM.run do
107
111
  EM.start_server "0.0.0.0", port, TestServerModule
@@ -109,15 +113,15 @@ class TestServer
109
113
  rescue Interrupt
110
114
  end
111
115
  end
112
- puts "TestServer listening on port #{port}."
116
+ logger.info "TestServer listening on port #{port}."
113
117
  end
114
118
 
115
119
  def self.shutdown
116
- return unless @@thread
117
- @@thread.kill
118
- @@thread.join
119
- puts "TestServer stopped."
120
- @@thread = nil
120
+ return unless @@server_thread
121
+ @@server_thread.kill
122
+ @@server_thread.join
123
+ logger.info "TestServer stopped."
124
+ @@server_thread = nil
121
125
  end
122
126
  end
123
127
 
data/wdd-ruby-ext.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wdd-ruby-ext}
8
- s.version = "0.4.1"
8
+ s.version = "0.4.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["shock"]
12
- s.date = %q{2011-05-06}
12
+ s.date = %q{2011-06-27}
13
13
  s.description = %q{Some of these are borrowed. Some are original. This gem simply provides a single place to source control them all for incorporation into other projects.}
14
14
  s.email = %q{billdoughty@capitalthought.com}
15
15
  s.extra_rdoc_files = [
@@ -40,6 +40,7 @@ Gem::Specification.new do |s|
40
40
  "lib/wdd-ruby-ext/utils/fixed_point.rb",
41
41
  "lib/wdd-ruby-ext/utils/hash_object.rb",
42
42
  "lib/wdd-ruby-ext/utils/helpers.rb",
43
+ "lib/wdd-ruby-ext/utils/miscellany.rb",
43
44
  "lib/wdd-ruby-ext/utils/pretty_xml.rb",
44
45
  "lib/wdd-ruby-ext/utils/simpledebug.rb",
45
46
  "lib/wdd-ruby-ext/utils/spinner.rb",
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wdd-ruby-ext
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 1
10
- version: 0.4.1
9
+ - 2
10
+ version: 0.4.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - shock
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-06 00:00:00 -05:00
18
+ date: 2011-06-27 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -99,6 +99,7 @@ files:
99
99
  - lib/wdd-ruby-ext/utils/fixed_point.rb
100
100
  - lib/wdd-ruby-ext/utils/hash_object.rb
101
101
  - lib/wdd-ruby-ext/utils/helpers.rb
102
+ - lib/wdd-ruby-ext/utils/miscellany.rb
102
103
  - lib/wdd-ruby-ext/utils/pretty_xml.rb
103
104
  - lib/wdd-ruby-ext/utils/simpledebug.rb
104
105
  - lib/wdd-ruby-ext/utils/spinner.rb