woyo-server 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/woyo/runner.rb +49 -13
  3. data/lib/woyo/server/server.rb +4 -2
  4. data/lib/woyo/server/version.rb +1 -1
  5. data/public/server/default.html +42 -0
  6. data/public/server/foundation-5.2.2/css/foundation.css +5263 -0
  7. data/public/server/foundation-5.2.2/css/foundation.min.css +1 -0
  8. data/public/server/foundation-5.2.2/css/normalize.css +423 -0
  9. data/public/server/foundation-5.2.2/humans.txt +8 -0
  10. data/public/server/foundation-5.2.2/img/.gitkeep +1 -0
  11. data/public/server/foundation-5.2.2/index.html +166 -0
  12. data/public/server/foundation-5.2.2/js/foundation/foundation.abide.js +299 -0
  13. data/public/server/foundation-5.2.2/js/foundation/foundation.accordion.js +54 -0
  14. data/public/server/foundation-5.2.2/js/foundation/foundation.alert.js +43 -0
  15. data/public/server/foundation-5.2.2/js/foundation/foundation.clearing.js +531 -0
  16. data/public/server/foundation-5.2.2/js/foundation/foundation.dropdown.js +306 -0
  17. data/public/server/foundation-5.2.2/js/foundation/foundation.equalizer.js +68 -0
  18. data/public/server/foundation-5.2.2/js/foundation/foundation.interchange.js +331 -0
  19. data/public/server/foundation-5.2.2/js/foundation/foundation.joyride.js +849 -0
  20. data/public/server/foundation-5.2.2/js/foundation/foundation.js +609 -0
  21. data/public/server/foundation-5.2.2/js/foundation/foundation.magellan.js +173 -0
  22. data/public/server/foundation-5.2.2/js/foundation/foundation.offcanvas.js +50 -0
  23. data/public/server/foundation-5.2.2/js/foundation/foundation.orbit.js +606 -0
  24. data/public/server/foundation-5.2.2/js/foundation/foundation.reveal.js +427 -0
  25. data/public/server/foundation-5.2.2/js/foundation/foundation.slider.js +200 -0
  26. data/public/server/foundation-5.2.2/js/foundation/foundation.tab.js +168 -0
  27. data/public/server/foundation-5.2.2/js/foundation/foundation.tooltip.js +272 -0
  28. data/public/server/foundation-5.2.2/js/foundation/foundation.topbar.js +422 -0
  29. data/public/server/foundation-5.2.2/js/foundation.min.js +10 -0
  30. data/public/server/foundation-5.2.2/js/vendor/fastclick.js +9 -0
  31. data/public/server/foundation-5.2.2/js/vendor/jquery.cookie.js +8 -0
  32. data/public/server/foundation-5.2.2/js/vendor/jquery.js +26 -0
  33. data/public/server/foundation-5.2.2/js/vendor/modernizr.js +8 -0
  34. data/public/server/foundation-5.2.2/js/vendor/placeholder.js +2 -0
  35. data/public/server/foundation-5.2.2/robots.txt +4 -0
  36. data/public/server/jquery-2.1.1/jquery.js +9190 -0
  37. data/public/server/jquery-2.1.1/jquery.min.js +4 -0
  38. data/public/server/jquery-2.1.1/jquery.min.map +1 -0
  39. data/spec/spec_helper.rb +1 -0
  40. data/spec/woyo/server/1_server_spec.rb +30 -6
  41. data/spec/woyo/server/runner_spec.rb +153 -23
  42. data/views/server/layout.haml +17 -0
  43. data/views/{location.haml → server/location.haml} +0 -0
  44. data/woyo-server.gemspec +1 -1
  45. metadata +42 -10
  46. data/public/default.html +0 -15
  47. data/views/layout.haml +0 -6
  48. data/world/default.rb +0 -76
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 463090a5a8f8f70bc5b6de114d5d1f57f26f08ac
4
- data.tar.gz: 56378db7ab92e7fe2c062930987953fb7ec1da0b
3
+ metadata.gz: d631fff970708970e8c666a81ad35a2c2ede9004
4
+ data.tar.gz: 9f29d92c99ec739eb5dd4dc50107537aeca7bdf4
5
5
  SHA512:
6
- metadata.gz: 8d37fed73e100523edaa6a37019f62587549513cd7f2e2a4075bec8d0eff183a58ef23ed8fdf9f9c8c42c67e665b27d969007a0a0c5bc55a137bb7c48cab5fd6
7
- data.tar.gz: 88d03ad3e5d1f022d655bdfa448c76dccc0a4755c3cf9f25db6d1f4c8a6a740d9c52c5ac5ef3da7a230a4817037ca1753a8b9ee971227f904305a0d17617cf57
6
+ metadata.gz: 7066e24c44ef560cbc484c1ecff89de388b70796b9ce033e845bb9a49d61a1ffc1f4bc81f9c697210fa0092eea6e309f8d5ffe89ef60486e35e3390d7289a072
7
+ data.tar.gz: f9aef1c1096177eb60b57a73dc19796ed933b3ec364c12023db956e2a7052a9481a98005ef640d190c784de3ebe06cff59f6dc55072bd13ea3fa7f362f4a3195
data/lib/woyo/runner.rb CHANGED
@@ -15,6 +15,7 @@ class Runner
15
15
 
16
16
  code = case @args.first
17
17
  when 'new' then mode_new
18
+ when 'update' then mode_update
18
19
  when 'server' then mode_server
19
20
  when 'console' then mode_console
20
21
  end
@@ -32,11 +33,6 @@ class Runner
32
33
 
33
34
  end
34
35
 
35
- def self.fail msg, code
36
- print_error msg
37
- return code
38
- end
39
-
40
36
  def self.mode_new
41
37
  if @args.include?('-h') || @args.include?('--help')
42
38
  print_help_new
@@ -47,22 +43,42 @@ class Runner
47
43
  print_error 'No directory provided'
48
44
  return -1
49
45
  end
50
- if Dir.exists? dir
51
- unless @args.include?('-f') || @args.include?('--force')
52
- print_error 'Directory already exists'
53
- return -2
54
- end
55
- end
56
46
  if File.exists? dir
57
- unless @args.include?('-f') || @args.include?('--force')
47
+ if Dir.exists? dir
48
+ unless @args.include?('-f') || @args.include?('--force')
49
+ print_error 'Directory already exists'
50
+ return -2
51
+ end
52
+ else
58
53
  print_error 'File exists with same name'
59
54
  return -3
60
55
  end
61
56
  end
62
57
  FileUtils.mkdir_p dir
63
58
  [ 'public', 'views', 'world' ].each do |subdir|
64
- FileUtils.cp_r File.join( __dir__, '../../', subdir ), dir
59
+ FileUtils.cp_r File.join( __dir__, '../../', subdir ), dir, preserve: true
65
60
  end
61
+ FileUtils.ln_s 'foundation-5.2.2', File.join(dir,'public/server/foundation')
62
+ FileUtils.ln_s 'jquery-2.1.1', File.join(dir,'public/server/jquery')
63
+ return 0
64
+ end
65
+
66
+ def self.mode_update
67
+ if @args.include?('-h') || @args.include?('--help')
68
+ print_help_update
69
+ return 0
70
+ end
71
+ unless in_server_directory?
72
+ unless @args.include?('-f') || @args.include?('--force')
73
+ print_error 'This is not a Woyo::Server directory'
74
+ return -4
75
+ end
76
+ end
77
+ [ 'public', 'views', 'world' ].each do |subdir|
78
+ FileUtils.cp_r File.join( __dir__, '../../', subdir ), '.', preserve: true
79
+ end
80
+ FileUtils.ln_s 'foundation-5.2.2', 'public/server/foundation' unless File.exists? 'public/server/foundation'
81
+ FileUtils.ln_s 'jquery-2.1.1', 'public/server/jquery' unless File.exists? 'public/server/jquery'
66
82
  return 0
67
83
  end
68
84
 
@@ -71,6 +87,10 @@ class Runner
71
87
  print_help_server
72
88
  return 0
73
89
  end
90
+ unless in_server_directory?
91
+ print_error 'This is not a Woyo::Server directory'
92
+ return -4
93
+ end
74
94
  Woyo::Server.run!
75
95
  return 0
76
96
  end
@@ -80,6 +100,14 @@ class Runner
80
100
  print_help_console
81
101
  return 0
82
102
  end
103
+ unless in_server_directory?
104
+ print_error 'This is not a Woyo::Server directory'
105
+ return -4
106
+ end
107
+ end
108
+
109
+ def self.in_server_directory?
110
+ Dir['{public,views,world}'] == %w( public views world )
83
111
  end
84
112
 
85
113
  def self.print_help
@@ -98,6 +126,14 @@ class Runner
98
126
  @err.puts "............."
99
127
  end
100
128
 
129
+ def self.print_help_update
130
+ @err.puts "Usage: woyo update ..."
131
+ @err.puts
132
+ @err.puts "............."
133
+ @err.puts "............."
134
+ @err.puts "............."
135
+ end
136
+
101
137
  def self.print_help_server
102
138
  @err.puts "Usage: woyo server ..."
103
139
  @err.puts
@@ -17,6 +17,8 @@ class Server < Sinatra::Application
17
17
  configure do
18
18
  enable :sessions
19
19
  set root: '.'
20
+ set views: Proc.new { File.join(root, "views/server") }
21
+ set public_folder: Proc.new { File.join(root, "public/server") }
20
22
  set world: self.load_world
21
23
  end
22
24
 
@@ -25,8 +27,8 @@ class Server < Sinatra::Application
25
27
  end
26
28
 
27
29
  get '/' do
28
- redirect to '/default.html' if world.locations.empty?
29
- @location ||= world.locations[:home] || world.locations.values.first
30
+ redirect to 'default.html' if world.locations.empty? || ( !@location && !world.start )
31
+ @location ||= world.locations[world.start]
30
32
  session[:location] = @location
31
33
  haml :location
32
34
  end
@@ -1,3 +1,3 @@
1
1
  module Woyo
2
- SERVER_VERSION = "0.0.1"
2
+ SERVER_VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,42 @@
1
+ <!doctype html>
2
+ <html class="no-js" lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>WOYO - World Of Your Own</title>
7
+ <link rel="stylesheet" href="foundation/css/foundation.css" />
8
+ <script src="foundation/js/vendor/modernizr.js"></script>
9
+ </head>
10
+ <body>
11
+
12
+ <div class="row">
13
+ <div class="large-12 columns">
14
+ <h1>WOYO - World Of Your Own</h1>
15
+ </div>
16
+ </div>
17
+
18
+ <div class="row">
19
+ <div class="large-12 columns">
20
+ <div class="panel">
21
+ <h3>Welcome to your Woyo::Server</h3>
22
+ <p>This is the default page on a Woyo::Server. You are seeing this page because the Woyo::World has not been created yet.</p>
23
+ <p>To create the World, create and edit .rb files in the world/ directory.</p>
24
+ </div>
25
+ <div class="panel">
26
+ <h3>Links</h3>
27
+ <ul>
28
+ <li><a href='https://github.com/iqeo/woyo-world/wiki'>Woyo-World documentation</a></li>
29
+ <li><a href='https://github.com/iqeo/woyo-server/wiki'>Woyo-Server documentation</a></li>
30
+ </ul>
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ <script src="foundation/js/vendor/jquery.js"></script>
36
+ <script src="foundation/js/foundation.min.js"></script>
37
+ <script>
38
+ $(document).foundation();
39
+ </script>
40
+ </body>
41
+ </html>
42
+