class Devpad::CLI::Review

Public Instance Methods

clone(review_id) click to toggle source
# File lib/devpad/cli/review.rb, line 42
def clone(review_id)
  review_clone = {
    name: options[:name],
    description: options[:description],
    comments: options[:comments],
    highlights: options[:highlights],
    template: options[:template],
    containers: options[:containers],
    images: options[:images],
    containers_single_use_mode: options[:single]
  }
  params = {
    id: review_id,
    review_clone: review_clone
  }
  new_review_id = Devpad::CLI::Commands::Review::Clone.new(shell: shell).execute(params)
  if options[:'with-link']
    Devpad::CLI::Commands::Review::Link.new(shell: shell).execute(id: new_review_id)
  end
end
close(review_id) click to toggle source
# File lib/devpad/cli/review.rb, line 69
def close(review_id)
  Devpad::CLI::Commands::Review::Close.new(shell: shell).execute(id: review_id)
end
create() click to toggle source
# File lib/devpad/cli/review.rb, line 23
def create
  params = {
    review: {
      name: options[:name],
      description: options[:description],
      template: options[:template],
      containers_single_use_mode: options[:single],
    }
  }
  review_id = Devpad::CLI::Commands::Review::Create.new(shell: shell).execute(params)
  if options[:'with-link']
    Devpad::CLI::Commands::Review::Link.new(shell: shell).execute(id: review_id)
  end
end
files(review_id) click to toggle source
# File lib/devpad/cli/review.rb, line 97
def files(review_id)
  params = { 'id': review_id }
  params['page'] = options[:page]
  Devpad::CLI::Commands::Review::File::List.new(shell: shell).execute(params)
end
invitation(review_id) click to toggle source
# File lib/devpad/cli/review.rb, line 111
def invitation(review_id)
  params = {
    id: review_id,
    review_invitation: {
      email_attributes: {
        name: options[:name], address: options[:email]
      }
    }
  }
  Devpad::CLI::Commands::Review::Invitation.new(shell: shell).execute(params)
end
list() click to toggle source
# File lib/devpad/cli/review.rb, line 7
def list
  if options[:active].present?
    status = 'active'
  elsif options[:closed].present?
    status = 'closed'
  else
    status = nil
  end
  params = options.slice('template', 'page').merge('status' => status)
  Devpad::CLI::Commands::Review::List.new(shell: shell).execute(params)
end
upload(review_id, path) click to toggle source
# File lib/devpad/cli/review.rb, line 76
def upload(review_id, path)
  if File.exist?(path)
    name = options[:name] || File.basename(path)
    if options[:language].present?
      language_id = Integer(options[:language]) rescue nil
      if language_id.nil?
        language_id = Linguist::Language.find_by_name(options[:language])&.language_id
      end
    else
      language_id = Linguist::Language.find_by_extension(File.extname(name))&.first&.language_id
    end
    Devpad::CLI::Commands::Review::File::Create.new(shell: shell).execute(
      id: review_id, review_file: { name: name, content: File.read(path), language_id: language_id }
    )
  else
    shell.say "File `#{path}' does not exist"
  end
end
user(review_id) click to toggle source
# File lib/devpad/cli/review.rb, line 104
def user(review_id)
  Devpad::CLI::Commands::Review::User.new(shell: shell).execute(id: review_id)
end