Sha256: df2aa608650220856fc848bb70bb88edb3d18550ede5025b51da5f0066b6aef7

Contents?: true

Size: 821 Bytes

Versions: 2

Compression:

Stored size: 821 Bytes

Contents

require "pathname"
require "open-uri"

module Meem::Templates
  PATHS = [
    Pathname.new("#{ENV['HOME']}/.meem/"),
    Pathname.new("#{DIRECTORY}/../templates/")
  ]

  # List templates.
  #
  # Returns an Array of Pathname instances.
  def self.list
    PATHS.map do |path|
      path.children.select { |child| child.extname == ".jpg" }
    end.flatten
  end

  # Find a given template.
  #
  # template - A String describing a template.
  #
  # Return a Pathname instance.
  def self.find template
    list.find { |file| file.basename.to_s =~ /#{template}/ }
  end

  # Load a template from file or the internet.
  #
  # template - A String describing a template.
  #
  # Returns a File.
  def self.load template
    if template[/^http:\/\//]
      return open template
    else
      find template
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
meem-1.0.1 lib/meem/templates.rb
meem-1.0.0 lib/meem/templates.rb