require 'internet' require 'views/cli' require 'use_cases/new' require 'use_cases/list' require 'settings_file' require 'io/directory_info' module Idonethis::Adapters class Cli class << self def run(argv={}) adapters = { internet: Idonethis::Adapters::Internet, git: Idonethis::Adapters::Git, fs: Idonethis::Adapters::IO::DirectoryInfo, views: { list: Idonethis::Adapters::Views::Cli::List.method(:apply), teams: Idonethis::Adapters::Views::Cli::Teams.method(:apply) }, settings: Settings, log: ->(msg){puts "[LOG] #{msg}"}} Idonethis::UseCases::Cli.apply argv, adapters end end end end