Sha256: 8f404313ce91411f0b49a1f3d3f21254cc5d5cff964e969e4894fd29655ab24c

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

require_relative 'updater_gf/version'
require_relative 'updater_gf/handle_update'
module UpdaterGf
  class Error < StandardError; end

  # class Updater
  class Updater
    class << self
      def run(add_gem = '', add_robocop = '')
        if check_argv_error?(add_gem, add_robocop)
          show_message_argv_error
          return
        end

        is_add_gem = add_gem?(add_gem)
        is_add_robocop = add_robocop?(add_gem, add_robocop)
        HandleUpdate.new(is_add_gem, is_add_robocop).process
      end

      def add_gem?(add_gem)
        add_gem.present? && add_gem == '-a'
      end

      def add_robocop?(add_gem, add_robocop)
        (add_robocop.present? && add_robocop == '-r') || (add_gem.present? && add_gem == '-r')
      end

      def check_argv_error?(add_gem, add_robocop)
        return true if add_gem.present? && (add_gem != '-a' || add_gem != '-r')
        return true if add_robocop.present? && add_robocop != '-r'

        false
      end

      def show_message_argv_error
        puts 'Invalid arguments'
        puts 'Usage: updater_gf [-a] [-r]'
        puts '  -a: Add gems from list_gems_add to Gemfile'
        puts '  -r: Add .rubocop.yml to project root'
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
updater_gf-0.1.5 lib/updater_gf.rb