ree 1.0.20 → 1.0.22
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/Gemfile.lock +1 -1
- data/lib/ree/cli/delete_object_schema.rb +10 -0
- data/lib/ree/cli/{index_file.rb → indexing/index_file.rb} +0 -0
- data/lib/ree/cli/{index_package.rb → indexing/index_package.rb} +16 -3
- data/lib/ree/cli/{index_project.rb → indexing/index_project.rb} +68 -58
- data/lib/ree/cli.rb +3 -3
- data/lib/ree/core/package.rb +10 -0
- data/lib/ree/core/path_helper.rb +16 -0
- data/lib/ree/dsl/build_package_dsl.rb +0 -2
- data/lib/ree/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 972811cf5375f041b94d6b27312ec7abf79301c5d3bf84e28e2bd386250ff069
|
4
|
+
data.tar.gz: 5da92138c93885000b6dad4b0f6a380ef1ab3edec2967b1a814fac8a9419128c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3e656e9eb4edfde775740363105ec9fb08ecd53ab0d1dcae016c1d3d29580601a4f41b3d0474932996edb1c6807c971950babf2397df753db9883227897c698
|
7
|
+
data.tar.gz: 126671be60919618cedc2381cf5aaff4b3a4fb4b65c2d1e50a8821c5394612cdf93b845df4ac5df2d371521ed3b2e7334b8280108d2ab42d5d1eda3274e2b7d6
|
data/Gemfile.lock
CHANGED
@@ -22,6 +22,16 @@ module Ree
|
|
22
22
|
if File.exist?(abs_schema_path)
|
23
23
|
FileUtils.rm(abs_schema_path)
|
24
24
|
|
25
|
+
facade = Ree.container.packages_facade
|
26
|
+
package_name = Ree::PathHelper.package_name_from_dir(File.dirname(object_path))
|
27
|
+
if package_name
|
28
|
+
package_name = package_name.to_sym
|
29
|
+
facade.load_package_entry(package_name)
|
30
|
+
package = facade.get_package(package_name)
|
31
|
+
package.remove_object(object_name)
|
32
|
+
facade.dump_package_schema(package_name)
|
33
|
+
end
|
34
|
+
|
25
35
|
puts(" #{schema_path}: is deleted") if !silence
|
26
36
|
end
|
27
37
|
|
File without changes
|
@@ -14,16 +14,25 @@ module Ree
|
|
14
14
|
|
15
15
|
facade = Ree.container.packages_facade
|
16
16
|
|
17
|
+
hsh = {}
|
18
|
+
hsh[:package_schema] = {}
|
19
|
+
hsh[:classes] = {}
|
20
|
+
hsh[:objects] = {}
|
21
|
+
|
17
22
|
package_name = package_name.to_sym
|
23
|
+
facade.load_entire_package(package_name)
|
18
24
|
package = facade.get_loaded_package(package_name)
|
19
|
-
package_hsh =
|
25
|
+
package_hsh = index_package_entry(package)
|
26
|
+
|
27
|
+
hsh[:package_schema] = package_hsh
|
28
|
+
hsh = index_package_files(package, dir, hsh)
|
20
29
|
|
21
|
-
JSON.pretty_generate(
|
30
|
+
JSON.pretty_generate(hsh)
|
22
31
|
end
|
23
32
|
|
24
33
|
private
|
25
34
|
|
26
|
-
def
|
35
|
+
def index_package_entry(package)
|
27
36
|
package_hsh = {}
|
28
37
|
package_hsh[:name] = package.name
|
29
38
|
package_hsh[:schema_rpath] = package.schema_rpath
|
@@ -110,6 +119,10 @@ module Ree
|
|
110
119
|
}
|
111
120
|
]
|
112
121
|
end
|
122
|
+
|
123
|
+
def index_package_files(package, dir, index_hash)
|
124
|
+
Ree::CLI::IndexProject.send(:index_package_files, package, dir, index_hash)
|
125
|
+
end
|
113
126
|
end
|
114
127
|
end
|
115
128
|
end
|
@@ -10,16 +10,15 @@ module Ree
|
|
10
10
|
|
11
11
|
Ree.init(dir)
|
12
12
|
|
13
|
-
|
13
|
+
index_hash = {}
|
14
14
|
# completion/etc data
|
15
|
-
|
16
|
-
|
15
|
+
index_hash[:classes] = {}
|
16
|
+
index_hash[:objects] = {}
|
17
17
|
|
18
18
|
# schema data
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
@index_hash[:packages_schema][:gem_packages] = []
|
19
|
+
index_hash[:packages_schema] = {}
|
20
|
+
index_hash[:packages_schema][:packages] = []
|
21
|
+
index_hash[:packages_schema][:gem_packages] = []
|
23
22
|
|
24
23
|
facade = Ree.container.packages_facade
|
25
24
|
|
@@ -48,7 +47,7 @@ module Ree
|
|
48
47
|
}
|
49
48
|
}
|
50
49
|
|
51
|
-
|
50
|
+
index_hash[:packages_schema][:gem_packages] << gem_package_hsh
|
52
51
|
|
53
52
|
next
|
54
53
|
end
|
@@ -57,61 +56,76 @@ module Ree
|
|
57
56
|
|
58
57
|
facade.load_entire_package(package.name)
|
59
58
|
|
60
|
-
package_hsh = Ree::CLI::IndexPackage.send(:
|
59
|
+
package_hsh = Ree::CLI::IndexPackage.send(:index_package_entry, package)
|
61
60
|
|
62
|
-
|
61
|
+
index_hash[:packages_schema][:packages] << package_hsh
|
63
62
|
|
64
|
-
|
63
|
+
index_hash = index_package_files(package, dir, index_hash)
|
64
|
+
end
|
65
65
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
)
|
70
|
-
]
|
66
|
+
if facade.get_package(:ree_errors, false)
|
67
|
+
index_hash = index_exceptions(facade.get_package(:ree_errors), index_hash)
|
68
|
+
end
|
71
69
|
|
72
|
-
|
73
|
-
|
74
|
-
const_string_from_file_name = Ree::StringUtils.camelize(file_name.split('/')[-1].split('.rb')[0])
|
75
|
-
const_string_with_module = "#{package.module}::#{const_string_from_file_name}"
|
76
|
-
klass = Object.const_get(const_string_with_module)
|
70
|
+
JSON.pretty_generate(index_hash)
|
71
|
+
end
|
77
72
|
|
78
|
-
|
79
|
-
index_enum(klass, file_name, package.name, dir, const_string_from_file_name)
|
73
|
+
private
|
80
74
|
|
81
|
-
|
82
|
-
|
75
|
+
def index_package_files(package, dir, index_hash)
|
76
|
+
objects_class_names = package.objects.map(&:class_name)
|
83
77
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
78
|
+
files = Dir[
|
79
|
+
File.join(
|
80
|
+
Ree::PathHelper.abs_package_module_dir(package), '**/*.rb'
|
81
|
+
)
|
82
|
+
]
|
88
83
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
84
|
+
files.each do |file_name|
|
85
|
+
begin
|
86
|
+
const_string_from_file_name = Ree::StringUtils.camelize(file_name.split('/')[-1].split('.rb')[0])
|
87
|
+
const_string_with_module = "#{package.module}::#{const_string_from_file_name}"
|
88
|
+
klass = Object.const_get(const_string_with_module)
|
93
89
|
|
94
|
-
|
95
|
-
|
90
|
+
if klass.include?(ReeEnum::DSL)
|
91
|
+
hsh = index_enum(klass, file_name, package.name, dir, const_string_from_file_name)
|
92
|
+
hash_key = const_string_from_file_name
|
93
|
+
index_hash[:classes][hash_key] ||= []
|
94
|
+
index_hash[:classes][hash_key] << hsh
|
96
95
|
|
97
|
-
next
|
98
|
-
end
|
99
|
-
rescue NameError
|
100
96
|
next
|
101
97
|
end
|
102
|
-
end
|
103
|
-
end
|
104
98
|
|
105
|
-
|
106
|
-
|
99
|
+
if klass.include?(ReeDao::DSL)
|
100
|
+
hsh = index_dao(klass, file_name, package.name, dir, const_string_from_file_name)
|
101
|
+
obj_name_key = Ree::StringUtils.underscore(const_string_from_file_name)
|
102
|
+
index_hash[:objects][obj_name_key] ||= []
|
103
|
+
index_hash[:objects][obj_name_key] << hsh
|
104
|
+
|
105
|
+
next
|
106
|
+
end
|
107
|
+
|
108
|
+
if klass.include?(ReeMapper::DSL)
|
109
|
+
# TODO
|
110
|
+
next
|
111
|
+
end
|
112
|
+
|
113
|
+
if !objects_class_names.include?(const_string_with_module)
|
114
|
+
hsh = index_class(klass, file_name, package.name, dir, const_string_from_file_name)
|
115
|
+
hash_key = const_string_from_file_name
|
116
|
+
index_hash[:classes][hash_key] ||= []
|
117
|
+
index_hash[:classes][hash_key] << hsh
|
118
|
+
|
119
|
+
next
|
120
|
+
end
|
121
|
+
rescue NameError
|
122
|
+
next
|
123
|
+
end
|
107
124
|
end
|
108
|
-
|
109
125
|
|
110
|
-
|
126
|
+
index_hash
|
111
127
|
end
|
112
128
|
|
113
|
-
private
|
114
|
-
|
115
129
|
def index_class(klass, file_name, package_name, root_dir, hash_key)
|
116
130
|
all_methods = klass.public_instance_methods(false)
|
117
131
|
orig_methods = all_methods.grep(/original/)
|
@@ -127,14 +141,12 @@ module Ree
|
|
127
141
|
}
|
128
142
|
|
129
143
|
rpath_from_root_file_path = Pathname.new(file_name).relative_path_from(Pathname.new(root_dir)).to_s
|
130
|
-
|
144
|
+
|
145
|
+
{
|
131
146
|
path: rpath_from_root_file_path,
|
132
147
|
package: package_name,
|
133
148
|
methods: methods
|
134
149
|
}
|
135
|
-
|
136
|
-
@index_hash[:classes][hash_key] ||= []
|
137
|
-
@index_hash[:classes][hash_key] << hsh
|
138
150
|
end
|
139
151
|
|
140
152
|
def index_enum(klass, file_name, package_name, root_dir, hash_key)
|
@@ -152,20 +164,16 @@ module Ree
|
|
152
164
|
}
|
153
165
|
}
|
154
166
|
|
155
|
-
obj_name_key = Ree::StringUtils.underscore(hash_key)
|
156
167
|
rpath_from_root_file_path = Pathname.new(file_name).relative_path_from(Pathname.new(root_dir)).to_s
|
157
168
|
|
158
|
-
|
169
|
+
{
|
159
170
|
path: rpath_from_root_file_path,
|
160
171
|
package: package_name,
|
161
172
|
methods: filters
|
162
173
|
}
|
163
|
-
|
164
|
-
@index_hash[:objects][obj_name_key] ||= []
|
165
|
-
@index_hash[:objects][obj_name_key] << hsh
|
166
174
|
end
|
167
175
|
|
168
|
-
def index_exceptions(errors_package)
|
176
|
+
def index_exceptions(errors_package, index_hash)
|
169
177
|
errors_package.objects.each do |obj|
|
170
178
|
const_name = obj.class_name.split("::")[-1]
|
171
179
|
file_name = File.join(
|
@@ -179,9 +187,11 @@ module Ree
|
|
179
187
|
methods: []
|
180
188
|
}
|
181
189
|
|
182
|
-
|
183
|
-
|
190
|
+
index_hash[:classes][const_name] ||= []
|
191
|
+
index_hash[:classes][const_name] << hsh
|
184
192
|
end
|
193
|
+
|
194
|
+
index_hash
|
185
195
|
end
|
186
196
|
end
|
187
197
|
end
|
data/lib/ree/cli.rb
CHANGED
@@ -9,9 +9,9 @@ module Ree
|
|
9
9
|
autoload :DeleteObjectSchema, 'ree/cli/delete_object_schema'
|
10
10
|
autoload :GeneratePackage, 'ree/cli/generate_package'
|
11
11
|
autoload :GenerateTemplate, 'ree/cli/generate_template'
|
12
|
-
autoload :IndexProject, 'ree/cli/index_project'
|
13
|
-
autoload :IndexFile, 'ree/cli/index_file'
|
14
|
-
autoload :IndexPackage, 'ree/cli/index_package'
|
12
|
+
autoload :IndexProject, 'ree/cli/indexing/index_project'
|
13
|
+
autoload :IndexFile, 'ree/cli/indexing/index_file'
|
14
|
+
autoload :IndexPackage, 'ree/cli/indexing/index_package'
|
15
15
|
autoload :SpecRunner, 'ree/cli/spec_runner'
|
16
16
|
end
|
17
17
|
end
|
data/lib/ree/core/package.rb
CHANGED
@@ -165,6 +165,16 @@ class Ree::Package
|
|
165
165
|
@objects_store[object.name] = object
|
166
166
|
end
|
167
167
|
|
168
|
+
# @param [Symbol] name
|
169
|
+
# @return [nil]
|
170
|
+
def remove_object(name)
|
171
|
+
if @objects_store[name]
|
172
|
+
@objects_store.delete(name)
|
173
|
+
end
|
174
|
+
|
175
|
+
nil
|
176
|
+
end
|
177
|
+
|
168
178
|
# @param [Symbol] name
|
169
179
|
# @return [Nilor[Ree::Object]]
|
170
180
|
def get_object(name)
|
data/lib/ree/core/path_helper.rb
CHANGED
@@ -52,6 +52,22 @@ class Ree::PathHelper
|
|
52
52
|
File.join(dir, "#{Ree::PACKAGE}/#{name}.rb")
|
53
53
|
end
|
54
54
|
|
55
|
+
# @param [String] directory inside package
|
56
|
+
# @return [String] name of package
|
57
|
+
def package_name_from_dir(dir)
|
58
|
+
package_schema = File.join(dir, Ree::PACKAGE_SCHEMA_FILE)
|
59
|
+
|
60
|
+
if File.exist?(package_schema)
|
61
|
+
return package_schema.split('/')[-2]
|
62
|
+
end
|
63
|
+
|
64
|
+
if dir == '/'
|
65
|
+
return nil
|
66
|
+
end
|
67
|
+
|
68
|
+
package_name_from_dir(File.expand_path('..', dir))
|
69
|
+
end
|
70
|
+
|
55
71
|
# @param [Ree::Package] package Package schema
|
56
72
|
# @return [String] Absolute package entry path (ex. /data/project/bc/accounts/package/accounts.rb)
|
57
73
|
def abs_package_entry_path(package)
|
@@ -47,8 +47,6 @@ class Ree::BuildPackageDsl
|
|
47
47
|
raise_error("Dependent package :#{depends_on} was not found in #{Ree::PACKAGES_SCHEMA_FILE}. Run `ree gen.packages_json` to update schema or fix package name")
|
48
48
|
end
|
49
49
|
|
50
|
-
@packages_facade.load_package_entry(dep_package.name)
|
51
|
-
|
52
50
|
package_dep
|
53
51
|
end
|
54
52
|
|
data/lib/ree/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Gatiyatov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -69,9 +69,9 @@ files:
|
|
69
69
|
- lib/ree/cli/generate_package_schema.rb
|
70
70
|
- lib/ree/cli/generate_packages_schema.rb
|
71
71
|
- lib/ree/cli/generate_template.rb
|
72
|
-
- lib/ree/cli/index_file.rb
|
73
|
-
- lib/ree/cli/index_package.rb
|
74
|
-
- lib/ree/cli/index_project.rb
|
72
|
+
- lib/ree/cli/indexing/index_file.rb
|
73
|
+
- lib/ree/cli/indexing/index_package.rb
|
74
|
+
- lib/ree/cli/indexing/index_project.rb
|
75
75
|
- lib/ree/cli/init.rb
|
76
76
|
- lib/ree/cli/spec_runner.rb
|
77
77
|
- lib/ree/container.rb
|