Module: Brief

Defined in:
lib/brief.rb,
lib/brief/dsl.rb,
lib/brief/model.rb,
lib/brief/version.rb,
lib/brief/document.rb,
lib/brief/briefcase.rb,
lib/brief/repository.rb,
lib/brief/configuration.rb,
lib/brief/model/definition.rb,
lib/brief/model/persistence.rb,
lib/brief/document/rendering.rb,
lib/brief/document/structure.rb,
lib/brief/document/front_matter.rb,
lib/brief/document/content_extractor.rb

Defined Under Namespace

Modules: Adapters, DSL, DocumentMapper, Model, Util Classes: Briefcase, Configuration, Document, Repository

Constant Summary collapse

VERSION =
'1.3.0'

Class Method Summary collapse

Class Method Details

.activate_adapter(identifier) ⇒ Object

Adapters for Rails, Middleman, or Jekyll apps



58
59
60
61
62
# File 'lib/brief.rb', line 58

def self.activate_adapter(identifier)
  require "brief/adapters/#{ identifier }"
  adapter = (Brief::Adapters.const_get(identifier.camelize) rescue nil)
  adapter.try(:activate_adapter)
end

.apps_pathObject



30
31
32
# File 'lib/brief.rb', line 30

def self.apps_path
  gem_root.join("..","apps")
end

.caseObject



18
19
20
# File 'lib/brief.rb', line 18

def self.case
  @briefcase
end

.case=(value) ⇒ Object



14
15
16
# File 'lib/brief.rb', line 14

def self.case=(value)
  @briefcase = value
end

.configurationObject



22
23
24
# File 'lib/brief.rb', line 22

def self.configuration
  Brief::Configuration.instance
end

.default_model_classObject



45
46
47
48
49
50
51
# File 'lib/brief.rb', line 45

def self.default_model_class
  if defined?(Brief::DefaultModel)
    Brief::DefaultModel
  else
    Brief.const_set(:DefaultModel, Class.new { include Brief::Model; def self.type_alias; "default"; end })
  end
end

.gem_rootObject



26
27
28
# File 'lib/brief.rb', line 26

def self.gem_root
  Pathname(File.dirname(__FILE__))
end

.load_commandsObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/brief.rb', line 34

def self.load_commands
  Dir[gem_root.join('brief', 'cli', '**/*.rb')].each { |f| require(f) }

  # the instance methods which get defined with the helper
  Brief::Model.classes.each do |klass|
    Array(klass.defined_actions).uniq.each do |action|
      Brief::Util.create_method_dispatcher_command_for(action, klass)
    end
  end
end

.load_modules_from(folder) ⇒ Object



53
54
55
# File 'lib/brief.rb', line 53

def self.load_modules_from(folder)
  Dir[folder.join('**/*.rb')].each { |f| require(f) }
end