erp_tech_svcs 3.0.0

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.
Files changed (109) hide show
  1. data/GPL-3-LICENSE +674 -0
  2. data/README.rdoc +2 -0
  3. data/Rakefile +30 -0
  4. data/app/assets/javascripts/erp_tech_svcs/application.js +9 -0
  5. data/app/assets/stylesheets/erp_tech_svcs/application.css +7 -0
  6. data/app/controllers/erp_tech_svcs/session_controller.rb +19 -0
  7. data/app/controllers/erp_tech_svcs/user_controller.rb +40 -0
  8. data/app/helpers/erp_tech_svcs/application_helper.rb +4 -0
  9. data/app/mailers/user_mailer.rb +16 -0
  10. data/app/models/audit_log.rb +60 -0
  11. data/app/models/audit_log_item.rb +4 -0
  12. data/app/models/audit_log_item_type.rb +6 -0
  13. data/app/models/audit_log_type.rb +24 -0
  14. data/app/models/capability.rb +8 -0
  15. data/app/models/capability_type.rb +3 -0
  16. data/app/models/capable_model.rb +4 -0
  17. data/app/models/encryption_key.rb +9 -0
  18. data/app/models/extensions/contact_purpose.rb +3 -0
  19. data/app/models/extensions/contact_type.rb +3 -0
  20. data/app/models/extensions/note.rb +6 -0
  21. data/app/models/extensions/note_type.rb +3 -0
  22. data/app/models/extensions/party.rb +3 -0
  23. data/app/models/extensions/relationship_type.rb +3 -0
  24. data/app/models/extensions/role_type.rb +3 -0
  25. data/app/models/file_asset.rb +178 -0
  26. data/app/models/role.rb +17 -0
  27. data/app/models/secured_model.rb +13 -0
  28. data/app/models/user.rb +33 -0
  29. data/app/views/layouts/application.html.erb +14 -0
  30. data/app/views/layouts/erp_tech_svcs/application.html.erb +14 -0
  31. data/app/views/user_mailer/activation_needed_email.html.erb +14 -0
  32. data/app/views/user_mailer/reset_password_email.html.erb +14 -0
  33. data/config/initializers/erp_tech_svcs.rb +7 -0
  34. data/config/initializers/file_support.rb +1 -0
  35. data/config/initializers/pdfkit.rb +18 -0
  36. data/config/initializers/sorcery.rb +199 -0
  37. data/config/routes.rb +9 -0
  38. data/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.rb +15 -0
  39. data/db/data_migrations/20111111144706_setup_audit_log_types.rb +21 -0
  40. data/db/migrate/20080805000010_base_tech_services.rb +247 -0
  41. data/db/migrate/20111109161549_add_capabilites.rb +56 -0
  42. data/db/migrate/upgrade/20111109161550_update_roles.rb +33 -0
  43. data/db/migrate/upgrade/20111109161551_update_user.rb +88 -0
  44. data/lib/erp_tech_svcs/application_installer.rb +102 -0
  45. data/lib/erp_tech_svcs/config.rb +27 -0
  46. data/lib/erp_tech_svcs/engine.rb +14 -0
  47. data/lib/erp_tech_svcs/extensions/active_record/acts_as_versioned.rb +494 -0
  48. data/lib/erp_tech_svcs/extensions/active_record/has_capabilities.rb +139 -0
  49. data/lib/erp_tech_svcs/extensions/active_record/has_file_assets.rb +40 -0
  50. data/lib/erp_tech_svcs/extensions/active_record/has_roles.rb +126 -0
  51. data/lib/erp_tech_svcs/extensions.rb +5 -0
  52. data/lib/erp_tech_svcs/file_support/aws_s3_patch.rb +3 -0
  53. data/lib/erp_tech_svcs/file_support/base.rb +30 -0
  54. data/lib/erp_tech_svcs/file_support/file_manipulator.rb +37 -0
  55. data/lib/erp_tech_svcs/file_support/file_system_manager.rb +167 -0
  56. data/lib/erp_tech_svcs/file_support/manager.rb +147 -0
  57. data/lib/erp_tech_svcs/file_support/paperclip_patch.rb +28 -0
  58. data/lib/erp_tech_svcs/file_support/railties/s3_resolver.rb +79 -0
  59. data/lib/erp_tech_svcs/file_support/s3_manager.rb +211 -0
  60. data/lib/erp_tech_svcs/file_support.rb +10 -0
  61. data/lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb +40 -0
  62. data/lib/erp_tech_svcs/sessions/delete_expired_sessions_service.rb +15 -0
  63. data/lib/erp_tech_svcs/utils/attachment_fu_patch.rb +15 -0
  64. data/lib/erp_tech_svcs/utils/compass_access_negotiator.rb +57 -0
  65. data/lib/erp_tech_svcs/utils/compass_logger.rb +94 -0
  66. data/lib/erp_tech_svcs/utils/compass_pdf.rb +72 -0
  67. data/lib/erp_tech_svcs/utils/default_nested_set_methods.rb +33 -0
  68. data/lib/erp_tech_svcs/utils/pdf_processor.rb +106 -0
  69. data/lib/erp_tech_svcs/version.rb +3 -0
  70. data/lib/erp_tech_svcs.rb +20 -0
  71. data/lib/tasks/erp_tech_svcs_tasks.rake +42 -0
  72. data/spec/dummy/Rakefile +7 -0
  73. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  74. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  75. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  76. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  77. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  78. data/spec/dummy/config/application.rb +43 -0
  79. data/spec/dummy/config/boot.rb +10 -0
  80. data/spec/dummy/config/database.yml +8 -0
  81. data/spec/dummy/config/environment.rb +5 -0
  82. data/spec/dummy/config/environments/spec.rb +27 -0
  83. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  84. data/spec/dummy/config/initializers/inflections.rb +10 -0
  85. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  86. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  87. data/spec/dummy/config/initializers/session_store.rb +8 -0
  88. data/spec/dummy/config/initializers/wrap_parameters.rb +12 -0
  89. data/spec/dummy/config/locales/en.yml +5 -0
  90. data/spec/dummy/config/routes.rb +3 -0
  91. data/spec/dummy/config.ru +4 -0
  92. data/spec/dummy/db/schema.rb +571 -0
  93. data/spec/dummy/db/spec.sqlite3 +0 -0
  94. data/spec/dummy/log/spec.log +2862 -0
  95. data/spec/dummy/public/404.html +26 -0
  96. data/spec/dummy/public/422.html +26 -0
  97. data/spec/dummy/public/500.html +26 -0
  98. data/spec/dummy/public/favicon.ico +0 -0
  99. data/spec/dummy/script/rails +6 -0
  100. data/spec/factories/capability_type.rb +5 -0
  101. data/spec/factories/role.rb +5 -0
  102. data/spec/factories/users.rb +9 -0
  103. data/spec/lib/erp_tech_svcs/extensions/active_record/has_roles_spec.rb +68 -0
  104. data/spec/models/audit_log_spec.rb +48 -0
  105. data/spec/models/audit_log_type_spec.rb +9 -0
  106. data/spec/models/role_spec.rb +17 -0
  107. data/spec/models/user_spec.rb +27 -0
  108. data/spec/spec_helper.rb +61 -0
  109. metadata +273 -0
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ <p>We've been notified about this issue and we'll take a look at it shortly.</p>
24
+ </div>
25
+ </body>
26
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :capability_type do |c|
3
+
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :role do |r|
3
+
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :user do |u|
4
+ #u.login "admin"
5
+ u.sequence(:username) { |n| "admin#{n}"}
6
+ u.sequence(:email) { |n| "user#{n}@portablemind.com"}
7
+ u.association :party, :factory => :party
8
+ end
9
+ end
@@ -0,0 +1,68 @@
1
+ require 'spec_helper'
2
+
3
+ describe ErpTechSvcs::Extensions::ActiveRecord::HasRoles do
4
+ before(:all) do
5
+ @user = Factory(:user)
6
+ @user_2 = Factory(:user)
7
+ @admin_role = Role.create(:internal_identifier => 'admin')
8
+ @employee_role = Role.create(:internal_identifier => 'employee')
9
+ @manager_role = Role.create(:internal_identifier => 'manager')
10
+ end
11
+
12
+ it "should allow you to add a role" do
13
+ @user.add_role(@admin_role)
14
+ end
15
+
16
+ it "should allow you to add multiple roles by Role instance or iid" do
17
+ @user.add_roles(@admin_role, 'manager')
18
+ end
19
+
20
+ it "should allow you to add multiple roles by array or arguments" do
21
+ @user.add_roles(@employee_role, 'manager')
22
+ @user.has_role?(@employee_role).should eq true
23
+ @user.has_role?('manager').should eq true
24
+ @user.remove_all_roles
25
+ @user.add_roles([@employee_role, 'manager'])
26
+ @user.has_role?(@employee_role).should eq true
27
+ @user.has_role?('manager').should eq true
28
+ @user.remove_all_roles
29
+ end
30
+
31
+ it "should allow you to check for roles by Role instance or iid" do
32
+ @user.add_roles(@admin_role, 'manager')
33
+ @user.has_role?(@admin_role, 'employee').should eq true
34
+ @user.remove_all_roles
35
+ end
36
+
37
+ it "should allow you to remove a role" do
38
+ @user.remove_role(@admin_role)
39
+ @user.has_role?(@admin_role).should eq false
40
+ end
41
+
42
+ it "should allow you to remove multiple roles by Role instance or iid" do
43
+ @user.remove_roles(@employee_role, 'manager')
44
+ @user.has_role?(@employee_role).should eq false
45
+ @user.has_role?('manager').should eq false
46
+ end
47
+
48
+ it "should allow you to remove all roles at once" do
49
+ @user.add_roles(@admin_role, @manager_role)
50
+ @user.remove_all_roles
51
+ @user.roles.count.should eq 0
52
+ end
53
+
54
+ it "should allow you to check access for user on model" do
55
+ @user.add_roles(@admin_role)
56
+ @user_2.add_roles(@admin_role)
57
+ @user_2.has_access?(@user).should eq true
58
+ @user.remove_all_roles
59
+ @user_2.remove_all_roles
60
+ end
61
+
62
+ after(:all) do
63
+ User.destroy_all
64
+ Role.destroy_all
65
+ end
66
+
67
+
68
+ end
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ describe AuditLog do
4
+ before(:all) do
5
+ @party = Factory(:party)
6
+ end
7
+
8
+ it "should allow you to create custom application log message" do
9
+ custom_test_message = 'Custom Message'
10
+ AuditLog.custom_application_log_message(@party, custom_test_message)
11
+ audit_log = AuditLog.find_by_audit_log_type_id(AuditLogType.find_by_type_and_subtype_iid('application','custom_message').id)
12
+ audit_log.description.should eq "#{@party.description}: #{custom_test_message}"
13
+ end
14
+
15
+ it "should allow you to log party login" do
16
+ AuditLog.party_login(@party)
17
+ audit_log = AuditLog.find_by_audit_log_type_id(AuditLogType.find_by_type_and_subtype_iid('application','successful_login').id)
18
+ audit_log.description.should eq "#{@party.description} has logged in"
19
+ end
20
+
21
+ it "should allow you to log party logout" do
22
+ AuditLog.party_logout(@party)
23
+ audit_log = AuditLog.find_by_audit_log_type_id(AuditLogType.find_by_type_and_subtype_iid('application','successful_logout').id)
24
+ audit_log.description.should eq "#{@party.description} has logged out"
25
+ end
26
+
27
+ it "should allow you to log when a party accesses an area" do
28
+ url = 'www.test.com/home'
29
+ AuditLog.party_access(@party, url)
30
+ audit_log = AuditLog.find_by_audit_log_type_id(AuditLogType.find_by_type_and_subtype_iid('application','accessed_area').id)
31
+ audit_log.description.should eq "#{@party.description} has accessed area #{url}"
32
+ end
33
+
34
+ it "should allow you to log when a party fails access" do
35
+ url = 'www.test.com/access'
36
+ AuditLog.party_failed_access(@party, url)
37
+ audit_log = AuditLog.find_by_audit_log_type_id(AuditLogType.find_by_type_and_subtype_iid('application','accessed_area').id)
38
+ audit_log.description.should eq "#{@party.description} has tried to access a restricted area #{url}"
39
+ end
40
+
41
+ it "should allow you to log on session timeout" do
42
+ AuditLog.party_session_timeout(@party)
43
+ audit_log = AuditLog.find_by_audit_log_type_id(AuditLogType.find_by_type_and_subtype_iid('application','session_timeout').id)
44
+ audit_log.description.should eq "#{@party.description} session has expired"
45
+ end
46
+
47
+
48
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe AuditLogType do
4
+
5
+ it "should allow you to find_by_type_and_subtype_iid" do
6
+ AuditLogType.find_by_type_and_subtype_iid('application','custom_message').description.should eq "Custom Message"
7
+ end
8
+
9
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Role do
4
+
5
+ before(:all) do
6
+ @role = Role.create(:internal_identifier => 'employee')
7
+ end
8
+
9
+ it "can transform into xml" do
10
+ @role.to_xml
11
+ end
12
+
13
+ after(:all) do
14
+ Role.destroy_all
15
+ end
16
+
17
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe User do
4
+
5
+ before(:all) do
6
+ @user = Factory(:user)
7
+ end
8
+
9
+ it "should allow you to add and remove roles" do
10
+ role = Role.create(:internal_identifier => 'employee')
11
+ @user.add_role(role)
12
+ @user.has_role?(role).should eq true
13
+ @user.remove_role(role)
14
+ @user.has_role?(role).should eq false
15
+ end
16
+
17
+ it "should allow you to add instance attributes" do
18
+ @user.add_instance_attribute(:test, 'result')
19
+ @user.instance_attributes[:test].should eq 'result'
20
+ end
21
+
22
+ after(:all) do
23
+ User.destroy_all
24
+ Role.destroy_all
25
+ end
26
+
27
+ end
@@ -0,0 +1,61 @@
1
+ require 'spork'
2
+ require 'rake'
3
+
4
+ Spork.prefork do
5
+ # Loading more in this block will cause your tests to run faster. However,
6
+ # if you change any configuration or code from libraries loaded here, you'll
7
+ # need to restart spork for it take effect.
8
+
9
+ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
10
+ DUMMY_APP_ROOT=File.join(File.dirname(__FILE__), '/dummy')
11
+
12
+ require 'active_support'
13
+ require 'active_model'
14
+ require 'active_record'
15
+ require 'action_controller'
16
+
17
+ # Configure Rails Envinronment
18
+ ENV["RAILS_ENV"] = "spec"
19
+ require File.expand_path(DUMMY_APP_ROOT + "/config/environment.rb", __FILE__)
20
+
21
+ ActiveRecord::Base.configurations = YAML::load(IO.read(DUMMY_APP_ROOT + "/config/database.yml"))
22
+ ActiveRecord::Base.establish_connection(ENV["DB"] || "spec")
23
+ ActiveRecord::Migration.verbose = false
24
+
25
+ # Requires supporting ruby files with custom matchers and macros, etc,
26
+ # in spec/support/ and its subdirectories.
27
+ Dir[File.join(ENGINE_RAILS_ROOT, "spec/support/**/*.rb")].each {|f| require f }
28
+
29
+ require 'rspec/rails'
30
+ require 'erp_dev_svcs'
31
+
32
+ RSpec.configure do |config|
33
+ config.use_transactional_fixtures = true
34
+ config.include Sorcery::TestHelpers::Rails
35
+ config.include ErpDevSvcs
36
+ config.include ErpDevSvcs::ControllerSupport, :type => :controller
37
+ end
38
+ end
39
+
40
+ Spork.each_run do
41
+ #We have to execute the migrations from dummy app directory
42
+ Dir.chdir DUMMY_APP_ROOT
43
+ `rake db:drop`
44
+ Dir.chdir ENGINE_RAILS_ROOT
45
+
46
+ #We have to execute the migrations from dummy app directory
47
+ Dir.chdir DUMMY_APP_ROOT
48
+ `rake db:migrate`
49
+ `rake db:migrate_data`
50
+ Dir.chdir ENGINE_RAILS_ROOT
51
+
52
+ ErpDevSvcs::FactorySupport.load_engine_factories
53
+
54
+ require 'simplecov'
55
+ SimpleCov.start 'rails' do
56
+ add_filter "spec/"
57
+ end
58
+ #Need to explictly load the files in lib/ until we figure out how to
59
+ #get rails to autoload them for spec like it used to...
60
+ Dir[File.join(ENGINE_RAILS_ROOT, "lib/**/*.rb")].each {|f| load f}
61
+ end
metadata ADDED
@@ -0,0 +1,273 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: erp_tech_svcs
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rick Koloski, Russell Holmes
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-06 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: aws-s3
16
+ requirement: &2161000660 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - =
20
+ - !ruby/object:Gem::Version
21
+ version: 0.6.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2161000660
25
+ - !ruby/object:Gem::Dependency
26
+ name: delayed_job
27
+ requirement: &2160999400 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 2.1.4
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2160999400
36
+ - !ruby/object:Gem::Dependency
37
+ name: paperclip
38
+ requirement: &2160998540 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - =
42
+ - !ruby/object:Gem::Version
43
+ version: 2.4.5
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *2160998540
47
+ - !ruby/object:Gem::Dependency
48
+ name: pdfkit
49
+ requirement: &2160997260 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - =
53
+ - !ruby/object:Gem::Version
54
+ version: 0.4.6
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *2160997260
58
+ - !ruby/object:Gem::Dependency
59
+ name: sorcery
60
+ requirement: &2160995720 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - =
64
+ - !ruby/object:Gem::Version
65
+ version: 0.7.5
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *2160995720
69
+ - !ruby/object:Gem::Dependency
70
+ name: erp_base_erp_svcs
71
+ requirement: &2160994860 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *2160994860
80
+ - !ruby/object:Gem::Dependency
81
+ name: erp_dev_svcs
82
+ requirement: &2160993780 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *2160993780
91
+ description: This engine is implemented with the premise that services like logging,
92
+ tracing and encryption would likely already exist in many organizations, so they
93
+ are factored here so they can easily be re-implemented. There are default implementations
94
+ here, and we track several excellent Rails projects as potential implementations
95
+ of services like security and content/digital asset mgt.
96
+ email:
97
+ - russonrails@gmail.com
98
+ executables: []
99
+ extensions: []
100
+ extra_rdoc_files: []
101
+ files:
102
+ - app/assets/javascripts/erp_tech_svcs/application.js
103
+ - app/assets/stylesheets/erp_tech_svcs/application.css
104
+ - app/controllers/erp_tech_svcs/session_controller.rb
105
+ - app/controllers/erp_tech_svcs/user_controller.rb
106
+ - app/helpers/erp_tech_svcs/application_helper.rb
107
+ - app/mailers/user_mailer.rb
108
+ - app/models/audit_log.rb
109
+ - app/models/audit_log_item.rb
110
+ - app/models/audit_log_item_type.rb
111
+ - app/models/audit_log_type.rb
112
+ - app/models/capability.rb
113
+ - app/models/capability_type.rb
114
+ - app/models/capable_model.rb
115
+ - app/models/encryption_key.rb
116
+ - app/models/extensions/contact_purpose.rb
117
+ - app/models/extensions/contact_type.rb
118
+ - app/models/extensions/note.rb
119
+ - app/models/extensions/note_type.rb
120
+ - app/models/extensions/party.rb
121
+ - app/models/extensions/relationship_type.rb
122
+ - app/models/extensions/role_type.rb
123
+ - app/models/file_asset.rb
124
+ - app/models/role.rb
125
+ - app/models/secured_model.rb
126
+ - app/models/user.rb
127
+ - app/views/layouts/application.html.erb
128
+ - app/views/layouts/erp_tech_svcs/application.html.erb
129
+ - app/views/user_mailer/activation_needed_email.html.erb
130
+ - app/views/user_mailer/reset_password_email.html.erb
131
+ - config/initializers/erp_tech_svcs.rb
132
+ - config/initializers/file_support.rb
133
+ - config/initializers/pdfkit.rb
134
+ - config/initializers/sorcery.rb
135
+ - config/routes.rb
136
+ - db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.rb
137
+ - db/data_migrations/20111111144706_setup_audit_log_types.rb
138
+ - db/migrate/20080805000010_base_tech_services.rb
139
+ - db/migrate/20111109161549_add_capabilites.rb
140
+ - db/migrate/upgrade/20111109161550_update_roles.rb
141
+ - db/migrate/upgrade/20111109161551_update_user.rb
142
+ - lib/erp_tech_svcs/application_installer.rb
143
+ - lib/erp_tech_svcs/config.rb
144
+ - lib/erp_tech_svcs/engine.rb
145
+ - lib/erp_tech_svcs/extensions/active_record/acts_as_versioned.rb
146
+ - lib/erp_tech_svcs/extensions/active_record/has_capabilities.rb
147
+ - lib/erp_tech_svcs/extensions/active_record/has_file_assets.rb
148
+ - lib/erp_tech_svcs/extensions/active_record/has_roles.rb
149
+ - lib/erp_tech_svcs/extensions.rb
150
+ - lib/erp_tech_svcs/file_support/aws_s3_patch.rb
151
+ - lib/erp_tech_svcs/file_support/base.rb
152
+ - lib/erp_tech_svcs/file_support/file_manipulator.rb
153
+ - lib/erp_tech_svcs/file_support/file_system_manager.rb
154
+ - lib/erp_tech_svcs/file_support/manager.rb
155
+ - lib/erp_tech_svcs/file_support/paperclip_patch.rb
156
+ - lib/erp_tech_svcs/file_support/railties/s3_resolver.rb
157
+ - lib/erp_tech_svcs/file_support/s3_manager.rb
158
+ - lib/erp_tech_svcs/file_support.rb
159
+ - lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb
160
+ - lib/erp_tech_svcs/sessions/delete_expired_sessions_service.rb
161
+ - lib/erp_tech_svcs/utils/attachment_fu_patch.rb
162
+ - lib/erp_tech_svcs/utils/compass_access_negotiator.rb
163
+ - lib/erp_tech_svcs/utils/compass_logger.rb
164
+ - lib/erp_tech_svcs/utils/compass_pdf.rb
165
+ - lib/erp_tech_svcs/utils/default_nested_set_methods.rb
166
+ - lib/erp_tech_svcs/utils/pdf_processor.rb
167
+ - lib/erp_tech_svcs/version.rb
168
+ - lib/erp_tech_svcs.rb
169
+ - lib/tasks/erp_tech_svcs_tasks.rake
170
+ - GPL-3-LICENSE
171
+ - Rakefile
172
+ - README.rdoc
173
+ - spec/dummy/app/assets/javascripts/application.js
174
+ - spec/dummy/app/assets/stylesheets/application.css
175
+ - spec/dummy/app/controllers/application_controller.rb
176
+ - spec/dummy/app/helpers/application_helper.rb
177
+ - spec/dummy/app/views/layouts/application.html.erb
178
+ - spec/dummy/config/application.rb
179
+ - spec/dummy/config/boot.rb
180
+ - spec/dummy/config/database.yml
181
+ - spec/dummy/config/environment.rb
182
+ - spec/dummy/config/environments/spec.rb
183
+ - spec/dummy/config/initializers/backtrace_silencers.rb
184
+ - spec/dummy/config/initializers/inflections.rb
185
+ - spec/dummy/config/initializers/mime_types.rb
186
+ - spec/dummy/config/initializers/secret_token.rb
187
+ - spec/dummy/config/initializers/session_store.rb
188
+ - spec/dummy/config/initializers/wrap_parameters.rb
189
+ - spec/dummy/config/locales/en.yml
190
+ - spec/dummy/config/routes.rb
191
+ - spec/dummy/config.ru
192
+ - spec/dummy/db/schema.rb
193
+ - spec/dummy/db/spec.sqlite3
194
+ - spec/dummy/log/spec.log
195
+ - spec/dummy/public/404.html
196
+ - spec/dummy/public/422.html
197
+ - spec/dummy/public/500.html
198
+ - spec/dummy/public/favicon.ico
199
+ - spec/dummy/Rakefile
200
+ - spec/dummy/script/rails
201
+ - spec/factories/capability_type.rb
202
+ - spec/factories/role.rb
203
+ - spec/factories/users.rb
204
+ - spec/lib/erp_tech_svcs/extensions/active_record/has_roles_spec.rb
205
+ - spec/models/audit_log_spec.rb
206
+ - spec/models/audit_log_type_spec.rb
207
+ - spec/models/role_spec.rb
208
+ - spec/models/user_spec.rb
209
+ - spec/spec_helper.rb
210
+ homepage: http://development.compassagile.com
211
+ licenses: []
212
+ post_install_message:
213
+ rdoc_options: []
214
+ require_paths:
215
+ - lib
216
+ required_ruby_version: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ required_rubygems_version: !ruby/object:Gem::Requirement
223
+ none: false
224
+ requirements:
225
+ - - ! '>='
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ requirements: []
229
+ rubyforge_project:
230
+ rubygems_version: 1.8.10
231
+ signing_key:
232
+ specification_version: 3
233
+ summary: This engine is implemented with the premise that services like logging, tracing
234
+ and encryption would likely already exist in many organizations, so they are factored
235
+ here so they can easily be re-implemented.
236
+ test_files:
237
+ - spec/dummy/app/assets/javascripts/application.js
238
+ - spec/dummy/app/assets/stylesheets/application.css
239
+ - spec/dummy/app/controllers/application_controller.rb
240
+ - spec/dummy/app/helpers/application_helper.rb
241
+ - spec/dummy/app/views/layouts/application.html.erb
242
+ - spec/dummy/config/application.rb
243
+ - spec/dummy/config/boot.rb
244
+ - spec/dummy/config/database.yml
245
+ - spec/dummy/config/environment.rb
246
+ - spec/dummy/config/environments/spec.rb
247
+ - spec/dummy/config/initializers/backtrace_silencers.rb
248
+ - spec/dummy/config/initializers/inflections.rb
249
+ - spec/dummy/config/initializers/mime_types.rb
250
+ - spec/dummy/config/initializers/secret_token.rb
251
+ - spec/dummy/config/initializers/session_store.rb
252
+ - spec/dummy/config/initializers/wrap_parameters.rb
253
+ - spec/dummy/config/locales/en.yml
254
+ - spec/dummy/config/routes.rb
255
+ - spec/dummy/config.ru
256
+ - spec/dummy/db/schema.rb
257
+ - spec/dummy/db/spec.sqlite3
258
+ - spec/dummy/log/spec.log
259
+ - spec/dummy/public/404.html
260
+ - spec/dummy/public/422.html
261
+ - spec/dummy/public/500.html
262
+ - spec/dummy/public/favicon.ico
263
+ - spec/dummy/Rakefile
264
+ - spec/dummy/script/rails
265
+ - spec/factories/capability_type.rb
266
+ - spec/factories/role.rb
267
+ - spec/factories/users.rb
268
+ - spec/lib/erp_tech_svcs/extensions/active_record/has_roles_spec.rb
269
+ - spec/models/audit_log_spec.rb
270
+ - spec/models/audit_log_type_spec.rb
271
+ - spec/models/role_spec.rb
272
+ - spec/models/user_spec.rb
273
+ - spec/spec_helper.rb