class ProjectFactory

Responsible for creating projects when needed. Creates them from XML received.

Attributes

project[R]
projects[R]

Public Class Methods

new() click to toggle source
# File lib/airbrake/cli/project_factory.rb, line 7
def initialize
  @project = Project.new
  @projects = []
end

Public Instance Methods

check_project() click to toggle source
# File lib/airbrake/cli/project_factory.rb, line 27
def check_project
  if @project.valid?
    projects << @project
    @project = Project.new
  end
end
create_projects_from_xml(xml) click to toggle source
# File lib/airbrake/cli/project_factory.rb, line 12
def create_projects_from_xml(xml)
  xml.split("\n").each do |line|
    /<name[^>]*>(.*)<\/name>/ =~ line
    name = $1
    project.name    = name.capitalize if name
    /<id[^>]*>(.*)<\/id>/ =~ line
    id = $1
    project.id      = id              if id
    /<api-key[^>]*>(.*)<\/api-key>/ =~ line
    api_key = $1
    project.api_key = api_key         if api_key
    check_project
  end
end