erp_agreements 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 (68) hide show
  1. data/GPL-3-LICENSE +674 -0
  2. data/README.rdoc +2 -0
  3. data/Rakefile +31 -0
  4. data/app/assets/javascripts/erp_agreements/application.js +9 -0
  5. data/app/assets/stylesheets/erp_agreements/application.css +7 -0
  6. data/app/controllers/erp_agreements/application_controller.rb +4 -0
  7. data/app/helpers/erp_agreements/application_helper.rb +4 -0
  8. data/app/models/agreement.rb +42 -0
  9. data/app/models/agreement_item.rb +4 -0
  10. data/app/models/agreement_item_type.rb +4 -0
  11. data/app/models/agreement_party_role.rb +6 -0
  12. data/app/models/agreement_relationship.rb +32 -0
  13. data/app/models/agreement_reln_type.rb +7 -0
  14. data/app/models/agreement_role_type.rb +4 -0
  15. data/app/models/agreement_type.rb +4 -0
  16. data/app/models/extensions/party.rb +4 -0
  17. data/app/models/loyalty_program_code.rb +5 -0
  18. data/app/views/layouts/erp_agreements/application.html.erb +14 -0
  19. data/config/initializers/has_many_polymorphic.rb +1 -0
  20. data/config/routes.rb +2 -0
  21. data/db/migrate/20080805000070_agreements_services.rb +159 -0
  22. data/db/migrate/20080805000071_agreements_services_indexes.rb +51 -0
  23. data/lib/erp_agreements.rb +4 -0
  24. data/lib/erp_agreements/engine.rb +6 -0
  25. data/lib/erp_agreements/version.rb +3 -0
  26. data/lib/tasks/erp_agreements_tasks.rake +4 -0
  27. data/spec/dummy/Rakefile +7 -0
  28. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  29. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  30. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  31. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  32. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  33. data/spec/dummy/config.ru +4 -0
  34. data/spec/dummy/config/application.rb +44 -0
  35. data/spec/dummy/config/boot.rb +10 -0
  36. data/spec/dummy/config/database.yml +8 -0
  37. data/spec/dummy/config/environment.rb +5 -0
  38. data/spec/dummy/config/environments/spec.rb +27 -0
  39. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/spec/dummy/config/initializers/inflections.rb +10 -0
  41. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  42. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  43. data/spec/dummy/config/initializers/session_store.rb +8 -0
  44. data/spec/dummy/config/initializers/wrap_parameters.rb +12 -0
  45. data/spec/dummy/config/locales/en.yml +5 -0
  46. data/spec/dummy/config/routes.rb +4 -0
  47. data/spec/dummy/public/404.html +26 -0
  48. data/spec/dummy/public/422.html +26 -0
  49. data/spec/dummy/public/500.html +26 -0
  50. data/spec/dummy/public/favicon.ico +0 -0
  51. data/spec/dummy/script/rails +6 -0
  52. data/spec/factories/agreement.rb +4 -0
  53. data/spec/factories/agreement_item.rb +4 -0
  54. data/spec/factories/agreement_item_type.rb +4 -0
  55. data/spec/factories/agreement_party_role.rb +4 -0
  56. data/spec/factories/agreement_relationship.rb +4 -0
  57. data/spec/factories/agreement_reln_type.rb +4 -0
  58. data/spec/models/agreement_item_spec.rb +11 -0
  59. data/spec/models/agreement_item_type_spec.rb +11 -0
  60. data/spec/models/agreement_party_role_spec.rb +12 -0
  61. data/spec/models/agreement_relationship_spec.rb +55 -0
  62. data/spec/models/agreement_reln_type_spec.rb +12 -0
  63. data/spec/models/agreement_role_type_spec.rb +13 -0
  64. data/spec/models/agreement_spec.rb +63 -0
  65. data/spec/models/agreement_type_spec.rb +11 -0
  66. data/spec/models/loyalty_program_code_spec.rb +12 -0
  67. data/spec/spec_helper.rb +61 -0
  68. metadata +191 -0
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe AgreementRelnType do
4
+ it "can be instantiated" do
5
+ AgreementRelnType.new.should be_an_instance_of(AgreementRelnType)
6
+ end
7
+
8
+ it "can be saved successfully" do
9
+ AgreementRelnType.create().should be_persisted
10
+ end
11
+ end
12
+
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe AgreementRoleType do
4
+ it "can be instantiated" do
5
+ AgreementRoleType.new.should be_an_instance_of(AgreementRoleType)
6
+ end
7
+
8
+ it "can be saved successfully" do
9
+ AgreementRoleType.create().should be_persisted
10
+ end
11
+ end
12
+
13
+
@@ -0,0 +1,63 @@
1
+ require 'spec_helper'
2
+
3
+ describe Agreement do
4
+ it "can be instantiated" do
5
+ agreement = Factory.build(:agreement, :description => 'My Agreement')
6
+ agreement.should be_an_instance_of(Agreement)
7
+ end
8
+
9
+ it "can be saved successfully" do
10
+ agreement = Factory.build(:agreement, :description => 'My Agreement')
11
+ agreement.save.should eq true
12
+ end
13
+
14
+ it "can use agreement items as methods" do
15
+ agreement_item_type = Factory.build(:agreement_item_type, :internal_identifier => 'reference_number')
16
+ agreement_item = Factory.build(:agreement_item, :agreement_item_type => agreement_item_type, :agreement_item_value => '1234ABCD')
17
+ agreement = Factory.build(:agreement, :description => 'My Agreement')
18
+ agreement.items << agreement_item
19
+ agreement.save!
20
+ agreement.reference_number.should == '1234ABCD'
21
+ end
22
+
23
+ it "can have agreement relationships" do
24
+ agreement_reln_type = Factory.build(:agreement_reln_type, :internal_identifier => 'test_reln_type', :description => 'test reln type')
25
+ agreement_reln = Factory.build(:agreement_relationship, :description => 'test reln',
26
+ :relationship_type => agreement_reln_type)
27
+ agreement_one = Factory.build(:agreement, :description => 'Agreement One')
28
+ agreement_two = Factory.build(:agreement, :description => 'Agreement two')
29
+
30
+ agreement_reln.agreement_from = agreement_one
31
+ agreement_reln.agreement_to = agreement_two
32
+ agreement_reln.save
33
+
34
+ agreement_one.agreement_relationships.collect(&:description).first.should eq "test reln"
35
+ agreement_two.agreement_relationships.collect(&:description).first.should eq "test reln"
36
+ end
37
+
38
+ it "has a method to_s that returns description" do
39
+ agreement = Factory(:agreement, :description => 'My Agreement')
40
+ agreement.to_s.should eq 'My Agreement'
41
+ end
42
+
43
+ it "has a method to_label that calls to_s which returns description" do
44
+ agreement = Factory(:agreement, :description => 'My Agreement')
45
+ agreement.to_label.should eq 'My Agreement'
46
+ end
47
+
48
+ it "can find paties by roles" do
49
+ #TODO this needs to factored to use erp_base_base_erp_svcs factories
50
+ party = Factory(:party, :description => 'Joe Smith')
51
+ role_type = Factory(:role_type, :description => 'owner', :internal_identifier => 'owner')
52
+
53
+ agreement = Factory(:agreement, :description => 'My Agreement')
54
+ agreement_party_role = Factory(:agreement_party_role,
55
+ :description => 'My Agreement',
56
+ :role_type => role_type,
57
+ :party => party,
58
+ :agreement => agreement)
59
+
60
+ agreement.find_parties_by_role(RoleType.iid('owner')).first.id.should eq party.id
61
+ end
62
+
63
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe AgreementType do
4
+ it "can be instantiated" do
5
+ AgreementType.new.should be_an_instance_of(AgreementType)
6
+ end
7
+
8
+ it "can be saved successfully" do
9
+ AgreementType.create().should be_persisted
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe LoyaltyProgramCode do
4
+ it "can be instantiated" do
5
+ LoyaltyProgramCode.new.should be_an_instance_of(LoyaltyProgramCode)
6
+ end
7
+
8
+ it "can be saved successfully" do
9
+ LoyaltyProgramCode.create().should be_persisted
10
+ end
11
+ end
12
+
@@ -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
+ Dir.chdir ENGINE_RAILS_ROOT
50
+
51
+ ErpDevSvcs::FactorySupport.load_engine_factories
52
+
53
+ require 'simplecov'
54
+ SimpleCov.start 'rails' do
55
+ add_filter "spec/"
56
+ end
57
+ #Need to explictly load the files in lib/ until we figure out how to
58
+ #get rails to autoload them for spec like it used to...
59
+ Dir[File.join(ENGINE_RAILS_ROOT, "lib/**/*.rb")].each {|f| load f}
60
+ Dir[File.join(ENGINE_RAILS_ROOT, "app/models/extensions/**/*.rb")].each {|f| load f}
61
+ end
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: erp_agreements
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: erp_base_erp_svcs
16
+ requirement: &2157188160 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2157188160
25
+ - !ruby/object:Gem::Dependency
26
+ name: erp_tech_svcs
27
+ requirement: &2157187560 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2157187560
36
+ - !ruby/object:Gem::Dependency
37
+ name: erp_dev_svcs
38
+ requirement: &2157186740 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2157186740
47
+ description: The Agreements Engine implements model classes for storing Contracts
48
+ and Agreements data, including AgreementItems, which represent the terms of the
49
+ Agreement. Contracts are a special case of Agreements, specifically Agreements which
50
+ are legal in nature. Agreements and Terms are often used as the execution context
51
+ of a rules engine to govern other behaviors of a system.
52
+ email:
53
+ - russonrails@gmail.com
54
+ executables: []
55
+ extensions: []
56
+ extra_rdoc_files: []
57
+ files:
58
+ - app/assets/javascripts/erp_agreements/application.js
59
+ - app/assets/stylesheets/erp_agreements/application.css
60
+ - app/controllers/erp_agreements/application_controller.rb
61
+ - app/helpers/erp_agreements/application_helper.rb
62
+ - app/models/agreement.rb
63
+ - app/models/agreement_item.rb
64
+ - app/models/agreement_item_type.rb
65
+ - app/models/agreement_party_role.rb
66
+ - app/models/agreement_relationship.rb
67
+ - app/models/agreement_reln_type.rb
68
+ - app/models/agreement_role_type.rb
69
+ - app/models/agreement_type.rb
70
+ - app/models/extensions/party.rb
71
+ - app/models/loyalty_program_code.rb
72
+ - app/views/layouts/erp_agreements/application.html.erb
73
+ - config/initializers/has_many_polymorphic.rb
74
+ - config/routes.rb
75
+ - db/migrate/20080805000070_agreements_services.rb
76
+ - db/migrate/20080805000071_agreements_services_indexes.rb
77
+ - lib/erp_agreements/engine.rb
78
+ - lib/erp_agreements/version.rb
79
+ - lib/erp_agreements.rb
80
+ - lib/tasks/erp_agreements_tasks.rake
81
+ - GPL-3-LICENSE
82
+ - Rakefile
83
+ - README.rdoc
84
+ - spec/dummy/app/assets/javascripts/application.js
85
+ - spec/dummy/app/assets/stylesheets/application.css
86
+ - spec/dummy/app/controllers/application_controller.rb
87
+ - spec/dummy/app/helpers/application_helper.rb
88
+ - spec/dummy/app/views/layouts/application.html.erb
89
+ - spec/dummy/config/application.rb
90
+ - spec/dummy/config/boot.rb
91
+ - spec/dummy/config/database.yml
92
+ - spec/dummy/config/environment.rb
93
+ - spec/dummy/config/environments/spec.rb
94
+ - spec/dummy/config/initializers/backtrace_silencers.rb
95
+ - spec/dummy/config/initializers/inflections.rb
96
+ - spec/dummy/config/initializers/mime_types.rb
97
+ - spec/dummy/config/initializers/secret_token.rb
98
+ - spec/dummy/config/initializers/session_store.rb
99
+ - spec/dummy/config/initializers/wrap_parameters.rb
100
+ - spec/dummy/config/locales/en.yml
101
+ - spec/dummy/config/routes.rb
102
+ - spec/dummy/config.ru
103
+ - spec/dummy/public/404.html
104
+ - spec/dummy/public/422.html
105
+ - spec/dummy/public/500.html
106
+ - spec/dummy/public/favicon.ico
107
+ - spec/dummy/Rakefile
108
+ - spec/dummy/script/rails
109
+ - spec/factories/agreement.rb
110
+ - spec/factories/agreement_item.rb
111
+ - spec/factories/agreement_item_type.rb
112
+ - spec/factories/agreement_party_role.rb
113
+ - spec/factories/agreement_relationship.rb
114
+ - spec/factories/agreement_reln_type.rb
115
+ - spec/models/agreement_item_spec.rb
116
+ - spec/models/agreement_item_type_spec.rb
117
+ - spec/models/agreement_party_role_spec.rb
118
+ - spec/models/agreement_relationship_spec.rb
119
+ - spec/models/agreement_reln_type_spec.rb
120
+ - spec/models/agreement_role_type_spec.rb
121
+ - spec/models/agreement_spec.rb
122
+ - spec/models/agreement_type_spec.rb
123
+ - spec/models/loyalty_program_code_spec.rb
124
+ - spec/spec_helper.rb
125
+ homepage: http://development.compassagile.com
126
+ licenses: []
127
+ post_install_message:
128
+ rdoc_options: []
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ! '>='
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ requirements: []
144
+ rubyforge_project:
145
+ rubygems_version: 1.8.10
146
+ signing_key:
147
+ specification_version: 3
148
+ summary: The Agreements Engine implements model classes for storing Contracts and
149
+ Agreements data, including AgreementItems, which represent the terms of the Agreement.
150
+ test_files:
151
+ - spec/dummy/app/assets/javascripts/application.js
152
+ - spec/dummy/app/assets/stylesheets/application.css
153
+ - spec/dummy/app/controllers/application_controller.rb
154
+ - spec/dummy/app/helpers/application_helper.rb
155
+ - spec/dummy/app/views/layouts/application.html.erb
156
+ - spec/dummy/config/application.rb
157
+ - spec/dummy/config/boot.rb
158
+ - spec/dummy/config/database.yml
159
+ - spec/dummy/config/environment.rb
160
+ - spec/dummy/config/environments/spec.rb
161
+ - spec/dummy/config/initializers/backtrace_silencers.rb
162
+ - spec/dummy/config/initializers/inflections.rb
163
+ - spec/dummy/config/initializers/mime_types.rb
164
+ - spec/dummy/config/initializers/secret_token.rb
165
+ - spec/dummy/config/initializers/session_store.rb
166
+ - spec/dummy/config/initializers/wrap_parameters.rb
167
+ - spec/dummy/config/locales/en.yml
168
+ - spec/dummy/config/routes.rb
169
+ - spec/dummy/config.ru
170
+ - spec/dummy/public/404.html
171
+ - spec/dummy/public/422.html
172
+ - spec/dummy/public/500.html
173
+ - spec/dummy/public/favicon.ico
174
+ - spec/dummy/Rakefile
175
+ - spec/dummy/script/rails
176
+ - spec/factories/agreement.rb
177
+ - spec/factories/agreement_item.rb
178
+ - spec/factories/agreement_item_type.rb
179
+ - spec/factories/agreement_party_role.rb
180
+ - spec/factories/agreement_relationship.rb
181
+ - spec/factories/agreement_reln_type.rb
182
+ - spec/models/agreement_item_spec.rb
183
+ - spec/models/agreement_item_type_spec.rb
184
+ - spec/models/agreement_party_role_spec.rb
185
+ - spec/models/agreement_relationship_spec.rb
186
+ - spec/models/agreement_reln_type_spec.rb
187
+ - spec/models/agreement_role_type_spec.rb
188
+ - spec/models/agreement_spec.rb
189
+ - spec/models/agreement_type_spec.rb
190
+ - spec/models/loyalty_program_code_spec.rb
191
+ - spec/spec_helper.rb