wdd-ruby-ext 0.4.1 → 0.4.2

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/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