Class: Nesta::Commands::Build

Inherits:
Object
  • Object
show all
Defined in:
lib/nesta/commands/build.rb

Constant Summary collapse

DEFAULT_DESTINATION =
"dist"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(build_dir = nil, options = {}) ⇒ Build

Returns a new instance of Build.



13
14
15
16
17
18
19
# File 'lib/nesta/commands/build.rb', line 13

def initialize(build_dir = nil, options = {})
  @build_dir = build_dir || DEFAULT_DESTINATION
  if @build_dir == Nesta::App.settings.public_folder
    raise RuntimeError.new("#{@build_dir} is already used, for assets")
  end
  @domain = options['domain'] || configured_domain_name
end

Instance Attribute Details

#domainObject

Returns the value of attribute domain.



11
12
13
# File 'lib/nesta/commands/build.rb', line 11

def domain
  @domain
end

Instance Method Details

#configured_domain_nameObject



21
22
23
# File 'lib/nesta/commands/build.rb', line 21

def configured_domain_name
  Nesta::Config.build.fetch('domain', 'localhost')
end

#execute(process) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/nesta/commands/build.rb', line 25

def execute(process)
  logger = Proc.new { |message| puts message }
  site = Nesta::Static::Site.new(@build_dir, @domain, logger)
  site.render_pages
  site.render_not_found
  site.render_atom_feed
  site.render_sitemap
  site.render_templated_assets
  Nesta::Static::Assets.new(@build_dir, logger).copy_attachments
  Nesta::Static::Assets.new(@build_dir, logger).copy_public_folder
end