Class: Codes21

Inherits:
Object
  • Object
show all
Defined in:
lib/codes21.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.run(path, suffixes, result_file_path) ⇒ Object



32
33
34
35
36
# File 'lib/codes21.rb', line 32

def self.run(path, suffixes, result_file_path)
  codes21 = Codes21.new
  codes21.get_codes(path, suffixes)
  codes21.write_result(result_file_path)
end

Instance Method Details

#get_codes(path, suffixes) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/codes21.rb', line 2

def get_codes(path, suffixes)
  @items ||= []
  Dir.glob("#{path}/**/*.{#{suffixes}}").each do |file|
    title = file.split('/').last
    puts file

    puts '*' * 70
    codes = File.read(file)
    codes.squeeze! "\n"
    puts codes
  
    item = {title: title, codes: codes}
    @items << item
  end
  @items
end

#write_result(result_file_path) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/codes21.rb', line 19

def write_result(result_file_path)
  File.open(result_file_path, 'w') do |f|
    @items.each do |item|
      f.puts "File:" + item[:title]
      f.puts "Code:"
      f.puts item[:codes]
    end
  end

  puts '*' * 70
  puts "codes files count:  #{@items.size}"
end