plezi 0.12.0 → 0.12.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -1
- data/README.md +13 -3
- data/lib/plezi.rb +10 -0
- data/lib/plezi/common/api.rb +5 -6
- data/lib/plezi/common/dsl.rb +0 -3
- data/lib/plezi/common/settings.rb +1 -2
- data/lib/plezi/handlers/http_router.rb +2 -1
- data/lib/plezi/version.rb +1 -1
- data/plezi.gemspec +1 -1
- data/resources/environment.rb +5 -5
- data/resources/mini_app.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb98dd3b32e4204480007a592bdd9e7d7b55fa08
|
4
|
+
data.tar.gz: b5b670f66538b2a98d7306176528ddfd45e6a878
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78e46c96f20cc3955000f0cb32a2ebf7c5cd1d472176bdba6990b3f4f840271a6cb3426bd0774eb96d9493e90e44ad22c68164ce4fa7bf2a4be4ef869ef12fe0
|
7
|
+
data.tar.gz: 90fe75d999ab81c05ea98249907c368858eaf0c4bab5145630e23428cf3549a5c96eef0fc78abb53ae7b3341ddd34818723da8fd4b20fd28803da005bf25d5f6
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,17 @@
|
|
2
2
|
|
3
3
|
***
|
4
4
|
|
5
|
-
Change log v.0.12.
|
5
|
+
Change log v.0.12.1
|
6
|
+
|
7
|
+
**Fix**: fixed an issue with the app template, where a typo (an extra comma sign ',') caused the `host` command to fail.
|
8
|
+
|
9
|
+
**API**: The `host` method can now be used without a host name (only passing a Hash), automatically falling back to the default host.
|
10
|
+
|
11
|
+
**Update**: Plezi version number now displays as the server starts running.
|
12
|
+
|
13
|
+
***
|
14
|
+
|
15
|
+
Change log v.0.12.0 - API changes (throwing out dead code and many more changes)
|
6
16
|
|
7
17
|
**Feature** The `Controller.failed_unicast(target, method, arguments_array)` callback is here, allowing you to write a class level callback that will be called if `unicast` fails to find it's target (i.e. if the Websocket connection was already closed or the hosting server shutdown).
|
8
18
|
|
data/README.md
CHANGED
@@ -330,18 +330,26 @@ Plezi can be used to create virtual hosts for the same service, allowing you to
|
|
330
330
|
|
331
331
|
require 'plezi'
|
332
332
|
|
333
|
+
# define a named host.
|
333
334
|
host 'localhost', alias: 'localhost2', public: File.join('my', 'public', 'folder')
|
334
335
|
|
335
|
-
shared_route '/
|
336
|
-
res << "
|
336
|
+
shared_route '/shared' do |req, res|
|
337
|
+
res << "shared by all existing hosts.... but the default host doesn't exist yet, so we're only on localhost and localhost2."
|
337
338
|
end
|
338
339
|
|
340
|
+
# define a default (catch-all) host.
|
339
341
|
host
|
340
342
|
|
343
|
+
shared_route '/humans.txt' do |req, res|
|
344
|
+
res << "we are people - we're in every existing hosts."
|
345
|
+
end
|
346
|
+
|
347
|
+
|
341
348
|
route('*') do |req, res|
|
342
349
|
res << "this is a 'catch-all' host. you got here by putting in the IP adderess."
|
343
350
|
end
|
344
351
|
|
352
|
+
# get's the existing named host
|
345
353
|
host 'localhost'
|
346
354
|
|
347
355
|
route('*') do |req, res|
|
@@ -352,6 +360,8 @@ Now visit:
|
|
352
360
|
|
353
361
|
* [http://127.0.0.1:3000/]( http://127.0.0.1:3000/ )
|
354
362
|
* [http://localhost:3000/]( http://localhost:3000/ )
|
363
|
+
* [http://127.0.0.1:3000/shared]( http://127.0.0.1:3000/shared ) - won't show, becuse this host was created AFTER the route was declered.
|
364
|
+
* [http://localhost:3000/shared]( http://localhost:3000/shared )
|
355
365
|
* [http://127.0.0.1:3000/humans.txt]( http://127.0.0.1:3000/humans.txt )
|
356
366
|
* [http://localhost:3000/humans.txt]( http://localhost:3000/humans.txt )
|
357
367
|
* notice: `localhost2` will only work if it was defined in your OS's `hosts` file.
|
@@ -460,7 +470,7 @@ try:
|
|
460
470
|
* [http://localhost:3000/](http://localhost:3000/)
|
461
471
|
* [http://localhost:3000/fr](http://localhost:3000/fr)
|
462
472
|
* [http://localhost:3000/users/hello](http://localhost:3000/users/hello)
|
463
|
-
* [http://localhost:3000/users/(5+5*20-15)/9.0](http://localhost:3000/users/(5+5*20-15)/9.0)
|
473
|
+
* [http://localhost:3000/users/(5+5*20-15)/9.0](http://localhost:3000/users/(5+5*20-15)/9.0) - should return a 404 not found message.
|
464
474
|
* [http://localhost:3000/(5+5*20-15)/9.0](http://localhost:3000/(5+5*20-15)/9)
|
465
475
|
* [http://localhost:3000/fr/(5+5*20-15)/9.0](http://localhost:3000/fr/(5+5*20-15)/9)
|
466
476
|
* [http://localhost:3000/users/hello?_method=delete](http://localhost:3000/users/hello?_method=delete)
|
data/lib/plezi.rb
CHANGED
@@ -141,3 +141,13 @@ require 'plezi/handlers/session.rb'
|
|
141
141
|
##############################################################################
|
142
142
|
module Plezi
|
143
143
|
end
|
144
|
+
|
145
|
+
Encoding.default_internal = 'utf-8'
|
146
|
+
Encoding.default_external = 'utf-8'
|
147
|
+
Iodine.threads = 30
|
148
|
+
Iodine.run { puts "Plezi is feeling optimistic running version #{::Plezi::VERSION}.\n\n"}
|
149
|
+
# PL is a shortcut for the Plezi module, so that `PL == Plezi`.
|
150
|
+
PL = Plezi
|
151
|
+
|
152
|
+
|
153
|
+
|
data/lib/plezi/common/api.rb
CHANGED
@@ -27,10 +27,12 @@ module Plezi
|
|
27
27
|
# A default host can be created or accessed by using `:default` of false for the host name.
|
28
28
|
#
|
29
29
|
# Accepts:
|
30
|
-
# host_name:: the name (domain name) of the host as a String object. Use the Symbol `:default` for the catch-all domain name.
|
30
|
+
# host_name:: (optional, can be omitted) the name (domain name) of the host as a String object. Use the Symbol `:default` for the catch-all domain name.
|
31
|
+
# options_hash:: see further detail.
|
31
32
|
#
|
32
33
|
#
|
33
34
|
# The options is a Hash object with any of the following options (Hash keys):
|
35
|
+
# host:: the ost name to be used if one isn't supplied as a direct argument. Defaults to the `:default` host.
|
34
36
|
# alias:: a String or an Array of Strings which represent alternative host names (i.e. `alias: ["admin.google.com", "admin.gmail.com"]`).
|
35
37
|
# public:: the public root folder. if this is defined, static files will be served from this folder and all it's sub-folders. Plezi does NOT support file indexing.
|
36
38
|
# assets:: the assets root folder. defaults to nil (no assets support). if the path is defined, assets will be served from `/assets/...` (or the public_asset path defined) before any static files. assets will not be served if the file in the /public/assets folder if up to date (a rendering attempt will be made for systems that allow file writing).
|
@@ -52,7 +54,7 @@ module Plezi
|
|
52
54
|
#
|
53
55
|
# @return [::Plezi::Base::HTTPRouter]
|
54
56
|
#
|
55
|
-
def host(host_name, params)
|
57
|
+
def host(host_name, params = {})
|
56
58
|
::Plezi::Base::HTTPRouter.add_host host_name, params
|
57
59
|
end
|
58
60
|
|
@@ -80,7 +82,4 @@ module Plezi
|
|
80
82
|
def start_rack
|
81
83
|
Iodine.warn "`start_rack` is deprecated. There is no need to call this method."
|
82
84
|
end
|
83
|
-
end
|
84
|
-
|
85
|
-
Encoding.default_internal = 'utf-8'
|
86
|
-
Encoding.default_external = 'utf-8'
|
85
|
+
end
|
data/lib/plezi/common/dsl.rb
CHANGED
@@ -40,6 +40,7 @@ module Plezi
|
|
40
40
|
|
41
41
|
# adds a host to the router (or activates an existing host to add new routes). accepts a host name and any parameters not related to the actual connection (ssl etc') (see {Plezi.host})
|
42
42
|
def add_host host_name, params = {}
|
43
|
+
(params = host_name) && (host_name = params.delete(:host)) if host_name.is_a?(Hash)
|
43
44
|
params[:index_file] ||= 'index.html'
|
44
45
|
params[:assets_public] ||= '/assets'
|
45
46
|
params[:assets_public].chomp! '/'
|
@@ -52,7 +53,7 @@ module Plezi
|
|
52
53
|
# adds an alias to an existing host name (normally through the :alias parameter in the `add_host` method).
|
53
54
|
def add_alias host_name, *aliases
|
54
55
|
host = get_host host_name
|
55
|
-
host
|
56
|
+
raise "Couldn't find requested host to add alias." unless host.
|
56
57
|
aliases.each {|a| @hosts[a.to_s.downcase] = host}
|
57
58
|
true
|
58
59
|
end
|
data/lib/plezi/version.rb
CHANGED
data/plezi.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "iodine", "~> 0.1.
|
21
|
+
spec.add_dependency "iodine", "~> 0.1.2"
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.7"
|
23
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
24
|
|
data/resources/environment.rb
CHANGED
@@ -42,8 +42,8 @@ Dir[File.join "{lib}", "**" , "*.rb"].each {|file| load File.expand_path(file)}
|
|
42
42
|
Dir[File.join "{app}", "**" , "*.rb"].each {|file| load File.expand_path(file)}
|
43
43
|
|
44
44
|
# change some of the default settings here.
|
45
|
-
host :default,
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
host host: :default,
|
46
|
+
public: Root.join('public').to_s,
|
47
|
+
assets: Root.join('assets').to_s,
|
48
|
+
assets_public: '/assets',
|
49
|
+
templates: Root.join('app','views').to_s
|
data/resources/mini_app.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plezi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boaz Segev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: iodine
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|