controlled_versioning 0.6.3 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +8 -8
  2. data/MIT-LICENSE +1 -1
  3. data/Rakefile +0 -6
  4. data/app/assets/javascripts/controlled_versioning/application.js +13 -0
  5. data/app/assets/stylesheets/controlled_versioning/application.css +13 -0
  6. data/app/controllers/controlled_versioning/application_controller.rb +4 -0
  7. data/app/helpers/controlled_versioning/application_helper.rb +4 -0
  8. data/app/models/controlled_versioning/version.rb +23 -0
  9. data/app/models/controlled_versioning/version_attribute.rb +8 -0
  10. data/app/models/controlled_versioning/version_child.rb +9 -0
  11. data/app/views/layouts/controlled_versioning/application.html.erb +14 -0
  12. data/lib/controlled_versioning/engine.rb +16 -0
  13. data/lib/controlled_versioning/version_number.rb +1 -1
  14. data/lib/controlled_versioning.rb +2 -0
  15. data/spec/controlled_versioning_spec.rb +316 -0
  16. data/spec/dummy/README.rdoc +28 -0
  17. data/spec/dummy/Rakefile +6 -0
  18. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  19. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  20. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  21. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  22. data/spec/dummy/app/models/child_resource.rb +10 -0
  23. data/spec/dummy/app/models/grand_child_resource.rb +7 -0
  24. data/spec/dummy/app/models/nonversionable_resource.rb +2 -0
  25. data/spec/dummy/app/models/parent_resource.rb +9 -0
  26. data/spec/dummy/app/models/partially_exclusive_versionable_resource.rb +3 -0
  27. data/spec/dummy/app/models/partially_inclusive_versionable_resource.rb +3 -0
  28. data/spec/dummy/app/models/user.rb +3 -0
  29. data/spec/dummy/app/models/versionable_resource.rb +5 -0
  30. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  31. data/spec/dummy/bin/bundle +3 -0
  32. data/spec/dummy/bin/rails +4 -0
  33. data/spec/dummy/bin/rake +4 -0
  34. data/spec/dummy/config/application.rb +30 -0
  35. data/spec/dummy/config/boot.rb +5 -0
  36. data/spec/dummy/config/database.yml +60 -0
  37. data/spec/dummy/config/environment.rb +5 -0
  38. data/spec/dummy/config/environments/development.rb +29 -0
  39. data/spec/dummy/config/environments/production.rb +80 -0
  40. data/spec/dummy/config/environments/test.rb +36 -0
  41. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  42. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  43. data/spec/dummy/config/initializers/inflections.rb +16 -0
  44. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  45. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  46. data/spec/dummy/config/initializers/session_store.rb +3 -0
  47. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  48. data/spec/dummy/config/locales/en.yml +23 -0
  49. data/spec/dummy/config/routes.rb +3 -0
  50. data/spec/dummy/config.ru +4 -0
  51. data/spec/dummy/db/migrate/20140117222800_create_users.rb +11 -0
  52. data/spec/dummy/db/migrate/20140117222808_create_versionable_resources.rb +17 -0
  53. data/spec/dummy/db/migrate/20140117222814_create_partially_inclusive_versionable_resources.rb +17 -0
  54. data/spec/dummy/db/migrate/20140117222815_create_partially_exclusive_versionable_resources.rb +17 -0
  55. data/spec/dummy/db/migrate/20140117222828_create_nonversionable_resources.rb +17 -0
  56. data/spec/dummy/db/migrate/20140117222840_create_parent_resources.rb +17 -0
  57. data/spec/dummy/db/migrate/20140117222841_create_child_resources.rb +19 -0
  58. data/spec/dummy/db/migrate/20140117222842_create_grand_child_resources.rb +19 -0
  59. data/spec/dummy/db/migrate/20140206173607_create_controlled_versioning_versions.controlled_versioning.rb +30 -0
  60. data/spec/dummy/db/migrate/20140206173608_create_controlled_versioning_version_attributes.controlled_versioning.rb +15 -0
  61. data/spec/dummy/db/migrate/20140206173609_create_controlled_versioning_version_children.controlled_versioning.rb +19 -0
  62. data/spec/dummy/db/schema.rb +163 -0
  63. data/spec/dummy/public/404.html +58 -0
  64. data/spec/dummy/public/422.html +58 -0
  65. data/spec/dummy/public/500.html +57 -0
  66. data/spec/dummy/public/favicon.ico +0 -0
  67. data/spec/factories/child_resources.rb +28 -0
  68. data/spec/factories/controlled_versioning_versions.rb +7 -0
  69. data/spec/factories/grand_child_resources.rb +17 -0
  70. data/spec/factories/parent_resources.rb +35 -0
  71. data/spec/factories/partially_exclusive_versionable_resources.rb +14 -0
  72. data/spec/factories/partially_inclusive_versionable_resources.rb +14 -0
  73. data/spec/factories/unversionable_resources.rb +14 -0
  74. data/spec/factories/users.rb +6 -0
  75. data/spec/factories/versionable_resources.rb +14 -0
  76. data/spec/spec_helper.rb +86 -0
  77. metadata +136 -11
  78. data/config/locales/en.yml +0 -4
  79. data/lib/generators/controlled_versioning/install_generator.rb +0 -30
  80. data/lib/generators/templates/create_version_attributes.rb +0 -17
  81. data/lib/generators/templates/create_version_children.rb +0 -20
  82. data/lib/generators/templates/create_versions.rb +0 -36
  83. data/lib/generators/templates/version.rb +0 -19
  84. data/lib/generators/templates/version_attribute.rb +0 -7
  85. data/lib/generators/templates/version_child.rb +0 -8
@@ -1,4 +0,0 @@
1
- en:
2
- errors:
3
- messages:
4
- no_revisions_made: "You must edit at least one attribute"
@@ -1,30 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/migration'
3
- require 'rails/generators/active_record'
4
-
5
- module ControlledVersioning
6
- class InstallGenerator < Rails::Generators::Base
7
- include ::Rails::Generators::Migration
8
-
9
- source_root File.expand_path('../../templates', __FILE__)
10
-
11
- desc 'Generates (but does not run) a migration to add a versions table.'
12
-
13
- def create_model_file
14
- template "version.rb", "app/models/controlled_versioning/version.rb"
15
- template "version_attribute.rb",
16
- "app/models/controlled_versioning/version_attribute.rb"
17
- template "version_child.rb",
18
- "app/models/controlled_versioning/version_child.rb"
19
- migration_template "create_versions.rb", "db/migrate/create_versions.rb"
20
- migration_template "create_version_attributes.rb",
21
- "db/migrate/create_version_attributes.rb"
22
- migration_template "create_version_children.rb",
23
- "db/migrate/create_version_children.rb"
24
- end
25
-
26
- def self.next_migration_number(dirname)
27
- ::ActiveRecord::Generators::Base.next_migration_number(dirname)
28
- end
29
- end
30
- end
@@ -1,17 +0,0 @@
1
- class CreateVersionAttributes < ActiveRecord::Migration
2
- def self.up
3
- create_table :version_attributes do |t|
4
- t.string :version_type, null: false
5
- t.integer :version_id, null: false
6
- t.string :name, null: false
7
- t.text :old_value
8
- t.text :new_value
9
- end
10
- add_index :version_attributes, [:version_type, :version_id]
11
- end
12
-
13
- def self.down
14
- remove_index :version_attributes, [:version_type, :version_id]
15
- drop_table :version_attributes
16
- end
17
- end
@@ -1,20 +0,0 @@
1
- class CreateVersionChildren < ActiveRecord::Migration
2
- def self.up
3
- create_table :version_children do |t|
4
- t.string :version_type, null: false
5
- t.integer :version_id, null: false
6
- t.string :versionable_type
7
- t.integer :versionable_id
8
-
9
- t.boolean :marked_for_removal, null: false, default: false
10
- end
11
- add_index :version_children, [:version_type, :version_id]
12
- add_index :version_children, [:versionable_type, :versionable_id]
13
- end
14
-
15
- def self.down
16
- remove_index :version_children, [:version_type, :version_id]
17
- remove_index :version_children, [:versionable_type, :versionable_id]
18
- drop_table :version_children
19
- end
20
- end
@@ -1,36 +0,0 @@
1
- class CreateVersions < ActiveRecord::Migration
2
- def self.up
3
- create_table :versions do |t|
4
- t.string :versionable_type, null: false
5
- t.integer :versionable_id, null: false
6
-
7
- t.integer :user_id
8
-
9
- t.text :notes
10
-
11
- t.boolean :initial, null: false, default: false
12
-
13
- t.boolean :marked_for_removal, null: false, default: false
14
-
15
- t.boolean :accepted, null: false, default: false
16
- t.boolean :declined, null: false, default: false
17
- t.boolean :pending, null: false, default: true
18
-
19
- t.datetime :created_at
20
- end
21
- add_index :versions, :initial
22
- add_index :versions, :accepted
23
- add_index :versions, :declined
24
- add_index :versions, :pending
25
- add_index :versions, [:versionable_type, :versionable_id]
26
- end
27
-
28
- def self.down
29
- remove_index :versions, :initial
30
- remove_index :versions, :accepted
31
- remove_index :versions, :declined
32
- remove_index :versions, :pending
33
- remove_index :versions, [:verstionable_type, :versionable_id]
34
- drop_table :versions
35
- end
36
- end
@@ -1,19 +0,0 @@
1
- class ControlledVersioning::Version < ActiveRecord::Base
2
-
3
- belongs_to :versionable, polymorphic: true
4
- belongs_to :user
5
- has_many :version_attributes, as: :version
6
- has_many :version_children, as: :version
7
-
8
- validates :versionable, presence: true
9
-
10
- def accept
11
- Revision::Publisher.new(self).accept_revision unless initial?
12
- update_attributes(pending: false, accepted: true)
13
- end
14
-
15
- def decline
16
- update_attributes(pending: false, declined: true)
17
- end
18
-
19
- end
@@ -1,7 +0,0 @@
1
- class ControlledVersioning::VersionAttribute < ActiveRecord::Base
2
-
3
- belongs_to :version, polymorphic: true
4
-
5
- validates :name, presence: true
6
-
7
- end
@@ -1,8 +0,0 @@
1
- class ControlledVersioning::VersionChild < ActiveRecord::Base
2
-
3
- belongs_to :versionable, polymorphic: true
4
- belongs_to :version, polymorphic: true
5
- has_many :version_attributes, as: :version
6
- has_many :version_children, as: :version
7
-
8
- end