resin 0.0.3 → 0.0.4
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.
- data/lib/resin/app/app.rb +3 -55
- data/lib/resin/app/helpers.rb +64 -0
- metadata +19 -18
data/lib/resin/app/app.rb
CHANGED
@@ -2,6 +2,8 @@ require 'rubygems'
|
|
2
2
|
require 'sinatra/base'
|
3
3
|
require 'haml'
|
4
4
|
|
5
|
+
require File.expand_path(File.dirname(__FILE__) + '/helpers.rb')
|
6
|
+
|
5
7
|
AMBER_PATH = File.expand_path('../../../../amber', __FILE__)
|
6
8
|
|
7
9
|
module Resin
|
@@ -18,38 +20,10 @@ module Resin
|
|
18
20
|
class Server < Sinatra::Base
|
19
21
|
set :dump_errors, true
|
20
22
|
set :port, ENV['PORT'] || 4567
|
21
|
-
set :views, File.expand_path('../views', __FILE__)
|
22
|
-
|
23
23
|
set :views, [File.join(Dir.pwd, 'views'), File.expand_path('../views', __FILE__)]
|
24
24
|
|
25
25
|
helpers do
|
26
|
-
|
27
|
-
Array(views).each do |view|
|
28
|
-
super(view, name, engine, &block)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def embed_amber
|
33
|
-
return <<-END
|
34
|
-
<script type="text/javascript" src="/js/amber.js"></script>
|
35
|
-
<script type="text/javascript">
|
36
|
-
loadAmber({
|
37
|
-
files : [#{javascript_files}],
|
38
|
-
ready : function() { }
|
39
|
-
});
|
40
|
-
</script>
|
41
|
-
END
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def javascript_files
|
46
|
-
files = []
|
47
|
-
Dir.glob("#{Dir.pwd}/js/*.js") do |filename|
|
48
|
-
unless filename.include? 'deploy'
|
49
|
-
files << "\"#{File.basename(filename)}\""
|
50
|
-
end
|
51
|
-
end
|
52
|
-
files.join(',')
|
26
|
+
include Resin::Helpers
|
53
27
|
end
|
54
28
|
|
55
29
|
get '/' do
|
@@ -64,32 +38,6 @@ module Resin
|
|
64
38
|
end
|
65
39
|
end
|
66
40
|
|
67
|
-
def load_resource(prefix, filename)
|
68
|
-
# A file in our working directory will take precedence over the
|
69
|
-
# Amber-bundled files. This should allow custom Kernel-Objects.js files
|
70
|
-
# for example.
|
71
|
-
local_file = File.join(Dir.pwd, "#{prefix}/", filename)
|
72
|
-
amber_file = File.join(AMBER_PATH, "/#{prefix}/", filename)
|
73
|
-
|
74
|
-
if File.exists? local_file
|
75
|
-
File.open(local_file, 'r').read
|
76
|
-
elsif File.exists? amber_file
|
77
|
-
File.open(amber_file, 'r').read
|
78
|
-
else
|
79
|
-
nil
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def content_type_for_ext(filename)
|
84
|
-
if File.extname(filename) == '.js'
|
85
|
-
content_type 'application/javascript'
|
86
|
-
elsif File.extname(filename) == '.css'
|
87
|
-
content_type 'text/css'
|
88
|
-
else
|
89
|
-
content_type 'text/plain'
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
41
|
['js', 'css', 'images'].each do |path|
|
94
42
|
get "/#{path}/*" do |filename|
|
95
43
|
content_type_for_ext filename
|
@@ -0,0 +1,64 @@
|
|
1
|
+
|
2
|
+
module Resin
|
3
|
+
module Helpers
|
4
|
+
def javascript_files
|
5
|
+
files = []
|
6
|
+
Dir.glob("#{Dir.pwd}/js/*.js") do |filename|
|
7
|
+
if Resin.development?
|
8
|
+
unless filename.include? 'deploy'
|
9
|
+
files << "\"#{File.basename(filename)}\""
|
10
|
+
end
|
11
|
+
else
|
12
|
+
if filename.include? 'deploy'
|
13
|
+
files << "\"#{File.basename(filename)}\""
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
files.join(',')
|
18
|
+
end
|
19
|
+
|
20
|
+
def find_template(views, name, engine, &block)
|
21
|
+
Array(views).each do |view|
|
22
|
+
super(view, name, engine, &block)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def embed_amber
|
27
|
+
return <<-END
|
28
|
+
<script type="text/javascript" src="/js/amber.js"></script>
|
29
|
+
<script type="text/javascript">
|
30
|
+
loadAmber({
|
31
|
+
files : [#{javascript_files}],
|
32
|
+
ready : function() { }
|
33
|
+
});
|
34
|
+
</script>
|
35
|
+
END
|
36
|
+
end
|
37
|
+
|
38
|
+
def load_resource(prefix, filename)
|
39
|
+
# A file in our working directory will take precedence over the
|
40
|
+
# Amber-bundled files. This should allow custom Kernel-Objects.js files
|
41
|
+
# for example.
|
42
|
+
local_file = File.join(Dir.pwd, "#{prefix}/", filename)
|
43
|
+
amber_file = File.join(AMBER_PATH, "/#{prefix}/", filename)
|
44
|
+
|
45
|
+
if File.exists? local_file
|
46
|
+
File.open(local_file, 'r').read
|
47
|
+
elsif File.exists? amber_file
|
48
|
+
File.open(amber_file, 'r').read
|
49
|
+
else
|
50
|
+
nil
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def content_type_for_ext(filename)
|
55
|
+
if File.extname(filename) == '.js'
|
56
|
+
content_type 'application/javascript'
|
57
|
+
elsif File.extname(filename) == '.css'
|
58
|
+
content_type 'text/css'
|
59
|
+
else
|
60
|
+
content_type 'text/plain'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02
|
12
|
+
date: 2012-03-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement: &
|
16
|
+
requirement: &7592760 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.0.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *7592760
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &7592360 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *7592360
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: shotgun
|
38
|
-
requirement: &
|
38
|
+
requirement: &7591900 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *7591900
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &7591440 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *7591440
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rack-test
|
60
|
-
requirement: &
|
60
|
+
requirement: &7591020 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *7591020
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: thin
|
71
|
-
requirement: &
|
71
|
+
requirement: &7590600 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *7590600
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: haml
|
82
|
-
requirement: &
|
82
|
+
requirement: &7590180 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *7590180
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: sinatra
|
93
|
-
requirement: &
|
93
|
+
requirement: &7589740 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *7589740
|
102
102
|
description:
|
103
103
|
email: tyler@linux.com
|
104
104
|
executables:
|
@@ -108,6 +108,7 @@ extra_rdoc_files:
|
|
108
108
|
- README.markdown
|
109
109
|
files:
|
110
110
|
- bin/runresin
|
111
|
+
- lib/resin/app/helpers.rb
|
111
112
|
- lib/resin/app/app.rb
|
112
113
|
- lib/resin.rb
|
113
114
|
- lib/resin/app/views/index.haml
|