Methods

Class/Module Index [+]

Quicksearch

Nanoc::CLI::Commands::CreateItem

Public Instance Methods

run() click to toggle source
# File lib/nanoc/cli/commands/create-item.rb, line 16
def run
  # Check arguments
  if arguments.length != 1
    raise Nanoc::Errors::GenericTrivial, "usage: #{command.usage}"
  end

  # Extract arguments and options
  identifier = arguments[0].cleaned_identifier

  # Make sure we are in a nanoc site directory
  self.require_site

  # Set VCS if possible
  self.set_vcs(options[:vcs])

  # Check whether item is unique
  if !self.site.items.find { |i| i.identifier == identifier }.nil?
    raise Nanoc::Errors::GenericTrivial,
      "An item already exists at #{identifier}. Please " +
      "pick a unique name for the item you are creating."
  end

  # Setup notifications
  Nanoc::NotificationCenter.on(:file_created) do |file_path|
    Nanoc::CLI::Logger.instance.file(:high, :create, file_path)
  end

  # Create item
  data_source = self.site.data_sources[0]
  data_source.create_item(
    "Hi, I'm a new item!\n",
    { :title => "A New Item" },
    identifier
  )

  puts "An item has been created at #{identifier}."
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.