Sha256: 477315bd3bbb097a4216d31f80d149f539a0e2115464c2b1978a45cd7c41361f

Contents?: true

Size: 920 Bytes

Versions: 3

Compression:

Stored size: 920 Bytes

Contents

# frozen_string_literal: true

module Quran::Audio
  ##
  # The {Quran::Audio::Command Quran::Audio::Command} class
  # is the superclass of all commands.
  class Command
    require_relative "command/ls"
    require_relative "command/pull"
    include FileUtils

    ##
    # @return [Ryo]
    #  Command-line options
    attr_reader :options

    ##
    # @param [Ryo] options
    def initialize(options)
      @options = options
    end

    private

    def dir
      @dir ||= Ryo.from({
        localbase: File.join(Dir.home, ".local"),
        share: Ryo.memo { File.join(localbase, "share", "quran-audio") },
        root: File.realpath(File.join(__dir__, "..", "..", "..")),
        erb: Ryo.memo { File.join(root, "share", "quran-audio", "erb") },
        json: Ryo.memo { File.join(root, "share", "quran-audio", "json") },
      })
    end

    def line
      @line ||= IO::Line.new($stdout)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
quran-audio-0.4.2 lib/quran/audio/command.rb
quran-audio-0.4.1 lib/quran/audio/command.rb
quran-audio-0.4.0 lib/quran/audio/command.rb