Sha256: bac3153d7ebd4b1604d0f8ce1bc155d6542db8ae9bfeb0edb6d2b67f375a7173

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

require 'yaml'

module Faussaire
    class Citation
        DATA_PATH = File.expand_path('./../../locale/fr.yml', __dir__)
          
        class << self
            ##
            # Produces a random philosopher quote.
            #
            # @return [String]
            #
            # @example
            #   Faussaire::Citation.philo #=> "Homère a dit un jour : Le sommeil et la mort sont des frères jumeaux."
            #
            def philo
                fetch('fr.faussaire.citation.philosophy').sample
            end

            ##
            # Produces a random french proverb.
            #
            # @return [String]
            #
            # @example
            #   Faussaire::Citation.proverbe #=> "Pense deux fois avant de parler, tu en parleras deux fois mieux."
            #
            def proverbe
                fetch('fr.faussaire.citation.proverbe').sample
            end

            private

            def fetch(key)
            data = YAML.load_file(DATA_PATH)
            data.dig(*key.split('.'))
            end
        end  
    end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
faussaire-1.0.0 lib/faussaire/citation.rb
faussaire-0.1.6 lib/faussaire/citation.rb
faussaire-0.1.3 lib/faussaire/citation.rb
faussaire-0.1.1 lib/faussaire/citation.rb