module Getapp module Import # == Getapp::Import::Product Class # # Responsible for Storing Getapp product # class Products attr_reader :products, :verbose # == Getapp::Import::Product initialize Method # # @params[Array[OpenStruct] OR OpenStruct], Boolean # # @return Getapp::Import::Product instance # def initialize(products, verbose = false) @products = products.class == Array ? products : [products] @verbose = verbose end # == Getapp::Import::Product import Method # # Output each product on console. # # For example: # # importing: Name: GitHub; Categories: Bugs & Issue Tracking,Development Tools; Twitter: github # # importing: Name: Slack; Categories: Instant Messaging & Chat,Web Collaboration,Productivity; Twitter: slackhq # # @return NilClass # def import products.each do |product| product_output = product.to_h.map { |k, v| "#{k}: #{v}" }.join('; ') puts "importing: #{product_output}" end puts "Products Import Completed." if verbose nil end end end end