forked from pusewicz/sonia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
helpers.rb
79 lines (68 loc) · 2.19 KB
/
helpers.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
module Sonia
module Helpers
# Returns all available widgets with relative path recognized by the webserver
#
# @return [Array] Array of relalive widget Javascript paths
def widget_javascripts
Dir[Sonia.root + "/widgets/*/*.js"].map do |file|
widget_name = File.basename(file, ".js")
file.gsub(File.join(Sonia.root, "widgets"), "/javascripts")
end
end
# Returns all available widget stylesheets with relative paths recognized by the webserver
#
# @return [Array] Array of relative widget CSS files
def widget_stylesheets
Dir[Sonia.root + "/widgets/*/*.css"].map do |file|
widget_name = File.basename(file, ".css")
file.gsub(File.join(Sonia.root, "widgets"), "/stylesheets")
end
end
def joined_system_javascript
files = %w(
/javascripts/swfobject.js
/javascripts/FABridge.js
/javascripts/web_socket.js
/javascripts/prototype.js
/javascripts/effects.js
/javascripts/dragdrop.js
/javascripts/livepipe.js
/javascripts/window.js
/javascripts/resizable.js
/javascripts/cookie.js
/javascripts/storage.js
/javascripts/sonia.js
/javascripts/dispatcher.js
/javascripts/widget.js
)
joined_javascript files.map { |file| File.join(Sonia.root, "public", file) }
end
def joined_system_css
files = %w(
/blueprint/reset.css
/blueprint/grid.css
/stylesheets/sonia.css
)
joined_css files.map { |file| File.join(Sonia.root, "public", file) }
end
def joined_widget_javascript
joined_javascript Dir[Sonia.root + "/widgets/*/*.js"]
end
def joined_widget_css
joined_javascript Dir[Sonia.root + "/widgets/*/*.css"]
end
def init_javascript
File.read(File.join(Sonia.root, "public", "javascripts", "init.js"))
end
private
def joined_javascript(files)
javascript = ""
files.each do |file|
javascript += "/** #{file} **/\n"
javascript += File.read(file)
end
javascript
end
alias_method :joined_css, :joined_javascript
end
end