www_app 1.3.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/README.md +42 -24
  4. data/VERSION +1 -1
  5. data/bin/www_app +15 -4
  6. data/lib/public/vendor/hogan-3.0.2.min.js +5 -0
  7. data/lib/public/vendor/instruct_instruct_instruct.js +247 -0
  8. data/lib/public/vendor/jquery-2.1.3.min.js +4 -0
  9. data/lib/public/vendor/lodash.min.js +89 -0
  10. data/lib/public/www_app.js +885 -625
  11. data/lib/www_app/CSS.rb +310 -0
  12. data/lib/www_app/HTML.rb +219 -0
  13. data/lib/www_app/JavaScript.rb +51 -0
  14. data/lib/www_app/TO.rb +897 -0
  15. data/lib/www_app.rb +324 -945
  16. data/playground/config.ru +102 -0
  17. data/specs/client-side/index.html +1 -1
  18. data/specs/client-side/index.js +31 -379
  19. data/specs/lib/config.ru +60 -31
  20. data/specs/lib/helpers.rb +24 -2
  21. data/specs/server-side/0000-new.rb +1 -1
  22. data/specs/server-side/0001-underscore-double.rb +38 -0
  23. data/specs/server-side/0001-underscore.rb +73 -0
  24. data/specs/server-side/0010-attrs.rb +3 -4
  25. data/specs/server-side/0011-id.rb +5 -5
  26. data/specs/server-side/0020-tag.rb +2 -2
  27. data/specs/server-side/0020-tag_content.rb +1 -1
  28. data/specs/server-side/0021-body.rb +1 -1
  29. data/specs/server-side/0021-script.rb +66 -20
  30. data/specs/server-side/{0021-page_title.rb → 0021-title.rb} +5 -3
  31. data/specs/server-side/0030-mustache.rb +27 -20
  32. data/specs/server-side/0030-style.rb +64 -21
  33. data/specs/server-side/0040-css.rb +4 -4
  34. data/specs/server-side/0041-pseudo.rb +55 -0
  35. data/specs/server-side/0042-slash.rb +20 -0
  36. data/specs/server-side/0060-text.rb +26 -0
  37. metadata +18 -13
  38. data/lib/public/jquery-2.1.1.js +0 -4
  39. data/lib/public/underscore-1.7.0.js +0 -6
  40. data/lib/public/underscore-min.map +0 -1
  41. data/lib/public/underscore.string-2.3.0.js +0 -1
  42. data/lib/www_app/Clean.rb +0 -169
  43. data/lib/www_app/dsl.rb +0 -86
  44. data/lib/www_app/source.rb +0 -53
  45. data/specs/server-side/0050-on.rb +0 -64
  46. data/specs/server-side/0060-string.rb +0 -32
  47. /data/lib/public/{jquery.serialize-object.min.js → vendor/jquery.serialize-object.min.js} +0 -0
@@ -0,0 +1,102 @@
1
+
2
+
3
+ require 'cuba'
4
+ require 'da99_rack_protect'
5
+ require 'multi_json'
6
+ require 'www_app'
7
+
8
+ PATH = File.expand_path(File.dirname(__FILE__) + '../../..')
9
+
10
+ Rack::Mime::MIME_TYPES.merge!({".map" => "application/json"})
11
+
12
+ Cuba.use Da99_Rack_Protect do |c|
13
+ c.config :host, :localhost if ENV['IS_DEV']
14
+ end
15
+
16
+ if ENV['IS_DEV']
17
+ # Cuba.use Rack::ShowExceptions
18
+ end
19
+
20
+ PAGES = {
21
+ :root => WWW_App.new {
22
+ title { 'hello' }
23
+ background 'lightgrey'
24
+ font_family 'Ubuntu Mono, monospace'
25
+ color '#2C2C2D'
26
+
27
+ style {
28
+ div {
29
+ border '1px dotted #fff'
30
+ margin '10px'
31
+ padding '10px'
32
+ float 'left'
33
+ min_width '80px'
34
+ }
35
+
36
+ div.^(:prepend) {
37
+ border '1px dashed #000'
38
+ }
39
+
40
+ div.^(:append) {
41
+ border '1px solid #000'
42
+ }
43
+ }
44
+
45
+ script :news, :good do
46
+ div.^(:good) {
47
+ span { 'GOOD: ' }
48
+ span { :msg }
49
+ }
50
+ end
51
+
52
+ script :news, :bad do
53
+ div.^(:bad) { :msg }
54
+ end
55
+
56
+ script do
57
+ div { text('First: '); span { :first } }
58
+ end
59
+
60
+ script do
61
+ div { text('Last: '); span { :last } }
62
+ end
63
+
64
+ script do
65
+ div {
66
+ text "This is a movie: "
67
+ span { :movie }
68
+ }
69
+ end
70
+
71
+ script :prepend do
72
+ div.^(:prepend) {
73
+ text "TOP movie: "
74
+ span { :movie }
75
+ }
76
+ end
77
+
78
+ p {
79
+ "Almost done."
80
+ }
81
+
82
+ } # === www_app
83
+ } # === PAGES
84
+
85
+ Cuba.use Rack::Static, :urls=>["/www_app-#{File.read(PATH + '/VERSION').strip}"], :root=>'Public'
86
+
87
+ Cuba.define do
88
+
89
+ on get do
90
+ on root do
91
+ res.write PAGES[:root].to_html
92
+ end
93
+
94
+ on 'error' do
95
+ something
96
+ end
97
+ end
98
+
99
+ end # === Cuba.define
100
+
101
+ run Cuba
102
+
@@ -79,7 +79,7 @@
79
79
  <div id="qunit-fixture"></div>
80
80
 
81
81
  <script src="/qunit/qunit-1.15.0.js"></script>
82
- <script src="/jquery-2.1.1.js"></script>
82
+ <script src="/jquery-2.1.3.js"></script>
83
83
  <script src="/underscore-1.7.0.js"></script>
84
84
  <script src="/underscore.string-2.3.0.js"></script>
85
85
  <script src="/jquery.serialize-object.min.js"></script>