plezi 0.12.22 → 0.14.0

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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/LICENSE.txt +17 -18
  4. data/README.md +54 -698
  5. data/Rakefile +7 -4
  6. data/bin/config.ru +22 -0
  7. data/{test → bin}/console +4 -6
  8. data/bin/hello_world +52 -0
  9. data/bin/setup +8 -0
  10. data/exe/plezi +145 -0
  11. data/lib/plezi.rb +24 -137
  12. data/lib/plezi/activation.rb +28 -0
  13. data/lib/plezi/api.rb +62 -0
  14. data/lib/plezi/controller/controller.rb +259 -0
  15. data/lib/plezi/controller/controller_class.rb +176 -0
  16. data/lib/plezi/controller/cookies.rb +40 -0
  17. data/lib/plezi/helpers.rb +60 -0
  18. data/lib/plezi/rake.rb +2 -24
  19. data/lib/plezi/render/erb.rb +34 -0
  20. data/lib/plezi/render/has_cache.rb +36 -0
  21. data/lib/plezi/render/markdown.rb +63 -0
  22. data/lib/plezi/render/render.rb +49 -0
  23. data/lib/plezi/render/sass.rb +55 -0
  24. data/lib/plezi/render/slim.rb +33 -0
  25. data/lib/plezi/router/adclient.rb +23 -0
  26. data/lib/plezi/router/assets.rb +67 -0
  27. data/lib/plezi/router/errors.rb +29 -0
  28. data/lib/plezi/router/route.rb +112 -0
  29. data/lib/plezi/router/router.rb +120 -0
  30. data/lib/plezi/version.rb +1 -1
  31. data/lib/plezi/websockets/message_dispatch.rb +91 -0
  32. data/lib/plezi/websockets/redis.rb +55 -0
  33. data/plezi.gemspec +25 -16
  34. data/resources/404.erb +5 -4
  35. data/resources/500.erb +5 -4
  36. data/resources/{500.html → 503.html} +8 -9
  37. data/resources/client.js +253 -0
  38. data/resources/config.ru +5 -36
  39. data/resources/ctrlr.rb +34 -0
  40. data/resources/gemfile +4 -0
  41. data/resources/mini_app.rb +28 -82
  42. data/resources/mini_exec +7 -0
  43. data/resources/mini_welcome_page.html +0 -0
  44. data/resources/procfile +3 -0
  45. data/resources/rakefile +4 -8
  46. data/resources/routes.rb +9 -26
  47. data/resources/{websockets.js → simple-client.js} +3 -3
  48. metadata +60 -85
  49. data/bin/plezi +0 -104
  50. data/docs/async_helpers.md +0 -245
  51. data/docs/controllers.md +0 -27
  52. data/docs/logging.md +0 -49
  53. data/docs/routes.md +0 -209
  54. data/docs/websockets.md +0 -213
  55. data/lib/plezi/builders/ac_model.rb +0 -59
  56. data/lib/plezi/builders/app_builder.rb +0 -137
  57. data/lib/plezi/builders/builder.rb +0 -43
  58. data/lib/plezi/builders/form_builder.rb +0 -27
  59. data/lib/plezi/common/api.rb +0 -92
  60. data/lib/plezi/common/cache.rb +0 -122
  61. data/lib/plezi/common/defer.rb +0 -21
  62. data/lib/plezi/common/dsl.rb +0 -94
  63. data/lib/plezi/common/redis.rb +0 -65
  64. data/lib/plezi/common/renderer.rb +0 -141
  65. data/lib/plezi/common/settings.rb +0 -52
  66. data/lib/plezi/handlers/controller_core.rb +0 -106
  67. data/lib/plezi/handlers/controller_magic.rb +0 -284
  68. data/lib/plezi/handlers/http_router.rb +0 -205
  69. data/lib/plezi/handlers/placebo.rb +0 -112
  70. data/lib/plezi/handlers/route.rb +0 -216
  71. data/lib/plezi/handlers/session.rb +0 -109
  72. data/lib/plezi/handlers/stubs.rb +0 -156
  73. data/lib/plezi/handlers/ws_identity.rb +0 -253
  74. data/lib/plezi/handlers/ws_object.rb +0 -308
  75. data/lib/plezi/helpers/http_sender.rb +0 -84
  76. data/lib/plezi/helpers/magic_helpers.rb +0 -104
  77. data/lib/plezi/helpers/mime_types.rb +0 -1995
  78. data/lib/plezi/oauth.rb +0 -5
  79. data/lib/plezi/oauth/auth_controller.rb +0 -229
  80. data/logo/dark.png +0 -0
  81. data/logo/light.png +0 -0
  82. data/logo/sign.png +0 -0
  83. data/resources/404.haml +0 -121
  84. data/resources/404.html +0 -124
  85. data/resources/404.slim +0 -120
  86. data/resources/500.haml +0 -120
  87. data/resources/500.slim +0 -120
  88. data/resources/Gemfile +0 -86
  89. data/resources/code.rb +0 -8
  90. data/resources/controller.rb +0 -142
  91. data/resources/database.yml +0 -33
  92. data/resources/db_ac_config.rb +0 -59
  93. data/resources/db_dm_config.rb +0 -51
  94. data/resources/db_sequel_config.rb +0 -33
  95. data/resources/en.yml +0 -204
  96. data/resources/haml_config.rb +0 -6
  97. data/resources/i18n_config.rb +0 -14
  98. data/resources/initialize.rb +0 -49
  99. data/resources/mini_exec.rb +0 -7
  100. data/resources/oauth_config.rb +0 -24
  101. data/resources/plezi_client.js +0 -198
  102. data/resources/plezi_websockets.html +0 -47
  103. data/resources/redis_config.rb +0 -42
  104. data/resources/slim_config.rb +0 -11
  105. data/resources/welcome_page.html +0 -272
  106. data/test/dispatch +0 -58
  107. data/test/hello_world +0 -13
  108. data/test/plezi_tests.rb +0 -581
data/resources/404.slim DELETED
@@ -1,120 +0,0 @@
1
- doctype html
2
- head
3
- css:
4
- /*
5
- med-blue: #44518E
6
- dark-gray: #424A70
7
- blue: #1B2864
8
- light-blue: #818ECE
9
- light-gray: #99A3CE
10
- */
11
- body, html
12
- {
13
- background-color: #99A3CE;
14
- padding: 0; margin: 0;
15
- width: 100%;
16
- font-size: 1em;
17
- }
18
-
19
- h1
20
- {
21
- font-family: 'Shadows Into Light', cursive;
22
- background-color: #1B2864;
23
- color: #99A3CE;
24
- text-align: center;
25
- border-bottom: 4px solid #424A70;
26
- margin: 0 0 1em 0;
27
- padding: 0.4em 0;
28
- width: 100%;
29
- }
30
- h2
31
- {
32
- background-color: #44518E;
33
- color: #C6CCE7;
34
- text-align: left;
35
- margin: 0 0 1em 0;
36
- padding: 0.5em 5%;
37
- border-radius: 20px 20px 0 0;
38
- font-family: 'Architects Daughter', cursive;
39
- border-bottom: 3px solid #424A70;
40
- font-size: 1.2em;
41
- }
42
- h3
43
- {
44
- font-family: 'Architects Daughter', cursive;
45
- background-color: #44518E;
46
- color: #C6CCE7;
47
- text-align: left;
48
- margin: 0 0 1em 0;
49
- padding: 0.5em 5%;
50
- border-radius: 1em 1em 0 0;
51
- border-bottom: 2px solid #424A70;
52
- font-size: 1.1em;
53
- }
54
- h2:before {
55
- content: "|||";
56
- color: #99A3CE;
57
- padding-right: 0.3em;
58
- margin-left: -0.5em;
59
- }
60
- h3:before {
61
- content: "|||||";
62
- color: #99A3CE;
63
- padding-right: 0.3em;
64
- margin-left: -1em;
65
- }
66
- h1 a, h2 a, h3 a
67
- {
68
- color: #EBCD86;
69
- }
70
- h1 a:hover, h2 a:hover, h3 a:hover
71
- {
72
- color: #EBD7A6;
73
- }
74
- p
75
- {
76
- font-size: 1em;
77
- padding: 0 1em;
78
- margin: 0.5em 0;
79
- }
80
- a
81
- {
82
- color: #D0AC54;
83
- text-decoration: none;
84
- }
85
- a:hover
86
- {
87
- color: #927121;
88
- text-decoration: underline;
89
- }
90
- #wrapper
91
- {
92
- background-color: #fff;
93
- margin: 1em 5%;
94
- padding: 0 0 2%;
95
- border-radius: 20px;
96
- min-height: 50%;
97
- color: #007;
98
- }
99
-
100
- #wrapper p{ padding: 0 2%;}
101
- .bold { font-weight: bold; }
102
- #wrapper ol li{ padding: 0 2%;}
103
- pre
104
- {
105
- border-radius: 20px;
106
- padding: 0.5em 0;
107
- background-color: #444;
108
- color: #ddd;
109
- }
110
- @media screen and (max-width: 680px)
111
- {
112
- }
113
- body
114
- h1 Plezi 404 error code (missing, not broken)...
115
- #wrapper
116
- h2#missing
117
- | couldn't find
118
- =< defined?(request) ? request.path : "what you're looking for..."
119
- p Sorry, we couldn't find what you're looking for...
120
- p ... but we can always bring you something nice from another location, right?
data/resources/500.haml DELETED
@@ -1,120 +0,0 @@
1
- !!!5
2
- %head
3
- :css
4
- /*
5
- med-blue: #44518E
6
- dark-gray: #424A70
7
- blue: #1B2864
8
- light-blue: #818ECE
9
- light-gray: #99A3CE
10
- */
11
- body, html
12
- {
13
- background-color: #99A3CE;
14
- padding: 0; margin: 0;
15
- width: 100%;
16
- font-size: 1em;
17
- }
18
-
19
- h1
20
- {
21
- font-family: 'Shadows Into Light', cursive;
22
- background-color: #1B2864;
23
- color: #99A3CE;
24
- text-align: center;
25
- border-bottom: 4px solid #424A70;
26
- margin: 0 0 1em 0;
27
- padding: 0.4em 0;
28
- width: 100%;
29
- }
30
- h2
31
- {
32
- background-color: #44518E;
33
- color: #C6CCE7;
34
- text-align: left;
35
- margin: 0 0 1em 0;
36
- padding: 0.5em 5%;
37
- border-radius: 20px 20px 0 0;
38
- font-family: 'Architects Daughter', cursive;
39
- border-bottom: 3px solid #424A70;
40
- font-size: 1.2em;
41
- }
42
- h3
43
- {
44
- font-family: 'Architects Daughter', cursive;
45
- background-color: #44518E;
46
- color: #C6CCE7;
47
- text-align: left;
48
- margin: 0 0 1em 0;
49
- padding: 0.5em 5%;
50
- border-radius: 1em 1em 0 0;
51
- border-bottom: 2px solid #424A70;
52
- font-size: 1.1em;
53
- }
54
- h2:before {
55
- content: "|||";
56
- color: #99A3CE;
57
- padding-right: 0.3em;
58
- margin-left: -0.5em;
59
- }
60
- h3:before {
61
- content: "|||||";
62
- color: #99A3CE;
63
- padding-right: 0.3em;
64
- margin-left: -1em;
65
- }
66
- h1 a, h2 a, h3 a
67
- {
68
- color: #EBCD86;
69
- }
70
- h1 a:hover, h2 a:hover, h3 a:hover
71
- {
72
- color: #EBD7A6;
73
- }
74
- p
75
- {
76
- font-size: 1em;
77
- padding: 0 1em;
78
- margin: 0.5em 0;
79
- }
80
- a
81
- {
82
- color: #D0AC54;
83
- text-decoration: none;
84
- }
85
- a:hover
86
- {
87
- color: #927121;
88
- text-decoration: underline;
89
- }
90
- #wrapper
91
- {
92
- background-color: #fff;
93
- margin: 1em 5%;
94
- padding: 0 0 2%;
95
- border-radius: 20px;
96
- min-height: 50%;
97
- color: #007;
98
- }
99
-
100
- #wrapper p{ padding: 0 2%;}
101
- .bold { font-weight: bold; }
102
- #wrapper ol li{ padding: 0 2%;}
103
- pre
104
- {
105
- border-radius: 20px;
106
- padding: 0.5em 0;
107
- background-color: #444;
108
- color: #ddd;
109
- }
110
- @media screen and (max-width: 680px)
111
- {
112
- }
113
- %body
114
- %h1< Plezi 500 error code (broken?!)...
115
- #wrapper
116
- %h2#missing
117
- something went wrong with:
118
- = defined?(request) ? request.path : "what you're looking for..."
119
- %p Sorry, something went wrong trying to process your request...
120
- %p ... Please try again soon and if this issue persists, please let us know.
data/resources/500.slim DELETED
@@ -1,120 +0,0 @@
1
- doctype html
2
- head
3
- css:
4
- /*
5
- med-blue: #44518E
6
- dark-gray: #424A70
7
- blue: #1B2864
8
- light-blue: #818ECE
9
- light-gray: #99A3CE
10
- */
11
- body, html
12
- {
13
- background-color: #99A3CE;
14
- padding: 0; margin: 0;
15
- width: 100%;
16
- font-size: 1em;
17
- }
18
-
19
- h1
20
- {
21
- font-family: 'Shadows Into Light', cursive;
22
- background-color: #1B2864;
23
- color: #99A3CE;
24
- text-align: center;
25
- border-bottom: 4px solid #424A70;
26
- margin: 0 0 1em 0;
27
- padding: 0.4em 0;
28
- width: 100%;
29
- }
30
- h2
31
- {
32
- background-color: #44518E;
33
- color: #C6CCE7;
34
- text-align: left;
35
- margin: 0 0 1em 0;
36
- padding: 0.5em 5%;
37
- border-radius: 20px 20px 0 0;
38
- font-family: 'Architects Daughter', cursive;
39
- border-bottom: 3px solid #424A70;
40
- font-size: 1.2em;
41
- }
42
- h3
43
- {
44
- font-family: 'Architects Daughter', cursive;
45
- background-color: #44518E;
46
- color: #C6CCE7;
47
- text-align: left;
48
- margin: 0 0 1em 0;
49
- padding: 0.5em 5%;
50
- border-radius: 1em 1em 0 0;
51
- border-bottom: 2px solid #424A70;
52
- font-size: 1.1em;
53
- }
54
- h2:before {
55
- content: "|||";
56
- color: #99A3CE;
57
- padding-right: 0.3em;
58
- margin-left: -0.5em;
59
- }
60
- h3:before {
61
- content: "|||||";
62
- color: #99A3CE;
63
- padding-right: 0.3em;
64
- margin-left: -1em;
65
- }
66
- h1 a, h2 a, h3 a
67
- {
68
- color: #EBCD86;
69
- }
70
- h1 a:hover, h2 a:hover, h3 a:hover
71
- {
72
- color: #EBD7A6;
73
- }
74
- p
75
- {
76
- font-size: 1em;
77
- padding: 0 1em;
78
- margin: 0.5em 0;
79
- }
80
- a
81
- {
82
- color: #D0AC54;
83
- text-decoration: none;
84
- }
85
- a:hover
86
- {
87
- color: #927121;
88
- text-decoration: underline;
89
- }
90
- #wrapper
91
- {
92
- background-color: #fff;
93
- margin: 1em 5%;
94
- padding: 0 0 2%;
95
- border-radius: 20px;
96
- min-height: 50%;
97
- color: #007;
98
- }
99
-
100
- #wrapper p{ padding: 0 2%;}
101
- .bold { font-weight: bold; }
102
- #wrapper ol li{ padding: 0 2%;}
103
- pre
104
- {
105
- border-radius: 20px;
106
- padding: 0.5em 0;
107
- background-color: #444;
108
- color: #ddd;
109
- }
110
- @media screen and (max-width: 680px)
111
- {
112
- }
113
- body
114
- h1 Plezi 500 error code (broken?!)...
115
- #wrapper
116
- h2#missing
117
- | something went wrong with:
118
- =< defined?(request) ? request.path : "what you're looking for..."
119
- p Sorry, something went wrong trying to process your request...
120
- p ... Please try again soon and if this issue persists, please let us know.
data/resources/Gemfile DELETED
@@ -1,86 +0,0 @@
1
-
2
- ####################
3
- # development gems
4
-
5
- ## use pry gem for basic debug ( put `binding.pry` at breake point )?
6
- # gem 'pry'
7
-
8
- ## use rake tasks with bundle exec?
9
- # gem 'rake'
10
-
11
- ####################
12
- # gems for easy markup
13
-
14
- ## Slim is very recommended for HTML markup, it's both easy and fast. We LOVE it.
15
- # gem 'slim'
16
-
17
- ## Sass makes CSS easy
18
- # gem "sass"
19
-
20
- ## we love Haml, even though it can be slow:
21
- # gem 'haml'
22
-
23
- ## Coffee Script makes Javascript more fun to code.
24
- # gem "coffee-script"
25
-
26
- ## Markdown
27
- # gem 'redcarpet'
28
- ## syntax highlighting
29
- # gem 'rouge'
30
-
31
- ####################
32
- # Internationalization
33
-
34
- # gem 'i18n'
35
-
36
- ####################
37
- # WebSocket Scaling
38
-
39
- ## Redis servers are used to allow websocket scaling.
40
- ## Plezi can be configured to automatically use Redis for easy scaling.
41
-
42
- # gem 'redis'
43
-
44
- ####################
45
- # gems for databases and models
46
-
47
- ## if you want to use a database, here are a few common enough options:
48
- # gem 'mysql2'
49
- # gem 'sqlite3'
50
- # gem 'pg'
51
-
52
- ## MongoDB is a very well known NoSQL DB
53
- ## https://github.com/mongodb/mongo-ruby-driver
54
- #
55
- # gem 'mongo'
56
- #
57
- ## for a performance boost, the C extentions can be used (NOT JRuby - bson_ext isn't used with JRuby).
58
- #
59
- # gem 'bson_ext'
60
- #
61
- ## you can also have a look at the Mongo Mapper ORM
62
- ## http://mongomapper.com
63
- #
64
- # gem 'mongo_mapper'
65
-
66
- ## Sequel:
67
- ## http://sequel.jeremyevans.net/rdoc/files/README_rdoc.html
68
- ## http://sequel.jeremyevans.net/rdoc/files/doc/cheat_sheet_rdoc.html
69
- ## this seems greate, but we left out any auto-config for this one... seems to work out of the box.
70
- #
71
- # gem 'sequel'
72
-
73
- ## if you want to use ActiveRecord, uncomment the following line(s)...
74
- ## but first, please remember that AcriveRecord needs extra attention when multi-threading
75
- # gem 'activerecord', :require => 'active_record'
76
- # gem 'bcrypt', '~> 3.1.7'
77
- # gem 'standalone_migrations' # will more rake tasks support for ActiveRecord
78
-
79
- ## active support can run without rails and extends the Ruby language.
80
- ## it could be heavy, be warned.
81
- ## see: http://guides.rubyonrails.org/active_support_core_extensions.html
82
- #
83
- # gem 'activesupport', :require => ['active_support', 'active_support/core_ext']
84
- ## or:
85
- # gem 'activesupport', :require => ['active_support', 'active_support/all']
86
-