Module: Assetify
- Defined in:
- lib/assetify.rb,
lib/assetify/dsl.rb,
lib/assetify/pkg.rb,
lib/assetify/tui.rb,
lib/assetify/asset.rb,
lib/assetify/helpers.rb
Defined Under Namespace
Modules: Helpers
Classes: Asset, DSL, NoJSFile, Pkg, TUI
Constant Summary
collapse
- TSIZE =
80
- LINE =
TUI.new
- ASSETS =
[:javascripts, :stylesheets, :images]
- Opt =
{
:jspath => "public/javascripts",
:csspath => "public/stylesheets",
:imgpath => "public/images",
:vendor => "public/vendor",
:newname => true
}
Class Method Summary
collapse
Class Method Details
.bar ⇒ Object
103
104
105
|
# File 'lib/assetify.rb', line 103
def bar
puts "-" * TSIZE
end
|
.check_param(params, string) ⇒ Object
77
78
79
80
81
82
|
# File 'lib/assetify.rb', line 77
def check_param params, string
unless string.include? params[0]
puts "Did you mean #{string}?"
exit 0
end
end
|
.find_assets(filter = nil) ⇒ Object
85
86
87
88
|
# File 'lib/assetify.rb', line 85
def find_assets(filter = nil)
return @assets unless filter
@assets.select { |a| "#{a.name}#{a.pkg}" =~ /#{filter}/ }
end
|
.find_jsfile ⇒ Object
55
56
57
|
# File 'lib/assetify.rb', line 55
def find_jsfile
no_jsfile! unless File.exists?("Jsfile")
end
|
.no_jsfile! ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/assetify.rb', line 31
def no_jsfile!
print "Jsfile not found, create one? [Y/n] "
res = gets.chomp
unless res =~ /n|N/
File.open("Jsfile", "w+") do |f|
f.print <<TXT
#
# #{Dir.pwd.split('/').last.capitalize} Jsfile
#
js :jquery, "http://jquery.com"
css :reset, "http://prefered/rset/url"
group :forms do
js :validator, "http://..."
end
TXT
end
puts "Jsfile created!"
exit 0
end
end
|
.read_jsfile ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/assetify.rb', line 59
def read_jsfile
file = File.open("Jsfile") code = file.send(file.respond_to?(:lines) ? :lines : :readlines).map do |line|
next if line =~ /^\w*\#|^#/
if line =~ /^\w{2,3}path/
key, val = line.split(" ")
Opt[key.to_sym] = val
next
end
line
end.reject(&:nil?)
DSL.parse code.join(";")
end
|
.work!(params) ⇒ Object
107
108
109
110
111
112
113
114
115
116
|
# File 'lib/assetify.rb', line 107
def work!(params)
start = Time.now
puts "Assetify"
bar
find_jsfile
@assets = read_jsfile
work_on params
bar
puts "Done in #{Time.now - start}s"
end
|
.work_on(params) ⇒ Object
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/assetify.rb', line 90
def work_on params
case params.first
when /^i/, nil
check_param params, "install" if params[0]
find_assets(params[1]).map(&:install!)
when /^u/
check_param params, "update"
find_assets(params[1]).map { |a| a.install! :force }
else
puts "Dunno how to #{params.join}."
end
end
|