Module: KeyValueName::Name::ClassMethods

Included in:
FileName::ClassMethods, FolderName::ClassMethods
Defined in:
lib/key_value_name/mixins/name.rb

Overview

Class methods of the returned ‘KeyValueName` class.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#key_value_name_specObject

Returns the value of attribute key_value_name_spec.



31
32
33
# File 'lib/key_value_name/mixins/name.rb', line 31

def key_value_name_spec
  @key_value_name_spec
end

Instance Method Details

#glob(parent) ⇒ Object



41
42
43
44
45
46
47
48
49
# File 'lib/key_value_name/mixins/name.rb', line 41

def glob(parent)
  Dir.glob(File.join(parent.to_s, key_value_name_spec.glob)).map do |name|
    basename = File.basename(name)
    next unless key_value_name_spec.matches?(basename)
    name = parse(basename)
    name.parent = parent
    name
  end.compact
end

#parse(name) ⇒ Object



37
38
39
# File 'lib/key_value_name/mixins/name.rb', line 37

def parse(name)
  new(parse_to_hash(name))
end

#parse_to_hash(name) ⇒ Object



33
34
35
# File 'lib/key_value_name/mixins/name.rb', line 33

def parse_to_hash(name)
  key_value_name_spec.parse(name)
end