Module: Prospectus

Defined in:
lib/prospectus.rb,
lib/prospectus/item.rb,
lib/prospectus/list.rb,
lib/prospectus/state.rb,
lib/prospectus/loader.rb,
lib/prospectus/version.rb

Overview

Declare package version

Defined Under Namespace

Classes: Item, ItemDSL, List, ListDSL, Loader, State, StateDSL

Constant Summary collapse

DEFAULT_FILE =
'./.prospectus'.freeze
VERSION =
'0.9.0'.freeze

Class Method Summary collapse

Class Method Details

.extra_dep(name, dep) ⇒ Object



37
38
39
40
41
# File 'lib/prospectus.rb', line 37

def extra_dep(name, dep)
  require dep
rescue LoadError
  raise("The #{name} module requires the #{dep} gem")
end

.helpersObject



33
34
35
# File 'lib/prospectus.rb', line 33

def helpers
  @helpers ||= LogCabin.new(load_path: load_path(:helpers))
end

.load(*args) ⇒ Object



15
16
17
# File 'lib/prospectus.rb', line 15

def load(*args)
  self::Loader.new(*args).load
end

.load_from_file(params = {}) ⇒ Object

Method for loading list from DSL



21
22
23
24
25
26
27
# File 'lib/prospectus.rb', line 21

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

.modulesObject



29
30
31
# File 'lib/prospectus.rb', line 29

def modules
  @modules ||= LogCabin.new(load_path: load_path(:modules))
end

.new(*args) ⇒ Object

Insert a helper .new() method for creating a new Cache object



11
12
13
# File 'lib/prospectus.rb', line 11

def new(*args)
  self::List.new(*args)
end