Module: Nailed

Defined in:
lib/nailed.rb

Defined Under Namespace

Classes: Bugzilla, Github

Constant Summary collapse

LOGGER =
Logger.new(File.join(File.expand_path("..", File.dirname(__FILE__)),"log","nailed.log"))
CONFIG_FILE =
File.join(File.expand_path("..", File.dirname(__FILE__)),"config","products.yml")
PRODUCTS =
YAML.load_file(CONFIG_FILE)

Class Method Summary collapse

Class Method Details

.fill_db_after_migration(github_client) ⇒ Object



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/nailed.rb', line 145

def Nailed.fill_db_after_migration(github_client)
  Nailed::PRODUCTS["products"].each do |product,values|
    values["versions"].each do |version|
      db_handler = Product.first_or_create(:name => version)
      Nailed.save_state(db_handler)
    end unless values["versions"].nil?
    if values["organization"].nil?
      values["repos"].each do |repo|
        db_handler = Repository.first_or_create(:repo => repo)
        Nailed.save_state(db_handler)
      end unless values["repos"].nil?
    else
      db_handler = Organization.first_or_create(:oname => values["organization"])
      Nailed.save_state(db_handler)
      org_repos = Nailed.get_org_repos(github_client, values["organization"])
      org_repos.each do |org_repo|
        db_handler = Repository.first_or_create(:rname => org_repo, :organization_oname => values["organization"])
        Nailed.save_state(db_handler)
      end
    end
  end
end

.get_org_repos(github_client, org) ⇒ Object



140
141
142
143
# File 'lib/nailed.rb', line 140

def Nailed.get_org_repos(github_client, org)
  all_repos = github_client.org_repos(org)
  all_repos.map(&:name)
end

.log(level, msg) ⇒ Object

Generic methods



132
133
134
135
136
137
138
# File 'lib/nailed.rb', line 132

def Nailed.log(level,msg)
  if level == "error"
    Nailed::LOGGER.error(msg)
  else
    Nailed::LOGGER.info(msg)
  end
end

.save_state(db_handler) ⇒ Object



168
169
170
171
172
173
# File 'lib/nailed.rb', line 168

def Nailed.save_state(db_handler)
  unless db_handler.save
    puts("ERROR: see logfile")
    log("error", db_handler.errors.inspect)
  end
end