Sha256: 1ba93c1a0bcbd01885073ba6fa181228e3bec457d4be8e9d05ddbc2a2e7def33
Contents?: true
Size: 517 Bytes
Versions: 1
Compression:
Stored size: 517 Bytes
Contents
module EagleLabels class Category attr_reader :name, :code def initialize(name, spec) @name = name @code = spec['code'].to_s @features = spec['features'] || {} end def features @features.map { |k, v| Feature.new(k, v) } end def all_labels features.inject([]) do |labels, feature| labels.any? ? labels.product(feature.codes) : feature.codes end.map { |l| "#{code}#{l.is_a?(String) ? l : l.flatten.join}" } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eagle_labels-0.0.1 | lib/eagle_labels/category.rb |