class Genre

Constants

GAP_BETWEEN_PALETTES

Attributes

palettes[RW]

Public Class Methods

from_directories(paths) click to toggle source
# File lib/dunmanifestin/genre.rb, line 4
def self.from_directories paths
  new palettes_from paths
end
new(palette_list) click to toggle source
# File lib/dunmanifestin/genre.rb, line 20
def initialize palette_list
  self.palettes = Hash[palette_list.map { |p| [p.name, p] }]
end
palettes_from(paths) click to toggle source
# File lib/dunmanifestin/genre.rb, line 8
def self.palettes_from paths
  paths.flat_map do |path|
    Dir[File.join(path, '**', '*.pal')].flat_map do |filename|
      File.read(filename)
        .split(GAP_BETWEEN_PALETTES)
        .map do |textual_palette|
          Palette.new(textual_palette, filename)
        end
    end
  end
end

Public Instance Methods

palette_named(name) click to toggle source
# File lib/dunmanifestin/genre.rb, line 24
def palette_named name
  palettes[name] || NullPalette.new(name)
end