plezi 0.10.2 → 0.10.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f99a6c5363bfd4c55ae83bccdd950960f70e09b
4
- data.tar.gz: 1efec6a2d073e2c10ecae857ffd762125dd5c5d5
3
+ metadata.gz: c4c8828c427f149b793363c7fee35cc22b23a02d
4
+ data.tar.gz: 00cec3276546ec102eddb67e62de3b90a4a4a595
5
5
  SHA512:
6
- metadata.gz: ad3c84e4434609d30e7770f2fc2d4b6b698054439b52a9484ca8fd38cd8decb93fc8f5e8f3b51bcf79378ca752fb60369957994d966ee3b3abbd33cbe72f967c
7
- data.tar.gz: 6c19c160e6791996b23bc09dcca988f44a462c6ede451f35be1b2946ef65f7b1be611bf1ec1abefa40bb113a5ce44934ac80bb5f915dde452f0f63cd6755fcdc
6
+ metadata.gz: 8c747627876d08a48dbe328418aebf0edee57f8a7d484298e17ca65b76f1f55a50e72483fb4ce8044973ba6c01a0fb31f63e4500b0701dfc4228dacf11e374a7
7
+ data.tar.gz: 1e636b886ec198c3874848eb471123d341edffa1700a44ea2032bb12213eb3b844d3ba3d734c6b28ac5b9a7a484bc4ff37514fad270c44549f60467dfca358a6
@@ -2,6 +2,14 @@
2
2
 
3
3
  ***
4
4
 
5
+ Change log v.0.10.3
6
+
7
+ **Update**: updated the starting process, so that Plezi's engine (based on GReactor) could be started and restarted if needed.
8
+
9
+ **Fix**: the startup process ignored the `max_thread` settings. This is now fixed.
10
+
11
+ ***
12
+
5
13
  Change log v.0.10.2
6
14
 
7
15
  **Fix**: fixed an issue where the Redis connection couldn't broadcast due to limited acess to the controller's methods.
data/bin/plezi CHANGED
@@ -220,7 +220,7 @@ if ARGV[0] == 'new' || ARGV[0] == 'n' || ARGV[0] == "force"
220
220
  #########
221
221
  ## set up building environment
222
222
  require 'plezi/version'
223
- BUILDING_PLEZI_TEMPLATE = true
223
+ NO_PLEZI_AUTO_START = true
224
224
  ARGV[1] = ARGV[1].gsub /[^a-zA-Z0-9]/, '_'
225
225
  if Dir.exists?(ARGV[1]) && ARGV[0] != "force"
226
226
  puts ""
@@ -125,6 +125,16 @@ module Plezi
125
125
  end
126
126
  end
127
127
  end
128
+
129
+ def self.start
130
+ return GReactor.start if GReactor.running?
131
+ Object.const_set("NO_PLEZI_AUTO_START", true) unless defined?(NO_PLEZI_AUTO_START)
132
+ puts "Starting Plezi #{Plezi::VERSION} Services using the GRHttp #{GRHttp::VERSION} server."
133
+ puts "Press ^C to exit."
134
+ GReactor.on_shutdown { puts "Plezi shutdown. It was fun to serve you." }
135
+ GReactor.start Plezi::Settings.max_threads
136
+ GReactor.join { puts "\r\nStarting shutdown sequesnce. Press ^C to force quit."}
137
+ end
128
138
  end
129
139
 
130
140
  Encoding.default_internal = 'utf-8'
@@ -212,18 +222,12 @@ end
212
222
  # it is recommended that you DO NOT CALL this method.
213
223
  # if any post shut-down actions need to be performed, use Plezi.on_shutdown instead.
214
224
  def start_services
215
- return 0 if ( defined?(NO_PLEZI_AUTO_START) || defined?(BUILDING_PLEZI_TEMPLATE) || defined?(PLEZI_ON_RACK) )
216
- Object.const_set "NO_PLEZI_AUTO_START", true
225
+ return 0 if defined?(NO_PLEZI_AUTO_START)
217
226
  undef listen
218
227
  undef host
219
228
  undef route
220
229
  undef shared_route
221
- undef start_services
222
- puts "Starting Plezi #{Plezi::VERSION} Services using the GRHttp #{GRHttp::VERSION} server."
223
- puts "Press ^C to exit."
224
- GReactor.on_shutdown { puts "Plezi shutdown. It was fun to serve you." }
225
- GReactor.start unless GReactor.running?
226
- GReactor.join { puts "\r\nStarting shutdown sequesnce. Press ^C to force quit."}
230
+ Plezi.start
227
231
  end
228
232
 
229
233
  # restarts the Plezi app with the same arguments as when it was started.
@@ -234,7 +238,7 @@ def restart_plezi_app
234
238
  end
235
239
 
236
240
  # sets to start the services once dsl script is finished loading.
237
- at_exit { start_services } unless ( defined?(NO_PLEZI_AUTO_START) || defined?(BUILDING_PLEZI_TEMPLATE) || defined?(PLEZI_ON_RACK) )
241
+ at_exit { start_services }
238
242
 
239
243
  # sets information to be used when restarting
240
244
  $PL_SCRIPT = $0
@@ -1,6 +1,10 @@
1
1
  module Plezi
2
2
 
3
+ # use GRHttp's helpers for escaping data etc'.
4
+ HTTP = GRHttp::HTTP
5
+
3
6
  module Base
7
+ # some helper methods used internally.
4
8
  module Helpers
5
9
  # a proc that allows Hashes to search for key-value pairs while also converting keys from objects to symbols and from symbols to strings.
6
10
  #
@@ -1,3 +1,3 @@
1
1
  module Plezi
2
- VERSION = "0.10.2"
2
+ VERSION = "0.10.3"
3
3
  end
@@ -22,7 +22,7 @@
22
22
  # 2. you have better control over Middleware then you could have with Plezi.
23
23
  # ("wait", you might say, "there is no Middleware in Plezi!"... "Ahhh", I will answer, "so much to discover...")
24
24
 
25
- PLEZI_ON_RACK = true
25
+ NO_PLEZI_AUTO_START = true
26
26
 
27
27
  # load all framework and gems
28
28
  load ::File.expand_path(File.join("..", "environment.rb"), __FILE__)
@@ -31,7 +31,7 @@ load ::File.expand_path(File.join("..", "environment.rb"), __FILE__)
31
31
  load ::File.expand_path(File.join("..", "routes.rb"), __FILE__)
32
32
 
33
33
  # start the plezi EM, to make sure that the plezi async code doesn't break.
34
- Plezi::EventMachine.start Plezi.max_threads
34
+ GReactor.start Plezi::Settings.max_threads
35
35
 
36
36
  # run the Rack app
37
- run Plezi::DSL
37
+ run Plezi::Base::DSL
@@ -119,6 +119,7 @@ class SampleController
119
119
  # the demo content simply broadcasts the message.
120
120
  def on_message data
121
121
  # broadcast sends an asynchronous message to all sibling instances, but not to self.
122
+ data = Plezi::HTTP.escape data
122
123
  broadcast :_print_out, data
123
124
  response << "You said: #{data}"
124
125
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plezi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boaz Segev