shot_mvc 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/{application → app}/controllers/view_controller.rb +2 -2
- data/{application → app}/views/view_not_found.erb +1 -1
- data/lib/shot_mvc/controller.rb +8 -0
- data/lib/shot_mvc/controller_delegate.rb +3 -3
- data/lib/shot_mvc/controller_loader.rb +5 -5
- data/lib/shot_mvc/model_router.rb +7 -0
- data/lib/shot_mvc/session_router.rb +9 -9
- data/lib/shot_mvc/template_loader.rb +5 -5
- metadata +5 -4
@@ -18,13 +18,13 @@ class ViewController < Controller
|
|
18
18
|
<div class="span12">
|
19
19
|
<h1>#{view}</h1>
|
20
20
|
<p>This view is simply a placeholder for something amazing! You can edit the view here:</p>
|
21
|
-
<pre><code>
|
21
|
+
<pre><code>app/views/#{view}.erb</code></pre>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
</div>
|
25
25
|
eos
|
26
26
|
|
27
|
-
File.write "
|
27
|
+
File.write "app/views/#{view}.erb", contents
|
28
28
|
|
29
29
|
get('controller', 'Home').index
|
30
30
|
end
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<p>Uh oh! It looks like you tried to render a view that doesn't exist yet.</p>
|
9
9
|
|
10
10
|
<p>
|
11
|
-
<a data-shot-click="GemRoot/
|
11
|
+
<a data-shot-click="GemRoot/app/controllers/view_controller.rb#create" data-shot-data="<%=data[:requested_view]%>" class="btn btn-primary btn-large">
|
12
12
|
Create View
|
13
13
|
</a>
|
14
14
|
</p>
|
data/lib/shot_mvc/controller.rb
CHANGED
@@ -38,4 +38,12 @@ class Controller
|
|
38
38
|
def get(type, name)
|
39
39
|
@app.get type, name
|
40
40
|
end
|
41
|
+
|
42
|
+
# Instantiate a new Element, assigned to the specified query
|
43
|
+
#
|
44
|
+
# Note:: Sugary way of writing +get "element", "selector"+
|
45
|
+
|
46
|
+
def e(selector)
|
47
|
+
@app.get 'element', selector
|
48
|
+
end
|
41
49
|
end
|
@@ -29,12 +29,12 @@ end
|
|
29
29
|
eof
|
30
30
|
|
31
31
|
template = ERB.new template
|
32
|
-
File.write "
|
32
|
+
File.write "app/controllers/#{controller_name.underscore}_controller.rb", template.result(binding)
|
33
33
|
end
|
34
34
|
|
35
35
|
def delete_controller(controller_name)
|
36
|
-
if File.exists? "
|
37
|
-
File.unlink "
|
36
|
+
if File.exists? "app/controllers/#{controller_name.underscore}_controller.rb"
|
37
|
+
File.unlink "app/controllers/#{controller_name.underscore}_controller.rb"
|
38
38
|
else
|
39
39
|
raise ControllerNotFoundException.new "Could not find controller named #{controller_name}"
|
40
40
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# ControllerLoader
|
2
2
|
#
|
3
|
-
# Adds controller loading functionality to a Shot
|
4
|
-
# '
|
3
|
+
# Adds controller loading functionality to a Shot app. Will attempt to load controllers in the
|
4
|
+
# 'app/controllers' folder in the local working directory. If the file is not found, or an appropriate
|
5
5
|
# filesystem is not set up, a ControllerLoadException will be raised.
|
6
6
|
#
|
7
7
|
# Shot Framework - Copyright (c) Jesse Aaron Dunlap <me@jessedunlap.me>
|
@@ -48,7 +48,7 @@ class ControllerLoader < Loader
|
|
48
48
|
controller_instance
|
49
49
|
|
50
50
|
else
|
51
|
-
load "
|
51
|
+
load "app/controllers/#{controller.underscore}_controller.rb"
|
52
52
|
|
53
53
|
controller_class_name = get_controller_class controller
|
54
54
|
controller_object = get_controller_object controller_class_name
|
@@ -59,14 +59,14 @@ class ControllerLoader < Loader
|
|
59
59
|
controller_instance
|
60
60
|
end
|
61
61
|
else
|
62
|
-
raise ControllerLoadException.new "Error loading controller #{controller}. Please verify that it exists at
|
62
|
+
raise ControllerLoadException.new "Error loading controller #{controller}. Please verify that it exists at app/controllers/#{controller.underscore}.rb"
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
66
|
private
|
67
67
|
|
68
68
|
def controller_exists?(controller)
|
69
|
-
File.exists? controller or File.exists? "
|
69
|
+
File.exists? controller or File.exists? "app/controllers/#{controller.underscore}_controller.rb"
|
70
70
|
end
|
71
71
|
|
72
72
|
def direct_path_to_controller?(controller)
|
@@ -22,7 +22,7 @@ class ApplicationInstance
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def session_save
|
25
|
-
File.write "
|
25
|
+
File.write "app/sessions/#{@config[:session_key]}.json", @config[:session].to_json
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -31,11 +31,11 @@ class SessionRouter < Router
|
|
31
31
|
super(client)
|
32
32
|
|
33
33
|
client.on 'session_key' do |key|
|
34
|
-
create_session_folder unless Dir.exists? '
|
35
|
-
create_session_file key unless File.exists? "
|
34
|
+
create_session_folder unless Dir.exists? 'app/sessions'
|
35
|
+
create_session_file key unless File.exists? "app/sessions/#{key}.json"
|
36
36
|
|
37
37
|
client.config[:session_key] = key
|
38
|
-
client.config[:session] = JSON.parse File.read "
|
38
|
+
client.config[:session] = JSON.parse File.read "app/sessions/#{key}.json"
|
39
39
|
|
40
40
|
client.emit 'session_ready'
|
41
41
|
end
|
@@ -44,11 +44,11 @@ class SessionRouter < Router
|
|
44
44
|
session_key = SecureRandom.uuid
|
45
45
|
client.emit 'assign_session_key', :key => session_key, :session_hash => client.config['server']['Security']['SessionHash']
|
46
46
|
|
47
|
-
create_session_folder unless Dir.exists? '
|
48
|
-
create_session_file session_key unless File.exists? "
|
47
|
+
create_session_folder unless Dir.exists? 'app/sessions'
|
48
|
+
create_session_file session_key unless File.exists? "app/sessions/#{session_key}.json"
|
49
49
|
|
50
50
|
client.config[:session_key] = session_key
|
51
|
-
client.config[:session] = JSON.parse File.read "
|
51
|
+
client.config[:session] = JSON.parse File.read "app/sessions/#{session_key}.json"
|
52
52
|
|
53
53
|
client.emit 'session_ready'
|
54
54
|
end
|
@@ -59,10 +59,10 @@ class SessionRouter < Router
|
|
59
59
|
private
|
60
60
|
|
61
61
|
def create_session_folder
|
62
|
-
Dir.mkdir '
|
62
|
+
Dir.mkdir 'app/sessions'
|
63
63
|
end
|
64
64
|
|
65
65
|
def create_session_file(key)
|
66
|
-
File.write "
|
66
|
+
File.write "app/sessions/#{key}.json", '{}'
|
67
67
|
end
|
68
68
|
end
|
@@ -25,19 +25,19 @@ class TemplateLoader < Loader
|
|
25
25
|
if full_path? name
|
26
26
|
Template.new name
|
27
27
|
else
|
28
|
-
Template.new "./
|
28
|
+
Template.new "./app/views/#{name}.erb"
|
29
29
|
end
|
30
30
|
else
|
31
31
|
if @client.config['server']['Security']['VisualErrors'] then
|
32
32
|
begin
|
33
|
-
raise TemplateLoadException.new "Could not load #{name}. Verify it exists at
|
33
|
+
raise TemplateLoadException.new "Could not load #{name}. Verify it exists at app/views/#{name}.erb"
|
34
34
|
rescue Exception => ex
|
35
|
-
template = Template.new "#{gem_root}/
|
35
|
+
template = Template.new "#{gem_root}/app/views/view_not_found.erb"
|
36
36
|
template.data = { :requested_view => name, :exception => ex }
|
37
37
|
return template
|
38
38
|
end
|
39
39
|
else
|
40
|
-
raise TemplateLoadException.new "Could not load #{name}. Verify it exists at
|
40
|
+
raise TemplateLoadException.new "Could not load #{name}. Verify it exists at app/views/#{name}.erb"
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
@@ -53,6 +53,6 @@ class TemplateLoader < Loader
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def template_exists?(view_name)
|
56
|
-
File.exists? view_name or File.exists? "
|
56
|
+
File.exists? view_name or File.exists? "app/views/#{view_name}.erb"
|
57
57
|
end
|
58
58
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shot_mvc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shot
|
@@ -59,14 +59,15 @@ files:
|
|
59
59
|
- lib/shot_mvc/controller_router.rb
|
60
60
|
- lib/shot_mvc/element.rb
|
61
61
|
- lib/shot_mvc/element_loader.rb
|
62
|
+
- lib/shot_mvc/model_router.rb
|
62
63
|
- lib/shot_mvc/mvc_application.rb
|
63
64
|
- lib/shot_mvc/session_router.rb
|
64
65
|
- lib/shot_mvc/template.rb
|
65
66
|
- lib/shot_mvc/template_loader.rb
|
66
67
|
- lib/shot_mvc/template_load_exception.rb
|
67
68
|
- lib/shot_mvc.rb
|
68
|
-
-
|
69
|
-
-
|
69
|
+
- app/controllers/view_controller.rb
|
70
|
+
- app/views/view_not_found.erb
|
70
71
|
- LICENSE.md
|
71
72
|
- README.md
|
72
73
|
homepage: http://github.com/shot/
|