www_app 1.3.0 → 2.0.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 (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>