Class: FoxPage::SiteBuilder

Inherits:
Object
  • Object
show all
Includes:
Builders::Assets, Builders::FileCopy, Builders::Models, Builders::Pages
Defined in:
lib/fox_page/site_builder.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Builders::Pages

#build_all_the_pages, #build_pages, #build_single_page, #layout_for, #layout_path, #page_path, #render_route, #spiced_controller, #validate_file_exists, #views_path

Methods included from Builders::Models

#load_models

Methods included from Builders::FileCopy

#copy_public_files

Methods included from Builders::Assets

#build_assets

Constructor Details

#initialize(app) ⇒ SiteBuilder

Returns a new instance of SiteBuilder.



18
19
20
21
# File 'lib/fox_page/site_builder.rb', line 18

def initialize(app)
  @app = app
  @output_directory = app.root.join(OUTPUT_DIRECTORY)
end

Instance Attribute Details

#appObject (readonly)

Returns the value of attribute app.



16
17
18
# File 'lib/fox_page/site_builder.rb', line 16

def app
  @app
end

#output_directoryObject (readonly)

Returns the value of attribute output_directory.



16
17
18
# File 'lib/fox_page/site_builder.rb', line 16

def output_directory
  @output_directory
end

Class Method Details

.build(app) ⇒ Object



12
13
14
# File 'lib/fox_page/site_builder.rb', line 12

def self.build(app)
  new(app).build
end

Instance Method Details

#buildObject



23
24
25
26
27
28
29
30
31
32
# File 'lib/fox_page/site_builder.rb', line 23

def build
  puts "==> Building site #{App.config.site&.title}"

  FileUtils.mkdir_p output_directory

  load_models
  build_assets
  build_pages
  copy_public_files
end