cpee-model-management 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cpee-model-management.gemspec +1 -1
- data/lib/cpee-model-management/implementation.rb +118 -56
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7bb70d01ebeeb6576722a378ec65514aa3118432737caf27d979c54ac3f4d73e
|
4
|
+
data.tar.gz: a69e9dc695583d226724283e2364c03a51978d488c8f718cb088708ec29468e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00aa163e4d9be3bc7e55d37116e33c4e99f47e3d8dad2a570d24648993c1a5016f79385c5fdbdf3cbd62783023441a93d073f3be40ebef2da75bdbd058b43917
|
7
|
+
data.tar.gz: 8ae2de3be4e438df6d5e0f99223d25bab844fc2663b79c42f465bada4bd9916eec111258eed21a2fda6e6c61db19d3b742f9087cb67cffcc230bb4d7c2073a45
|
@@ -22,72 +22,134 @@ require 'riddl/server'
|
|
22
22
|
require 'riddl/client'
|
23
23
|
require 'riddl/protocols/utils'
|
24
24
|
require 'fileutils'
|
25
|
+
require 'pathname'
|
25
26
|
|
26
27
|
module CPEE
|
27
28
|
module ModelManagement
|
28
29
|
|
29
30
|
SERVER = File.expand_path(File.join(__dir__,'moma.xml'))
|
30
31
|
|
32
|
+
def self::git_mv(models,old,new)
|
33
|
+
cdir = Dir.pwd
|
34
|
+
Dir.chdir(File.join(models,File.dirname(old)))
|
35
|
+
p1 = Pathname.new(File.dirname(old))
|
36
|
+
p2 = Pathname.new(File.dirname(new))
|
37
|
+
old = File.basename(old)
|
38
|
+
new = File.join(p1.relative_path_from(p1).to_s,File.basename(new))
|
39
|
+
`git mv "#{old}" "#{new}" 2>/dev/null`
|
40
|
+
`git rm -rf "#{old + '.active'}" "#{new + '.active'}" 2>/dev/null`
|
41
|
+
`git rm -rf "#{old + '.active-uuid'}" "#{new + '.active-uuid'}" 2>/dev/null`
|
42
|
+
`git mv "#{old + '.author'}" "#{new + '.author'}" 2>/dev/null`
|
43
|
+
`git mv "#{old + '.creator'}" "#{new + '.creator'}" 2>/dev/null`
|
44
|
+
`git mv "#{old + '.stage'}" "#{new + '.stage'}" 2>/dev/null`
|
45
|
+
Dir.chdir(cdir)
|
46
|
+
end
|
47
|
+
def self::git_rm(models,new)
|
48
|
+
cdir = Dir.pwd
|
49
|
+
Dir.chdir(File.join(models,File.dirname(new)))
|
50
|
+
new = File.basename(new)
|
51
|
+
`git rm -rf "#{new}" 2>/dev/null`
|
52
|
+
FileUtils.rm_rf(new)
|
53
|
+
`git rm -rf "#{new}.active" 2>/dev/null`
|
54
|
+
`git rm -rf "#{new}.active-uuid" 2>/dev/null`
|
55
|
+
`git rm -rf "#{new}.author" 2>/dev/null`
|
56
|
+
`git rm -rf "#{new}.creator" 2>/dev/null`
|
57
|
+
`git rm -rf "#{new}.stage" 2>/dev/null`
|
58
|
+
Dir.chdir(cdir)
|
59
|
+
end
|
60
|
+
def self::git_shift(models,new)
|
61
|
+
cdir = Dir.pwd
|
62
|
+
Dir.chdir(File.join(models,File.dirname(new)))
|
63
|
+
new = File.basename(new)
|
64
|
+
`git rm -rf "#{new}.active" 2>/dev/null`
|
65
|
+
`git rm -rf "#{new}.active-uuid" 2>/dev/null`
|
66
|
+
Dir.chdir(cdir)
|
67
|
+
end
|
68
|
+
def self::git_commit(models,new,author)
|
69
|
+
Process.fork do
|
70
|
+
exec 'ruby', File.join(__dir__,'commit.rb'), File.realpath(models), new, author
|
71
|
+
end
|
72
|
+
end
|
73
|
+
def self::fs_mv(models,old,new)
|
74
|
+
fname = File.join(models,old)
|
75
|
+
fnname = File.join(models,new)
|
76
|
+
FileUtils.mv(fname,fnname)
|
77
|
+
File.delete(fname + '.active',fnname + '.active') rescue nil
|
78
|
+
File.delete(fname + '.active-uuid',fnname + '.active-uuid') rescue nil
|
79
|
+
FileUtils.mv(fname + '.author',fnname + '.author') rescue nil
|
80
|
+
FileUtils.mv(fname + '.creator',fnname + '.creator') rescue nil
|
81
|
+
FileUtils.mv(fname + '.stage',fnname + '.stage') rescue nil
|
82
|
+
end
|
83
|
+
def self::fs_cp(models,old,new)
|
84
|
+
fname = File.join(models,old)
|
85
|
+
fnname = File.join(models,new)
|
86
|
+
FileUtils.cp(fname,fnname)
|
87
|
+
File.delete(fname + '.active',fnname + '.active') rescue nil
|
88
|
+
File.delete(fname + '.active-uuid',fnname + '.active-uuid') rescue nil
|
89
|
+
FileUtils.cp(fname + '.author',fnname + '.author') rescue nil
|
90
|
+
FileUtils.cp(fname + '.creator',fnname + '.creator') rescue nil
|
91
|
+
FileUtils.cp(fname + '.stage',fnname + '.stage') rescue nil
|
92
|
+
end
|
93
|
+
def self::fs_rm(models,new)
|
94
|
+
fname = File.join(models,new)
|
95
|
+
FileUtils.rm_rf(fname)
|
96
|
+
File.delete(fname + '.active') rescue nil
|
97
|
+
File.delete(fname + '.active-uuid') rescue nil
|
98
|
+
File.delete(fname + '.author') rescue nil
|
99
|
+
File.delete(fname + '.creator') rescue nil
|
100
|
+
File.delete(fname + '.stage') rescue nil
|
101
|
+
end
|
102
|
+
def self::fs_shift(models,new)
|
103
|
+
fname = File.join(models,new)
|
104
|
+
File.delete(fname + '.active') rescue nil
|
105
|
+
File.delete(fname + '.active-uuid') rescue nil
|
106
|
+
Dir.chdir(cdir)
|
107
|
+
end
|
108
|
+
|
109
|
+
def self::git_dir(models,file)
|
110
|
+
return nil if file.nil?
|
111
|
+
cdir = Dir.pwd
|
112
|
+
tdir = File.dirname(file)
|
113
|
+
Dir.chdir(File.join(models,tdir))
|
114
|
+
res = `git rev-parse --absolute-git-dir 2>/dev/null`
|
115
|
+
Dir.chdir(cdir)
|
116
|
+
res == '' ? nil : res
|
117
|
+
end
|
118
|
+
|
31
119
|
def self::op(author,op,models,new,old=nil) #{{{
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
`git rm -rf "#{fname}.active-uuid" 2>/dev/null`
|
120
|
+
git_ndir = CPEE::ModelManagement::git_dir(models,new)
|
121
|
+
git_odir = CPEE::ModelManagement::git_dir(models,old)
|
122
|
+
|
123
|
+
if op == 'rm' && !git_ndir.nil?
|
124
|
+
git_rm models, new
|
125
|
+
git_commit models, new, author
|
126
|
+
elsif op == 'shift' && !git_ndir.nil?
|
127
|
+
git_shift models, new
|
128
|
+
git_commit models, new, author
|
129
|
+
elsif op == 'mv' && (!git_ndir.nil? || !git_odir.nil?)
|
130
|
+
if git_ndir == git_odir
|
131
|
+
git_mv models, old, new
|
132
|
+
git_commit models, new, author
|
133
|
+
elsif git_ndir != git_odir && !git_ndir.nil? && !git_odir.nil?
|
134
|
+
fs_cp models, old, new
|
135
|
+
git_rm models, old
|
136
|
+
git_commit models, old, author
|
137
|
+
git_commit models, new, author
|
138
|
+
elsif git_ndir != git_odir && git_ndir.nil?
|
139
|
+
fs_cp models, old, new
|
140
|
+
git_rm models, old
|
141
|
+
git_commit models, old, author
|
142
|
+
elsif git_ndir != git_odir && git_odir.nil?
|
143
|
+
fs_mv models, old, new
|
144
|
+
git_commit models, new, author
|
58
145
|
end
|
59
|
-
|
60
|
-
|
61
|
-
`git add "#{fname}.active" 2>/dev/null`
|
62
|
-
`git add "#{fname}.active-uuid" 2>/dev/null`
|
63
|
-
`git add "#{fname}.author" 2>/dev/null`
|
64
|
-
`git add "#{fname}.creator" 2>/dev/null`
|
65
|
-
`git add "#{fname}.stage" 2>/dev/null`
|
66
|
-
`git commit -m "#{author.gsub(/"/,"'")}"`
|
67
|
-
Dir.chdir(cdir)
|
146
|
+
elsif !git_ndir.nil?
|
147
|
+
git_commit models, new, author
|
68
148
|
else
|
69
149
|
case op
|
70
|
-
when 'mv'
|
71
|
-
|
72
|
-
|
73
|
-
FileUtils.mv(fname,fnname)
|
74
|
-
File.delete(fname + '.active',fnname + '.active') rescue nil
|
75
|
-
File.delete(fname + '.active-uuid',fnname + '.active-uuid') rescue nil
|
76
|
-
FileUtils.mv(fname + '.author',fnname + '.author') rescue nil
|
77
|
-
FileUtils.mv(fname + '.creator',fnname + '.creator') rescue nil
|
78
|
-
FileUtils.mv(fname + '.stage',fnname + '.stage') rescue nil
|
79
|
-
when 'rm'
|
80
|
-
fname = File.join(models,new)
|
81
|
-
FileUtils.rm_rf(fname)
|
82
|
-
File.delete(fname + '.active') rescue nil
|
83
|
-
File.delete(fname + '.active-uuid') rescue nil
|
84
|
-
File.delete(fname + '.author') rescue nil
|
85
|
-
File.delete(fname + '.creator') rescue nil
|
86
|
-
File.delete(fname + '.stage') rescue nil
|
87
|
-
when 'shift'
|
88
|
-
fname = File.join(models,new)
|
89
|
-
File.delete(fname + '.active') rescue nil
|
90
|
-
File.delete(fname + '.active-uuid') rescue nil
|
150
|
+
when 'mv'; fs_mv(models,old,new)
|
151
|
+
when 'rm'; fs_rm(models,new)
|
152
|
+
when 'shift'; fs_shift(models,new)
|
91
153
|
end
|
92
154
|
end
|
93
155
|
end #}}}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cpee-model-management
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
8
8
|
autorequire:
|
9
9
|
bindir: tools
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: riddl
|