module Charty::DashPatternGenerator
Constants
- NAMED_PATTERNS
Public Class Methods
each() { |pattern| ... }
click to toggle source
# File lib/charty/dash_pattern_generator.rb, line 28 def self.each return enum_for(__method__) unless block_given? NAMED_PATTERNS.each_value do |pattern| yield pattern end m = 3 while true # Long and short dash combinations a = [3, 1.25].repeated_combination(m).to_a[1..-2].reverse b = [4, 1].repeated_combination(m).to_a[1..-2] # Interleave these combinations segment_list = a.zip(b).flatten(1) # Insert the gaps segment_list.each do |segment| gap = segment.min pattern = segment.map {|seg| [seg, gap] }.flatten yield pattern end m += 1 end end
pattern_to_name(pattern)
click to toggle source
# File lib/charty/dash_pattern_generator.rb, line 21 def self.pattern_to_name(pattern) NAMED_PATTERNS.each do |key, val| return key if pattern == val end nil end
valid_name?(name)
click to toggle source
# File lib/charty/dash_pattern_generator.rb, line 11 def self.valid_name?(name) name = case name when Symbol, String name.to_sym else name.to_str.to_sym end NAMED_PATTERNS.key?(name) end