class Clerq::Services::LoadAssembly
The service returns assembly and prints progress in console
Public Instance Methods
call()
click to toggle source
# File lib/clerq/services/load_assembly.rb, line 9 def call memo = {} on_parse_callback = lambda do |src| puts "Reading '#{src}'..." memo[src] = 0 end on_error_callback = lambda do |err| puts "\t#{err}" memo[memo.keys.last] += 1 end puts "Loading repository..." assemble = Clerq.assemble( on_parse: on_parse_callback, on_error: on_error_callback) if memo.empty? puts "This repository is empty" else errors_count = memo.values.inject(0, &:+) message = [].tap do |m| m << "#{nos(memo.size, 'file')} loaded" m << "#{nos(errors_count, 'error')} detected" end.join(', ') puts message end assemble end
Protected Instance Methods
nos(number, subject)
click to toggle source
TODO 0 zero, no
# File lib/clerq/services/load_assembly.rb, line 42 def nos(number, subject) case number when 0 then "no #{subject}s" when 1 then "one #{subject}" when 2 then "two #{subject}s" else "#{number} #{subject}s" end end