Class: Sinatra::AssetPack::Options

Inherits:
Object
  • Object
show all
Includes:
Dashboard::BowerHelpers
Defined in:
lib/rubyneat_dashboard/bower_dsl.rb

Instance Method Summary collapse

Methods included from Dashboard::BowerHelpers

#bower_no_deps?, #bower_packages, #bower_resolve, #bower_root, #bower_route, #bower_serve, #gem_root, #path_to

Instance Method Details

#bower(type: nil, modules: []) ⇒ Object



86
87
88
89
90
91
# File 'lib/rubyneat_dashboard/bower_dsl.rb', line 86

def bower(type: nil, modules: [])
  r = resolve_dependencies(modules).map{|mod| bower_resolve(mod)[:files] }.flatten
    .select { |file| file =~ %r{\.#{type}$} }
  $log.debug r
  r
end

#resolve_dependencies(mods, notes = []) ⇒ Object



76
77
78
79
80
81
82
83
84
# File 'lib/rubyneat_dashboard/bower_dsl.rb', line 76

def resolve_dependencies(mods, notes=[])
  mods.inject([]) do |memo, modspec|
    mod, ver = modspec.kind_of?(Array) ? modspec : [modspec, '>=0.0.0']
    memo  << mod
    memo  << resolve_dependencies(bower_resolve(mod)[:deps], notes) unless bower_no_deps?(mod) or notes.member?(mod)
    notes << mod
    memo
  end.flatten
end