woyo-server 0.0.1 → 0.0.2

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 (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
+