module Assetify
To be refactored…
Constants
- ASSETS
- ASSETS_PATH
- LINE
- Opt
- TSIZE
- VERSION
Public Class Methods
bar()
click to toggle source
Divider bar
# File lib/assetify/cli.rb, line 93 def bar puts '-' * TSIZE end
check(assets)
click to toggle source
# File lib/assetify/cli.rb, line 24 def check(assets) assets.each do |a| LINE.p a.header if a.file_exists? # Return if file is on path a.read_data LINE.f "#{a.print_version} Installed" else LINE.f 'Not Found', :red end end end
check_param(params, string)
click to toggle source
Text Interface
# File lib/assetify/cli.rb, line 11 def check_param(params, string) unless string.include? params[0] puts "Did you mean #{string}?" exit 0 end end
find_assets(params = nil)
click to toggle source
Fuzzy find files
# File lib/assetify/cli.rb, line 19 def find_assets(params = nil) return Asset.all unless params Asset.filter params end
install(assets, force = false)
click to toggle source
# File lib/assetify/cli.rb, line 36 def install(assets, force = false) assets.each do |a| LINE.p a.header if !force && a.file_exists? # Return if file is on path a.read_data return LINE.f "#{a.print_version} Installed" end begin # Creates a thread to insert dots while downloading points = Thread.new { loop { ; LINE.p '.'; sleep 1; } } a.install! force LINE.f "#{a.print_version} ok" rescue => e LINE.f :FAIL, :red p "Fail: #{e} #{e.backtrace}" ensure points.kill end end end
work!(params)
click to toggle source
# File lib/assetify/cli.rb, line 97 def work!(params) start = Time.now Assetfile.find print "Assetify - #{Asset.all.size} assets" print " | #{params[1..-1].join(' . ')}" if params[1] puts ' |' bar work_on params bar puts "Done in #{Time.now - start}s" end
work_on(params)
click to toggle source
CLI
Master case/switch!
Destructive: i -> install u -> update x -> clean ? todo
Safe: c -> check w -> web
# File lib/assetify/cli.rb, line 70 def work_on(params) assets = find_assets(params[1]) case params.first when /^i/, nil check_param params, 'install' if params[0] install assets when /^u/ check_param params, 'update' install assets, :force when /^c/ check_param params, 'check' check assets when /^w/ check_param params, 'web' GUI.boot! else puts "Dunno how to #{params.join}." end end