Class: RailsIcons::Preview
- Inherits:
-
Object
- Object
- RailsIcons::Preview
- Includes:
- Tags
- Defined in:
- app/models/rails_icons/preview.rb,
app/models/rails_icons/preview/tags.rb
Defined Under Namespace
Modules: Tags
Instance Method Summary collapse
Methods included from Tags
Instance Method Details
#icon_names(library, variant = nil) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'app/models/rails_icons/preview.rb', line 25 def icon_names(library, variant = nil) if library.to_sym == :animated animated_icons.map { |path| File.basename(path, ".svg") } else path = variant ? "#{icons_path}/#{library}/#{variant}" : "#{icons_path}/#{library}" Dir.glob("#{path}/*.svg").map { |file| File.basename(file, ".svg") } end end |
#libraries ⇒ Object
7 8 9 10 11 |
# File 'app/models/rails_icons/preview.rb', line 7 def libraries host_libraries = Dir.glob("#{icons_path}/*").select { |path| File.directory?(path) }.map { |path| File.basename(path) } host_libraries << "animated" if animated_icons.any? host_libraries.uniq.sort_by { |lib| (lib == default_library) ? "0" : lib } end |
#variants(library) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/models/rails_icons/preview.rb', line 13 def variants(library) return [] if library.to_sym == :animated path = "#{icons_path}/#{library}" entries = Dir.glob("#{path}/*") has_direct_svgs = entries.any? { |entry| entry.end_with?(".svg") } return [] if has_direct_svgs entries.select { |entry| File.directory?(entry) }.map { |entry| File.basename(entry) } end |