erp_tech_svcs 3.1.5 → 3.1.7
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.
- data/app/models/file_asset.rb +1 -1
- data/lib/erp_tech_svcs/extensions/active_record/protected_with_capabilities.rb +1 -1
- data/lib/erp_tech_svcs/file_support/railties/s3_resolver.rb +3 -21
- data/lib/erp_tech_svcs/file_support/s3_manager.rb +74 -109
- data/lib/erp_tech_svcs/version.rb +1 -1
- metadata +5 -50
- data/spec/dummy/db/data_migrations/20130220143304_add_usd_currency.erp_base_erp_svcs.rb +0 -12
- data/spec/dummy/db/data_migrations/20130220143305_add_iso_codes.erp_base_erp_svcs.rb +0 -19
- data/spec/dummy/db/data_migrations/20130220143306_setup_compass_ae_instance.erp_base_erp_svcs.rb +0 -21
- data/spec/dummy/db/data_migrations/20130220143307_upgrade_compass_ae_instances_data.erp_base_erp_svcs.rb +0 -19
- data/spec/dummy/db/data_migrations/20130220143308_create_capability_scope_types.erp_tech_svcs.rb +0 -15
- data/spec/dummy/db/data_migrations/20130220143309_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +0 -16
- data/spec/dummy/db/data_migrations/20130220143310_setup_audit_log_types.erp_tech_svcs.rb +0 -22
- data/spec/dummy/db/data_migrations/20130220143311_create_group_relationship_and_role_types.erp_tech_svcs.rb +0 -20
- data/spec/dummy/db/data_migrations/20130220143312_note_capabilities.erp_tech_svcs.rb +0 -24
- data/spec/dummy/db/data_migrations/20130422151256_add_guid_to_instances.erp_base_erp_svcs.rb +0 -10
- data/spec/dummy/db/migrate/20130220143259_base_erp_services.erp_base_erp_svcs.rb +0 -486
- data/spec/dummy/db/migrate/20130220143260_add_txn_status.erp_base_erp_svcs.rb +0 -37
- data/spec/dummy/db/migrate/20130220143261_upgrade_compass_ae_instances.erp_base_erp_svcs.rb +0 -34
- data/spec/dummy/db/migrate/20130220143262_base_tech_services.erp_tech_svcs.rb +0 -271
- data/spec/dummy/db/migrate/20130220143263_create_has_attribute_tables.erp_tech_svcs.rb +0 -39
- data/spec/dummy/db/migrate/20130220143264_create_groups.erp_tech_svcs.rb +0 -19
- data/spec/dummy/db/migrate/20130220143265_upgrade_security.erp_tech_svcs.rb +0 -54
- data/spec/dummy/db/migrate/20130220143266_upgrade_security2.erp_tech_svcs.rb +0 -275
- data/spec/dummy/db/migrate/20130422151250_add_uuid_compass_ae_instance.erp_base_erp_svcs.rb +0 -17
- data/spec/dummy/db/migrate/20130422151251_add_long_lat_to_address.erp_base_erp_svcs.rb +0 -16
- data/spec/dummy/db/migrate/20130422151252_add_queue_to_delayed_jobs.erp_tech_svcs.rb +0 -14
- data/spec/dummy/db/schema.rb +0 -665
- data/spec/dummy/db/spec.sqlite3 +0 -0
data/app/models/file_asset.rb
CHANGED
@@ -75,7 +75,7 @@ module ErpTechSvcs
|
|
75
75
|
join_type = (self.protect_all_instances ? 'JOIN' : 'LEFT JOIN')
|
76
76
|
query = joins("#{join_type} capabilities AS c ON c.capability_resource_id = #{self.table_name}.id AND c.capability_resource_type = '#{self.name}'").
|
77
77
|
group(columns.collect{|c| "#{self.table_name}.#{c.name}" })
|
78
|
-
query = (deny_count == 0 ? query.where("c.id
|
78
|
+
query = (deny_count == 0 ? query.where("c.id NOT IN (SELECT id FROM capabilities) OR c.id = c.id") : query.where("c.id NOT IN (SELECT id FROM capabilities) OR c.id NOT IN (#{denied_capabilities.to_sql})"))
|
79
79
|
query
|
80
80
|
}
|
81
81
|
|
@@ -64,33 +64,15 @@ module ActionView
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def mtime(p, file_support)
|
67
|
-
|
68
|
-
|
67
|
+
p = p.sub(%r{^/}, '')
|
68
|
+
ErpTechSvcs::FileSupport::S3Manager.new.bucket.objects[p].last_modified
|
69
69
|
end
|
70
70
|
|
71
71
|
protected
|
72
|
-
|
73
|
-
def cache_key(path)
|
74
|
-
Thread.current[:tenant_id].nil? ? path : "tenant_#{Thread.current[:tenant_id]}_#{path}"
|
75
|
-
end
|
76
|
-
|
77
|
-
def cache_template(path, file_support)
|
78
|
-
contents, message = file_support.get_contents(path)
|
79
|
-
path = path.sub(%r{^/},'')
|
80
|
-
#Rails.logger.info "creating cache with key: #{path}"
|
81
|
-
Rails.cache.write(cache_key(path), contents, :expires_in => ErpTechSvcs::Config.s3_cache_expires_in_minutes.minutes)
|
82
|
-
return contents, message
|
83
|
-
end
|
84
72
|
|
85
73
|
def build_template(p, virtual_path, formats, file_support, locals=nil)
|
86
74
|
handler, format = extract_handler_and_format(p, formats)
|
87
|
-
contents =
|
88
|
-
if contents.nil?
|
89
|
-
contents, message = cache_template(p, file_support)
|
90
|
-
else
|
91
|
-
#Rails.logger.info "!!!!! USING CACHED TEMPLATE: #{contents.inspect}"
|
92
|
-
contents = contents.dup
|
93
|
-
end
|
75
|
+
contents, message = file_support.get_contents(p)
|
94
76
|
|
95
77
|
Template.new(contents, p, handler, :virtual_path => virtual_path, :format => format, :updated_at => mtime(p, file_support), :locals => locals)
|
96
78
|
end
|
@@ -5,69 +5,25 @@ module ErpTechSvcs
|
|
5
5
|
module FileSupport
|
6
6
|
class S3Manager < Manager
|
7
7
|
class << self
|
8
|
-
cattr_accessor :
|
8
|
+
cattr_accessor :s3_connection, :s3_bucket, :tree
|
9
9
|
|
10
10
|
def setup_connection
|
11
|
-
@@configuration = YAML::load_file(File.join(Rails.root,'config','s3.yml'))[Rails.env]
|
12
|
-
|
11
|
+
@@configuration = YAML::load_file(File.join(Rails.root, 'config', 's3.yml'))[Rails.env]
|
12
|
+
|
13
13
|
# S3 debug logging
|
14
14
|
# AWS.config(
|
15
|
-
#
|
16
|
-
#
|
15
|
+
# :logger => Rails.logger,
|
16
|
+
# :log_level => :info
|
17
17
|
# )
|
18
18
|
|
19
19
|
@@s3_connection = AWS::S3.new(
|
20
|
-
|
21
|
-
|
20
|
+
:access_key_id => @@configuration['access_key_id'],
|
21
|
+
:secret_access_key => @@configuration['secret_access_key']
|
22
22
|
)
|
23
23
|
|
24
24
|
@@s3_bucket = @@s3_connection.buckets[@@configuration['bucket'].to_sym]
|
25
25
|
end
|
26
26
|
|
27
|
-
def reload
|
28
|
-
!@@s3_connection.nil? ? build_node_tree(true) : setup_connection
|
29
|
-
end
|
30
|
-
|
31
|
-
def cache_key
|
32
|
-
Thread.current[:tenant_id].nil? ? 'node_tree' : "tenant_#{Thread.current[:tenant_id]}_node_tree"
|
33
|
-
end
|
34
|
-
|
35
|
-
def cache_node_tree(node_tree)
|
36
|
-
Rails.cache.write(cache_key, node_tree, :expires_in => ErpTechSvcs::Config.s3_cache_expires_in_minutes.minutes)
|
37
|
-
node_tree
|
38
|
-
end
|
39
|
-
|
40
|
-
def add_children(parent_hash, tree)
|
41
|
-
tree.children.each do |child|
|
42
|
-
child_hash = {
|
43
|
-
:last_modified => '',
|
44
|
-
#:last_modified => (child.leaf? ? @@s3_bucket.objects[child.key].last_modified : ''),
|
45
|
-
:text => (child.leaf? ? File.basename(child.key) : File.basename(child.prefix)),
|
46
|
-
:downloadPath => (child.leaf? ? '/'+File.dirname(child.key) : "/#{child.parent.prefix}".sub(%r{/$},'')),
|
47
|
-
:leaf => child.leaf?,
|
48
|
-
:id => (child.leaf? ? '/'+child.key : "/#{child.prefix}".sub(%r{/$},'')),
|
49
|
-
:children => []
|
50
|
-
}
|
51
|
-
child_hash = add_children(child_hash, child) unless child.leaf?
|
52
|
-
unless child_hash[:id].gsub(/\/$/,'') == parent_hash[:id].gsub(/\/$/,'') # resolves s3 issue where empty dir contains itself
|
53
|
-
parent_hash[:children] << child_hash unless child_hash[:downloadPath] == '/.'
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
parent_hash
|
58
|
-
end
|
59
|
-
|
60
|
-
def build_node_tree(reload=false)
|
61
|
-
node_tree = Rails.cache.read(cache_key)
|
62
|
-
if !reload and !node_tree.nil?
|
63
|
-
#Rails.logger.info "@@@@@@@@@@@@@@ USING CACHED node_tree: #{node_tree.inspect}"
|
64
|
-
return node_tree
|
65
|
-
end
|
66
|
-
|
67
|
-
tree_data = {:text => @@s3_bucket.name, :leaf => false, :id => '', :children => []}
|
68
|
-
tree_data = [add_children(tree_data, @@s3_bucket.as_tree)]
|
69
|
-
cache_node_tree(tree_data)
|
70
|
-
end
|
71
27
|
end
|
72
28
|
|
73
29
|
def buckets
|
@@ -86,39 +42,25 @@ module ErpTechSvcs
|
|
86
42
|
''
|
87
43
|
end
|
88
44
|
|
89
|
-
def cache_key
|
90
|
-
ErpTechSvcs::FileSupport::S3Manager.cache_key
|
91
|
-
end
|
92
|
-
|
93
|
-
def clear_cache(path)
|
94
|
-
path = path.sub(%r{^/},'')
|
95
|
-
#Rails.logger.info "deleting cache with key: #{path}"
|
96
|
-
Rails.cache.delete(path) # delete template from cache
|
97
|
-
Rails.cache.delete(cache_key) # delete node tree from cache
|
98
|
-
end
|
99
|
-
|
100
45
|
def update_file(path, content)
|
101
46
|
file = FileAsset.where(:name => ::File.basename(path)).where(:directory => ::File.dirname(path)).first
|
102
47
|
acl = (file.is_secured? ? :private : :public_read) unless file.nil?
|
103
|
-
options = (file.nil? ? {} : {:acl => acl, :content_type => file.content_type
|
104
|
-
path = path.sub(%r{^/},'')
|
48
|
+
options = (file.nil? ? {} : {:acl => acl, :content_type => file.content_type})
|
49
|
+
path = path.sub(%r{^/}, '')
|
105
50
|
bucket.objects[path].write(content, options)
|
106
|
-
clear_cache(path)
|
107
51
|
end
|
108
52
|
|
109
53
|
def create_file(path, name, content)
|
110
|
-
path = path.sub(%r{^/},'')
|
54
|
+
path = path.sub(%r{^/}, '')
|
111
55
|
full_filename = (path.blank? ? name : File.join(path, name))
|
112
|
-
bucket.objects[full_filename].write(content, {
|
113
|
-
clear_cache(path)
|
56
|
+
bucket.objects[full_filename].write(content, {:acl => :public_read})
|
114
57
|
end
|
115
58
|
|
116
59
|
def create_folder(path, name)
|
117
|
-
path = path.sub(%r{^/},'')
|
60
|
+
path = path.sub(%r{^/}, '')
|
118
61
|
full_filename = (path.blank? ? name : File.join(path, name))
|
119
62
|
folder = full_filename + "/"
|
120
|
-
bucket.objects[folder].write('', {
|
121
|
-
clear_cache(path)
|
63
|
+
bucket.objects[folder].write('', {:acl => :public_read})
|
122
64
|
end
|
123
65
|
|
124
66
|
def save_move(path, new_parent_path)
|
@@ -130,13 +72,12 @@ module ErpTechSvcs
|
|
130
72
|
acl = (file.is_secured? ? :private : :public_read) unless file.nil?
|
131
73
|
options = (file.nil? ? {} : {:acl => acl})
|
132
74
|
name = File.basename(path)
|
133
|
-
path = path.sub(%r{^/},'')
|
134
|
-
new_path = File.join(new_parent_path,name).sub(%r{^/},'')
|
75
|
+
path = path.sub(%r{^/}, '')
|
76
|
+
new_path = File.join(new_parent_path, name).sub(%r{^/}, '')
|
135
77
|
old_object = bucket.objects[path]
|
136
78
|
if new_object = old_object.move_to(new_path, options)
|
137
79
|
message = "#{name} was moved to #{new_path} successfully"
|
138
80
|
result = true
|
139
|
-
clear_cache(path)
|
140
81
|
else
|
141
82
|
message = "Error moving file #{path}"
|
142
83
|
end
|
@@ -156,18 +97,17 @@ module ErpTechSvcs
|
|
156
97
|
file = FileAsset.where(:name => ::File.basename(path)).where(:directory => ::File.dirname(path)).first
|
157
98
|
acl = (file.is_secured? ? :private : :public_read) unless file.nil?
|
158
99
|
options = (file.nil? ? {} : {:acl => acl})
|
159
|
-
path = path.sub(%r{^/},'')
|
160
|
-
new_path = new_path.sub(%r{^/},'')
|
100
|
+
path = path.sub(%r{^/}, '')
|
101
|
+
new_path = new_path.sub(%r{^/}, '')
|
161
102
|
# Rails.logger.info "renaming from #{path} to #{new_path}"
|
162
103
|
old_object = bucket.objects[path]
|
163
104
|
if new_object = old_object.move_to(new_path, options)
|
164
105
|
message = "#{old_name} was renamed to #{name} successfully"
|
165
106
|
result = true
|
166
|
-
clear_cache(path)
|
167
107
|
else
|
168
108
|
message = "Error renaming #{old_name}"
|
169
109
|
end
|
170
|
-
rescue AWS::S3::Errors::NoSuchKey=>ex
|
110
|
+
rescue AWS::S3::Errors::NoSuchKey => ex
|
171
111
|
message = FILE_FOLDER_DOES_NOT_EXIST
|
172
112
|
end
|
173
113
|
|
@@ -175,13 +115,13 @@ module ErpTechSvcs
|
|
175
115
|
end
|
176
116
|
|
177
117
|
def set_permissions(path, canned_acl=:public_read)
|
178
|
-
path = path.sub(%r{^/},'')
|
118
|
+
path = path.sub(%r{^/}, '')
|
179
119
|
bucket.objects[path].acl = canned_acl
|
180
120
|
end
|
181
121
|
|
182
122
|
def delete_file(path, options={})
|
183
|
-
is_directory =
|
184
|
-
path = path.sub(%r{^/},'')
|
123
|
+
is_directory = File.extname(path).blank?
|
124
|
+
path = path.sub(%r{^/}, '')
|
185
125
|
result = false
|
186
126
|
message = nil
|
187
127
|
begin
|
@@ -189,21 +129,20 @@ module ErpTechSvcs
|
|
189
129
|
bucket.objects.with_prefix(path).delete_all
|
190
130
|
message = "File was deleted successfully"
|
191
131
|
result = true
|
192
|
-
clear_cache(path)
|
193
132
|
else
|
194
133
|
message = FOLDER_IS_NOT_EMPTY
|
195
134
|
end
|
196
135
|
rescue Exception => e
|
197
|
-
|
198
|
-
|
199
|
-
end
|
136
|
+
result = false
|
137
|
+
message = e
|
138
|
+
end
|
200
139
|
|
201
|
-
return result, message, is_directory
|
140
|
+
return result, message, is_directory
|
202
141
|
end
|
203
142
|
|
204
143
|
def exists?(path)
|
205
144
|
begin
|
206
|
-
path = path.sub(%r{^/},'')
|
145
|
+
path = path.sub(%r{^/}, '')
|
207
146
|
return bucket.objects[path].exists?
|
208
147
|
rescue AWS::S3::Errors::NoSuchKey
|
209
148
|
return false
|
@@ -214,10 +153,10 @@ module ErpTechSvcs
|
|
214
153
|
contents = nil
|
215
154
|
message = nil
|
216
155
|
|
217
|
-
path = path.sub(%r{^/},'')
|
156
|
+
path = path.sub(%r{^/}, '')
|
218
157
|
begin
|
219
158
|
object = bucket.objects[path]
|
220
|
-
contents = object.read
|
159
|
+
contents = object.read
|
221
160
|
rescue AWS::S3::Errors::NoSuchKey => error
|
222
161
|
contents = ''
|
223
162
|
message = FILE_DOES_NOT_EXIST
|
@@ -227,36 +166,62 @@ module ErpTechSvcs
|
|
227
166
|
end
|
228
167
|
|
229
168
|
def build_tree(starting_path, options={})
|
230
|
-
starting_path = "/" + starting_path unless starting_path.first == "/"
|
231
169
|
node_tree = find_node(starting_path, options)
|
232
170
|
node_tree.nil? ? [] : node_tree
|
233
171
|
end
|
234
172
|
|
235
173
|
def find_node(path, options={})
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
174
|
+
#remove proceeding slash for s3
|
175
|
+
path.sub!(%r{^/}, '')
|
176
|
+
|
177
|
+
parent = {:text => path.split('/').pop, :leaf => false, :id => path, :children => []}
|
178
|
+
|
179
|
+
tree = bucket.as_tree(:prefix => path)
|
180
|
+
tree.children.each do |node|
|
181
|
+
if node.leaf?
|
182
|
+
#ignore current path that comes as leaf from s3
|
183
|
+
next if node.key == path + '/'
|
184
|
+
|
185
|
+
leaf_hash = {
|
186
|
+
:text => node.key.split('/').pop,
|
187
|
+
:downloadPath => "/#{node.key}",
|
188
|
+
:id => "/#{node.key}",
|
189
|
+
:leaf => true
|
190
|
+
}
|
191
|
+
|
192
|
+
if options[:file_asset_holder]
|
193
|
+
files = options[:file_asset_holder].files
|
194
|
+
|
195
|
+
parent_directories = leaf_hash[:id].split('/')
|
196
|
+
parent_directories.pop
|
197
|
+
parent_directory = parent_directories.join('/')
|
198
|
+
|
199
|
+
file = files.find { |file| file.directory == parent_directory and file.name == leaf_hash[:text] }
|
200
|
+
unless file.nil?
|
201
|
+
leaf_hash[:isSecured] = file.is_secured?
|
202
|
+
leaf_hash[:roles] = file.roles.collect { |r| r.internal_identifier }
|
203
|
+
leaf_hash[:iconCls] = 'icon-document_lock' if leaf_hash[:isSecured]
|
204
|
+
leaf_hash[:size] = file.data_file_size
|
205
|
+
leaf_hash[:width] = file.width
|
206
|
+
leaf_hash[:height] = file.height
|
207
|
+
leaf_hash[:url] = file.url
|
249
208
|
end
|
250
209
|
end
|
251
|
-
parent = nil unless parent[:id] == path
|
252
|
-
end
|
253
210
|
|
254
|
-
|
211
|
+
parent[:children] << leaf_hash
|
212
|
+
else
|
213
|
+
parent[:children] << {
|
214
|
+
:iconCls => "icon-content",
|
215
|
+
:text => node.prefix.split('/').pop,
|
216
|
+
:id => "/#{node.prefix}".chop,
|
217
|
+
:leaf => false
|
218
|
+
}
|
219
|
+
end
|
255
220
|
end
|
256
221
|
|
257
222
|
parent
|
258
223
|
end
|
259
224
|
|
260
|
-
end#S3Manager
|
261
|
-
end#FileSupport
|
262
|
-
end#ErpTechSvcs
|
225
|
+
end #S3Manager
|
226
|
+
end #FileSupport
|
227
|
+
end #ErpTechSvcs
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erp_tech_svcs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-08-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: erp_base_erp_svcs
|
@@ -258,29 +258,6 @@ files:
|
|
258
258
|
- spec/dummy/config/routes.rb
|
259
259
|
- spec/dummy/config/s3.yml
|
260
260
|
- spec/dummy/config.ru
|
261
|
-
- spec/dummy/db/data_migrations/20130220143304_add_usd_currency.erp_base_erp_svcs.rb
|
262
|
-
- spec/dummy/db/data_migrations/20130220143305_add_iso_codes.erp_base_erp_svcs.rb
|
263
|
-
- spec/dummy/db/data_migrations/20130220143306_setup_compass_ae_instance.erp_base_erp_svcs.rb
|
264
|
-
- spec/dummy/db/data_migrations/20130220143307_upgrade_compass_ae_instances_data.erp_base_erp_svcs.rb
|
265
|
-
- spec/dummy/db/data_migrations/20130220143308_create_capability_scope_types.erp_tech_svcs.rb
|
266
|
-
- spec/dummy/db/data_migrations/20130220143309_schedule_delete_expired_sessions_job.erp_tech_svcs.rb
|
267
|
-
- spec/dummy/db/data_migrations/20130220143310_setup_audit_log_types.erp_tech_svcs.rb
|
268
|
-
- spec/dummy/db/data_migrations/20130220143311_create_group_relationship_and_role_types.erp_tech_svcs.rb
|
269
|
-
- spec/dummy/db/data_migrations/20130220143312_note_capabilities.erp_tech_svcs.rb
|
270
|
-
- spec/dummy/db/data_migrations/20130422151256_add_guid_to_instances.erp_base_erp_svcs.rb
|
271
|
-
- spec/dummy/db/migrate/20130220143259_base_erp_services.erp_base_erp_svcs.rb
|
272
|
-
- spec/dummy/db/migrate/20130220143260_add_txn_status.erp_base_erp_svcs.rb
|
273
|
-
- spec/dummy/db/migrate/20130220143261_upgrade_compass_ae_instances.erp_base_erp_svcs.rb
|
274
|
-
- spec/dummy/db/migrate/20130220143262_base_tech_services.erp_tech_svcs.rb
|
275
|
-
- spec/dummy/db/migrate/20130220143263_create_has_attribute_tables.erp_tech_svcs.rb
|
276
|
-
- spec/dummy/db/migrate/20130220143264_create_groups.erp_tech_svcs.rb
|
277
|
-
- spec/dummy/db/migrate/20130220143265_upgrade_security.erp_tech_svcs.rb
|
278
|
-
- spec/dummy/db/migrate/20130220143266_upgrade_security2.erp_tech_svcs.rb
|
279
|
-
- spec/dummy/db/migrate/20130422151250_add_uuid_compass_ae_instance.erp_base_erp_svcs.rb
|
280
|
-
- spec/dummy/db/migrate/20130422151251_add_long_lat_to_address.erp_base_erp_svcs.rb
|
281
|
-
- spec/dummy/db/migrate/20130422151252_add_queue_to_delayed_jobs.erp_tech_svcs.rb
|
282
|
-
- spec/dummy/db/schema.rb
|
283
|
-
- spec/dummy/db/spec.sqlite3
|
284
261
|
- spec/dummy/move_test_tmp/file_asset_spec_text.txt
|
285
262
|
- spec/dummy/public/404.html
|
286
263
|
- spec/dummy/public/422.html
|
@@ -301,7 +278,8 @@ files:
|
|
301
278
|
- spec/models/user_spec.rb
|
302
279
|
- spec/spec_helper.rb
|
303
280
|
homepage: http://development.compassagile.com
|
304
|
-
licenses:
|
281
|
+
licenses:
|
282
|
+
- GPL-3
|
305
283
|
post_install_message:
|
306
284
|
rdoc_options: []
|
307
285
|
require_paths:
|
@@ -320,7 +298,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
320
298
|
version: '0'
|
321
299
|
requirements: []
|
322
300
|
rubyforge_project:
|
323
|
-
rubygems_version: 1.8.
|
301
|
+
rubygems_version: 1.8.25
|
324
302
|
signing_key:
|
325
303
|
specification_version: 3
|
326
304
|
summary: This engine is implemented with the premise that services like logging, tracing
|
@@ -348,29 +326,6 @@ test_files:
|
|
348
326
|
- spec/dummy/config/routes.rb
|
349
327
|
- spec/dummy/config/s3.yml
|
350
328
|
- spec/dummy/config.ru
|
351
|
-
- spec/dummy/db/data_migrations/20130220143304_add_usd_currency.erp_base_erp_svcs.rb
|
352
|
-
- spec/dummy/db/data_migrations/20130220143305_add_iso_codes.erp_base_erp_svcs.rb
|
353
|
-
- spec/dummy/db/data_migrations/20130220143306_setup_compass_ae_instance.erp_base_erp_svcs.rb
|
354
|
-
- spec/dummy/db/data_migrations/20130220143307_upgrade_compass_ae_instances_data.erp_base_erp_svcs.rb
|
355
|
-
- spec/dummy/db/data_migrations/20130220143308_create_capability_scope_types.erp_tech_svcs.rb
|
356
|
-
- spec/dummy/db/data_migrations/20130220143309_schedule_delete_expired_sessions_job.erp_tech_svcs.rb
|
357
|
-
- spec/dummy/db/data_migrations/20130220143310_setup_audit_log_types.erp_tech_svcs.rb
|
358
|
-
- spec/dummy/db/data_migrations/20130220143311_create_group_relationship_and_role_types.erp_tech_svcs.rb
|
359
|
-
- spec/dummy/db/data_migrations/20130220143312_note_capabilities.erp_tech_svcs.rb
|
360
|
-
- spec/dummy/db/data_migrations/20130422151256_add_guid_to_instances.erp_base_erp_svcs.rb
|
361
|
-
- spec/dummy/db/migrate/20130220143259_base_erp_services.erp_base_erp_svcs.rb
|
362
|
-
- spec/dummy/db/migrate/20130220143260_add_txn_status.erp_base_erp_svcs.rb
|
363
|
-
- spec/dummy/db/migrate/20130220143261_upgrade_compass_ae_instances.erp_base_erp_svcs.rb
|
364
|
-
- spec/dummy/db/migrate/20130220143262_base_tech_services.erp_tech_svcs.rb
|
365
|
-
- spec/dummy/db/migrate/20130220143263_create_has_attribute_tables.erp_tech_svcs.rb
|
366
|
-
- spec/dummy/db/migrate/20130220143264_create_groups.erp_tech_svcs.rb
|
367
|
-
- spec/dummy/db/migrate/20130220143265_upgrade_security.erp_tech_svcs.rb
|
368
|
-
- spec/dummy/db/migrate/20130220143266_upgrade_security2.erp_tech_svcs.rb
|
369
|
-
- spec/dummy/db/migrate/20130422151250_add_uuid_compass_ae_instance.erp_base_erp_svcs.rb
|
370
|
-
- spec/dummy/db/migrate/20130422151251_add_long_lat_to_address.erp_base_erp_svcs.rb
|
371
|
-
- spec/dummy/db/migrate/20130422151252_add_queue_to_delayed_jobs.erp_tech_svcs.rb
|
372
|
-
- spec/dummy/db/schema.rb
|
373
|
-
- spec/dummy/db/spec.sqlite3
|
374
329
|
- spec/dummy/move_test_tmp/file_asset_spec_text.txt
|
375
330
|
- spec/dummy/public/404.html
|
376
331
|
- spec/dummy/public/422.html
|