Sha256: b28b7b7e18934bbb1c0516f764d53f0354f7ce5640856ed6eb87721ebe194a16
Contents?: true
Size: 1.27 KB
Versions: 13
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true require 'logcabin' ## # Tool and DSL for checking expected vs actual state module Prospectus class << self ## # Insert a helper .new() method for creating a new Cache object def new(*args) self::List.new(*args) end def load(*args) self::Loader.new(*args).load end ## # Method for loading list from DSL def load_from_file(params = {}) file = params[:file] || raise('File path required for load_from_file') list = List.new(params) dsl = ListDSL.new(list, params) dsl.instance_eval(File.read(file), File.realpath(file, Dir.pwd)) list end def modules @modules ||= LogCabin.new(load_path: load_path(:modules)) end def helpers @helpers ||= LogCabin.new(load_path: load_path(:helpers)) end def extra_dep(name, dep) require dep rescue LoadError raise("The #{name} module requires the #{dep} gem") end private def gem_dir Gem::Specification.find_by_name('prospectus').gem_dir end def load_path(type) File.join(gem_dir, 'lib', 'prospectus', type.to_s) end end end require 'prospectus/version' require 'prospectus/loader' require 'prospectus/list' require 'prospectus/item' require 'prospectus/state'
Version data entries
13 entries across 13 versions & 1 rubygems