Code cleanup.
This commit is contained in:
parent
5e518f5037
commit
6d6779caf7
2 changed files with 90 additions and 90 deletions
|
@ -19,7 +19,7 @@ class Index extends App.ControllerContent
|
||||||
url: "#{@apiPath}/packages",
|
url: "#{@apiPath}/packages",
|
||||||
processData: true,
|
processData: true,
|
||||||
success: (data) =>
|
success: (data) =>
|
||||||
@packages = data
|
@packages = data.packages
|
||||||
@render()
|
@render()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ class Index extends App.ControllerContent
|
||||||
id: 'packages'
|
id: 'packages'
|
||||||
type: httpType
|
type: httpType
|
||||||
url: "#{@apiPath}/packages",
|
url: "#{@apiPath}/packages",
|
||||||
data: JSON.stringify( { id: id } )
|
data: JSON.stringify(id: id)
|
||||||
processData: false
|
processData: false
|
||||||
success: =>
|
success: =>
|
||||||
@load()
|
@load()
|
||||||
|
|
|
@ -6,17 +6,17 @@ class Package < ApplicationModel
|
||||||
|
|
||||||
# build package based on .szpm
|
# build package based on .szpm
|
||||||
# Package.build(
|
# Package.build(
|
||||||
# :file => 'package.szpm',
|
# file: 'package.szpm',
|
||||||
# :root => '/path/to/src/extention/',
|
# root: '/path/to/src/extention/',
|
||||||
# :output => '/path/to/package_location/'
|
# output: '/path/to/package_location/'
|
||||||
# )
|
# )
|
||||||
def self.build(data)
|
def self.build(data)
|
||||||
|
|
||||||
if data[:file]
|
if data[:file]
|
||||||
xml = _read_file( data[:file], data[:root] || true )
|
xml = _read_file(data[:file], data[:root] || true)
|
||||||
package = _parse(xml)
|
package = _parse(xml)
|
||||||
elsif data[:string]
|
elsif data[:string]
|
||||||
package = _parse( data[:string] )
|
package = _parse(data[:string])
|
||||||
end
|
end
|
||||||
|
|
||||||
build_date = REXML::Element.new('build_date')
|
build_date = REXML::Element.new('build_date')
|
||||||
|
@ -24,19 +24,19 @@ class Package < ApplicationModel
|
||||||
build_host = REXML::Element.new('build_host')
|
build_host = REXML::Element.new('build_host')
|
||||||
build_host.text = Socket.gethostname
|
build_host.text = Socket.gethostname
|
||||||
|
|
||||||
package.root.insert_after( '//zpm/description', build_date )
|
package.root.insert_after('//zpm/description', build_date)
|
||||||
package.root.insert_after( '//zpm/description', build_host )
|
package.root.insert_after('//zpm/description', build_host)
|
||||||
package.elements.each('zpm/filelist/file') do |element|
|
package.elements.each('zpm/filelist/file') do |element|
|
||||||
location = element.attributes['location']
|
location = element.attributes['location']
|
||||||
content = _read_file( location, data[:root] )
|
content = _read_file(location, data[:root])
|
||||||
base64 = Base64.encode64(content)
|
base64 = Base64.encode64(content)
|
||||||
element.text = base64
|
element.text = base64
|
||||||
end
|
end
|
||||||
if data[:output]
|
if data[:output]
|
||||||
location = data[:output] + '/' + package.elements['zpm/name'].text + '-' + package.elements['zpm/version'].text + '.zpm'
|
location = "#{data[:output]}/#{package.elements['zpm/name'].text}-#{package.elements['zpm/version'].text}.zpm"
|
||||||
logger.info "NOTICE: writting package to '#{location}'"
|
logger.info "NOTICE: writting package to '#{location}'"
|
||||||
file = File.new( location, 'wb' )
|
file = File.new(location, 'wb')
|
||||||
file.write( package.to_s )
|
file.write(package.to_s)
|
||||||
file.close
|
file.close
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
@ -46,16 +46,16 @@ class Package < ApplicationModel
|
||||||
# Package.auto_install
|
# Package.auto_install
|
||||||
# install all packages located under auto_install/*.zpm
|
# install all packages located under auto_install/*.zpm
|
||||||
def self.auto_install
|
def self.auto_install
|
||||||
path = @@root + '/auto_install/'
|
path = "#{@@root}/auto_install/"
|
||||||
return if !File.exist?( path )
|
return if !File.exist?(path)
|
||||||
data = []
|
data = []
|
||||||
Dir.foreach( path ) do |entry|
|
Dir.foreach(path) do |entry|
|
||||||
if entry =~ /\.zpm/ && entry !~ /^\./
|
if entry =~ /\.zpm/ && entry !~ /^\./
|
||||||
data.push entry
|
data.push entry
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
data.each {|file|
|
data.each {|file|
|
||||||
install( file: path + '/' + file )
|
install(file: "#{path}/#{file}")
|
||||||
}
|
}
|
||||||
data
|
data
|
||||||
end
|
end
|
||||||
|
@ -65,15 +65,15 @@ class Package < ApplicationModel
|
||||||
# note: will not take down package migrations, use Package.unlink instead
|
# note: will not take down package migrations, use Package.unlink instead
|
||||||
def self.unlink_all
|
def self.unlink_all
|
||||||
# link files
|
# link files
|
||||||
Dir.glob( @@root + '/**/*' ) do |entry|
|
Dir.glob("#{@@root}/**/*") do |entry|
|
||||||
if File.symlink?( entry)
|
if File.symlink?(entry)
|
||||||
logger.info "unlink: #{entry}"
|
logger.info "unlink: #{entry}"
|
||||||
File.delete( entry )
|
File.delete(entry)
|
||||||
end
|
end
|
||||||
backup_file = entry + '.link_backup'
|
backup_file = entry + '.link_backup'
|
||||||
if File.exist?( backup_file )
|
if File.exist?(backup_file)
|
||||||
logger.info "Restore backup file of #{backup_file} -> #{entry}."
|
logger.info "Restore backup file of #{backup_file} -> #{entry}."
|
||||||
File.rename( backup_file, entry )
|
File.rename(backup_file, entry)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -81,8 +81,8 @@ class Package < ApplicationModel
|
||||||
# check if zpm is a package source repo
|
# check if zpm is a package source repo
|
||||||
def self._package_base_dir?(package_base_dir)
|
def self._package_base_dir?(package_base_dir)
|
||||||
package = false
|
package = false
|
||||||
Dir.glob( package_base_dir + '/*.szpm') do |entry|
|
Dir.glob(package_base_dir + '/*.szpm') do |entry|
|
||||||
package = entry.sub( %r{^.*/(.+?)\.szpm$}, '\1')
|
package = entry.sub(%r{^.*/(.+?)\.szpm$}, '\1')
|
||||||
end
|
end
|
||||||
if package == false
|
if package == false
|
||||||
fail "Can't link package, '#{package_base_dir}' is no package source directory!"
|
fail "Can't link package, '#{package_base_dir}' is no package source directory!"
|
||||||
|
@ -99,24 +99,24 @@ class Package < ApplicationModel
|
||||||
package = _package_base_dir?(package_base_dir)
|
package = _package_base_dir?(package_base_dir)
|
||||||
|
|
||||||
# migration down
|
# migration down
|
||||||
Package::Migration.migrate( package, 'reverse' )
|
Package::Migration.migrate(package, 'reverse')
|
||||||
|
|
||||||
# link files
|
# link files
|
||||||
Dir.glob( package_base_dir + '/**/*' ) do |entry|
|
Dir.glob(package_base_dir + '/**/*') do |entry|
|
||||||
entry = entry.sub( '//', '/' )
|
entry = entry.sub('//', '/')
|
||||||
file = entry
|
file = entry
|
||||||
file = file.sub( /#{package_base_dir.to_s}/, '' )
|
file = file.sub(/#{package_base_dir.to_s}/, '')
|
||||||
dest = @@root + '/' + file
|
dest = @@root + '/' + file
|
||||||
|
|
||||||
if File.symlink?( dest.to_s )
|
if File.symlink?(dest.to_s)
|
||||||
logger.info "Unlink file: #{dest}"
|
logger.info "Unlink file: #{dest}"
|
||||||
File.delete( dest.to_s )
|
File.delete(dest.to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
backup_file = dest.to_s + '.link_backup'
|
backup_file = dest.to_s + '.link_backup'
|
||||||
if File.exist?( backup_file )
|
if File.exist?(backup_file)
|
||||||
logger.info "Restore backup file of #{backup_file} -> #{dest}."
|
logger.info "Restore backup file of #{backup_file} -> #{dest}."
|
||||||
File.rename( backup_file, dest.to_s )
|
File.rename(backup_file, dest.to_s)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -129,11 +129,11 @@ class Package < ApplicationModel
|
||||||
package = _package_base_dir?(package_base_dir)
|
package = _package_base_dir?(package_base_dir)
|
||||||
|
|
||||||
# link files
|
# link files
|
||||||
Dir.glob( package_base_dir + '/**/*' ) do |entry|
|
Dir.glob(package_base_dir + '/**/*') do |entry|
|
||||||
entry = entry.sub( '//', '/' )
|
entry = entry.sub('//', '/')
|
||||||
file = entry
|
file = entry
|
||||||
file = file.sub( /#{package_base_dir.to_s}/, '' )
|
file = file.sub(/#{package_base_dir.to_s}/, '')
|
||||||
file = file.sub( %r{^/}, '' )
|
file = file.sub(%r{^/}, '')
|
||||||
|
|
||||||
# ignore files
|
# ignore files
|
||||||
if file =~ /^README/
|
if file =~ /^README/
|
||||||
|
@ -144,44 +144,44 @@ class Package < ApplicationModel
|
||||||
# get new file destination
|
# get new file destination
|
||||||
dest = @@root + '/' + file
|
dest = @@root + '/' + file
|
||||||
|
|
||||||
if File.directory?( entry.to_s )
|
if File.directory?(entry.to_s)
|
||||||
if !File.exist?( dest.to_s )
|
if !File.exist?(dest.to_s)
|
||||||
logger.info "Create dir: #{dest}"
|
logger.info "Create dir: #{dest}"
|
||||||
FileUtils.mkdir_p( dest.to_s )
|
FileUtils.mkdir_p(dest.to_s)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if File.file?( entry.to_s ) && ( File.file?( dest.to_s ) && !File.symlink?( dest.to_s ) )
|
if File.file?(entry.to_s) && (File.file?(dest.to_s) && !File.symlink?(dest.to_s))
|
||||||
backup_file = dest.to_s + '.link_backup'
|
backup_file = dest.to_s + '.link_backup'
|
||||||
if File.exist?( backup_file )
|
if File.exist?(backup_file)
|
||||||
fail "Can't link #{entry} -> #{dest}, destination and .link_backup already exists!"
|
fail "Can't link #{entry} -> #{dest}, destination and .link_backup already exists!"
|
||||||
else
|
else
|
||||||
logger.info "Create backup file of #{dest} -> #{backup_file}."
|
logger.info "Create backup file of #{dest} -> #{backup_file}."
|
||||||
File.rename( dest.to_s, backup_file )
|
File.rename(dest.to_s, backup_file)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if File.file?( entry )
|
if File.file?(entry)
|
||||||
if File.symlink?( dest.to_s )
|
if File.symlink?(dest.to_s)
|
||||||
File.delete( dest.to_s )
|
File.delete(dest.to_s)
|
||||||
end
|
end
|
||||||
logger.info "Link file: #{entry} -> #{dest}"
|
logger.info "Link file: #{entry} -> #{dest}"
|
||||||
File.symlink( entry.to_s, dest.to_s )
|
File.symlink(entry.to_s, dest.to_s)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# migration up
|
# migration up
|
||||||
Package::Migration.migrate( package )
|
Package::Migration.migrate(package)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Package.install( :file => '/path/to/package.zpm' )
|
# Package.install(file: '/path/to/package.zpm')
|
||||||
# Package.install( :string => zpm_as_string )
|
# Package.install(string: zpm_as_string)
|
||||||
def self.install(data)
|
def self.install(data)
|
||||||
if data[:file]
|
if data[:file]
|
||||||
xml = _read_file( data[:file], true )
|
xml = _read_file(data[:file], true)
|
||||||
package = _parse(xml)
|
package = _parse(xml)
|
||||||
elsif data[:string]
|
elsif data[:string]
|
||||||
package = _parse( data[:string] )
|
package = _parse(data[:string])
|
||||||
end
|
end
|
||||||
|
|
||||||
# package meta data
|
# package meta data
|
||||||
|
@ -195,13 +195,13 @@ class Package < ApplicationModel
|
||||||
}
|
}
|
||||||
|
|
||||||
# verify if package can get installed
|
# verify if package can get installed
|
||||||
package_db = Package.find_by( name: meta[:name] )
|
package_db = Package.find_by(name: meta[:name])
|
||||||
if package_db
|
if package_db
|
||||||
if !data[:reinstall]
|
if !data[:reinstall]
|
||||||
if Gem::Version.new( package_db.version ) == Gem::Version.new( meta[:version] )
|
if Gem::Version.new(package_db.version) == Gem::Version.new(meta[:version])
|
||||||
fail "Package '#{meta[:name]}-#{meta[:version]}' already installed!"
|
fail "Package '#{meta[:name]}-#{meta[:version]}' already installed!"
|
||||||
end
|
end
|
||||||
if Gem::Version.new( package_db.version ) > Gem::Version.new( meta[:version] )
|
if Gem::Version.new(package_db.version) > Gem::Version.new(meta[:version])
|
||||||
fail "Newer version (#{package_db.version}) of package '#{meta[:name]}-#{meta[:version]}' already installed!"
|
fail "Newer version (#{package_db.version}) of package '#{meta[:name]}-#{meta[:version]}' already installed!"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -215,13 +215,13 @@ class Package < ApplicationModel
|
||||||
end
|
end
|
||||||
|
|
||||||
# store package
|
# store package
|
||||||
record = Package.create( meta )
|
record = Package.create(meta)
|
||||||
if !data[:reinstall]
|
if !data[:reinstall]
|
||||||
Store.add(
|
Store.add(
|
||||||
object: 'Package',
|
object: 'Package',
|
||||||
o_id: record.id,
|
o_id: record.id,
|
||||||
data: package.to_s,
|
data: package.to_s,
|
||||||
filename: meta[:name] + '-' + meta[:version] + '.zpm',
|
filename: "#{meta[:name]}-#{meta[:version]}.zpm",
|
||||||
preferences: {},
|
preferences: {},
|
||||||
created_by_id: UserInfo.current_user_id || 1,
|
created_by_id: UserInfo.current_user_id || 1,
|
||||||
)
|
)
|
||||||
|
@ -241,32 +241,32 @@ class Package < ApplicationModel
|
||||||
record.save
|
record.save
|
||||||
|
|
||||||
# up migrations
|
# up migrations
|
||||||
Package::Migration.migrate( meta[:name] )
|
Package::Migration.migrate(meta[:name])
|
||||||
|
|
||||||
# prebuild assets
|
# prebuild assets
|
||||||
|
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
# Package.reinstall( package_name )
|
# Package.reinstall(package_name)
|
||||||
def self.reinstall(package_name)
|
def self.reinstall(package_name)
|
||||||
package = Package.find_by( name: package_name )
|
package = Package.find_by(name: package_name)
|
||||||
if !package
|
if !package
|
||||||
fail "No such package '#{package_name}'"
|
fail "No such package '#{package_name}'"
|
||||||
end
|
end
|
||||||
|
|
||||||
file = _get_bin( package.name, package.version )
|
file = _get_bin(package.name, package.version)
|
||||||
install( string: file, reinstall: true )
|
install(string: file, reinstall: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Package.uninstall( :name => 'package', :version => '0.1.1' )
|
# Package.uninstall(name: 'package', version: '0.1.1')
|
||||||
# Package.uninstall( :string => zpm_as_string )
|
# Package.uninstall(string: zpm_as_string)
|
||||||
def self.uninstall( data )
|
def self.uninstall(data)
|
||||||
|
|
||||||
if data[:string]
|
if data[:string]
|
||||||
package = _parse( data[:string] )
|
package = _parse(data[:string])
|
||||||
else
|
else
|
||||||
file = _get_bin( data[:name], data[:version] )
|
file = _get_bin(data[:name], data[:version])
|
||||||
package = _parse(file)
|
package = _parse(file)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -278,7 +278,7 @@ class Package < ApplicationModel
|
||||||
|
|
||||||
# down migrations
|
# down migrations
|
||||||
if !data[:migration_not_down]
|
if !data[:migration_not_down]
|
||||||
Package::Migration.migrate( meta[:name], 'reverse' )
|
Package::Migration.migrate(meta[:name], 'reverse')
|
||||||
end
|
end
|
||||||
|
|
||||||
package.elements.each('zpm/filelist/file') do |element|
|
package.elements.each('zpm/filelist/file') do |element|
|
||||||
|
@ -304,7 +304,7 @@ class Package < ApplicationModel
|
||||||
def self._parse(xml)
|
def self._parse(xml)
|
||||||
logger.debug xml.inspect
|
logger.debug xml.inspect
|
||||||
begin
|
begin
|
||||||
package = REXML::Document.new( xml )
|
package = REXML::Document.new(xml)
|
||||||
rescue => e
|
rescue => e
|
||||||
logger.error 'ERROR: ' + e.inspect
|
logger.error 'ERROR: ' + e.inspect
|
||||||
return
|
return
|
||||||
|
@ -313,7 +313,7 @@ class Package < ApplicationModel
|
||||||
package
|
package
|
||||||
end
|
end
|
||||||
|
|
||||||
def self._get_bin( name, version )
|
def self._get_bin(name, version)
|
||||||
package = Package.find_by(
|
package = Package.find_by(
|
||||||
name: name,
|
name: name,
|
||||||
version: version,
|
version: version,
|
||||||
|
@ -346,7 +346,7 @@ class Package < ApplicationModel
|
||||||
end
|
end
|
||||||
|
|
||||||
begin
|
begin
|
||||||
data = File.open( location, 'rb' )
|
data = File.open(location, 'rb')
|
||||||
contents = data.read
|
contents = data.read
|
||||||
rescue => e
|
rescue => e
|
||||||
raise 'ERROR: ' + e.inspect
|
raise 'ERROR: ' + e.inspect
|
||||||
|
@ -355,13 +355,13 @@ class Package < ApplicationModel
|
||||||
end
|
end
|
||||||
|
|
||||||
def self._write_file(file, permission, data)
|
def self._write_file(file, permission, data)
|
||||||
location = @@root + '/' + file
|
location = "#{@@root}/#{file}"
|
||||||
|
|
||||||
# rename existing file
|
# rename existing file
|
||||||
if File.exist?( location )
|
if File.exist?(location)
|
||||||
backup_location = location + '.save'
|
backup_location = location + '.save'
|
||||||
logger.info "NOTICE: backup old file '#{location}' to #{backup_location}"
|
logger.info "NOTICE: backup old file '#{location}' to #{backup_location}"
|
||||||
File.rename( location, backup_location )
|
File.rename(location, backup_location)
|
||||||
end
|
end
|
||||||
|
|
||||||
# check if directories need to be created
|
# check if directories need to be created
|
||||||
|
@ -369,7 +369,7 @@ class Package < ApplicationModel
|
||||||
(0..(directories.length - 2) ).each {|position|
|
(0..(directories.length - 2) ).each {|position|
|
||||||
tmp_path = ''
|
tmp_path = ''
|
||||||
(1..position).each {|count|
|
(1..position).each {|count|
|
||||||
tmp_path = tmp_path + '/' + directories[count].to_s
|
tmp_path = "#{tmp_path}/#{directories[count]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
next if tmp_path == ''
|
next if tmp_path == ''
|
||||||
|
@ -381,10 +381,10 @@ class Package < ApplicationModel
|
||||||
# install file
|
# install file
|
||||||
begin
|
begin
|
||||||
logger.info "NOTICE: install '#{location}' (#{permission})"
|
logger.info "NOTICE: install '#{location}' (#{permission})"
|
||||||
file = File.new( location, 'wb' )
|
file = File.new(location, 'wb')
|
||||||
file.write( data )
|
file.write(data)
|
||||||
file.close
|
file.close
|
||||||
File.chmod( permission.to_i(8), location )
|
File.chmod(permission.to_i(8), location)
|
||||||
rescue => e
|
rescue => e
|
||||||
raise 'ERROR: ' + e.inspect
|
raise 'ERROR: ' + e.inspect
|
||||||
end
|
end
|
||||||
|
@ -392,19 +392,19 @@ class Package < ApplicationModel
|
||||||
end
|
end
|
||||||
|
|
||||||
def self._delete_file(file, _permission, _data)
|
def self._delete_file(file, _permission, _data)
|
||||||
location = @@root + '/' + file
|
location = "#{@@root}/#{file}"
|
||||||
|
|
||||||
# install file
|
# install file
|
||||||
logger.info "NOTICE: uninstall '#{location}'"
|
logger.info "NOTICE: uninstall '#{location}'"
|
||||||
if File.exist?( location )
|
if File.exist?(location)
|
||||||
File.delete( location )
|
File.delete(location)
|
||||||
end
|
end
|
||||||
|
|
||||||
# rename existing file
|
# rename existing file
|
||||||
backup_location = location + '.save'
|
backup_location = location + '.save'
|
||||||
if File.exist?( backup_location )
|
if File.exist?(backup_location)
|
||||||
logger.info "NOTICE: restore old file '#{backup_location}' to #{location}"
|
logger.info "NOTICE: restore old file '#{backup_location}' to #{location}"
|
||||||
File.rename( backup_location, location )
|
File.rename(backup_location, location)
|
||||||
end
|
end
|
||||||
|
|
||||||
true
|
true
|
||||||
|
@ -413,11 +413,11 @@ class Package < ApplicationModel
|
||||||
class Migration < ApplicationModel
|
class Migration < ApplicationModel
|
||||||
@@root = Rails.root.to_s # rubocop:disable Style/ClassVars
|
@@root = Rails.root.to_s # rubocop:disable Style/ClassVars
|
||||||
|
|
||||||
def self.migrate( package, direction = 'normal' )
|
def self.migrate(package, direction = 'normal')
|
||||||
location = @@root + '/db/addon/' + package.underscore
|
location = "#{@@root}/db/addon/#{package.underscore}"
|
||||||
|
|
||||||
return true if !File.exist?( location )
|
return true if !File.exist?(location)
|
||||||
migrations_done = Package::Migration.where( name: package.underscore )
|
migrations_done = Package::Migration.where(name: package.underscore)
|
||||||
|
|
||||||
# get existing migrations
|
# get existing migrations
|
||||||
migrations_existing = []
|
migrations_existing = []
|
||||||
|
@ -449,26 +449,26 @@ class Package < ApplicationModel
|
||||||
|
|
||||||
# down
|
# down
|
||||||
if direction == 'reverse'
|
if direction == 'reverse'
|
||||||
done = Package::Migration.find_by( name: package.underscore, version: version )
|
done = Package::Migration.find_by(name: package.underscore, version: version)
|
||||||
next if !done
|
next if !done
|
||||||
logger.info "NOTICE: down package migration '#{migration}'"
|
logger.info "NOTICE: down package migration '#{migration}'"
|
||||||
load "#{location}/#{migration}"
|
load "#{location}/#{migration}"
|
||||||
classname = name.camelcase
|
classname = name.camelcase
|
||||||
Kernel.const_get(classname).down
|
Kernel.const_get(classname).down
|
||||||
record = Package::Migration.find_by( name: package.underscore, version: version )
|
record = Package::Migration.find_by(name: package.underscore, version: version)
|
||||||
if record
|
if record
|
||||||
record.destroy
|
record.destroy
|
||||||
end
|
end
|
||||||
|
|
||||||
# up
|
# up
|
||||||
else
|
else
|
||||||
done = Package::Migration.find_by( name: package.underscore, version: version )
|
done = Package::Migration.find_by(name: package.underscore, version: version)
|
||||||
next if done
|
next if done
|
||||||
logger.info "NOTICE: up package migration '#{migration}'"
|
logger.info "NOTICE: up package migration '#{migration}'"
|
||||||
load "#{location}/#{migration}"
|
load "#{location}/#{migration}"
|
||||||
classname = name.camelcase
|
classname = name.camelcase
|
||||||
Kernel.const_get(classname).up
|
Kernel.const_get(classname).up
|
||||||
Package::Migration.create( name: package.underscore, version: version )
|
Package::Migration.create(name: package.underscore, version: version)
|
||||||
end
|
end
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue