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.
- checksums.yaml +8 -8
- data/MIT-LICENSE +1 -1
- data/Rakefile +0 -6
- data/app/assets/javascripts/controlled_versioning/application.js +13 -0
- data/app/assets/stylesheets/controlled_versioning/application.css +13 -0
- data/app/controllers/controlled_versioning/application_controller.rb +4 -0
- data/app/helpers/controlled_versioning/application_helper.rb +4 -0
- data/app/models/controlled_versioning/version.rb +23 -0
- data/app/models/controlled_versioning/version_attribute.rb +8 -0
- data/app/models/controlled_versioning/version_child.rb +9 -0
- data/app/views/layouts/controlled_versioning/application.html.erb +14 -0
- data/lib/controlled_versioning/engine.rb +16 -0
- data/lib/controlled_versioning/version_number.rb +1 -1
- data/lib/controlled_versioning.rb +2 -0
- data/spec/controlled_versioning_spec.rb +316 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/child_resource.rb +10 -0
- data/spec/dummy/app/models/grand_child_resource.rb +7 -0
- data/spec/dummy/app/models/nonversionable_resource.rb +2 -0
- data/spec/dummy/app/models/parent_resource.rb +9 -0
- data/spec/dummy/app/models/partially_exclusive_versionable_resource.rb +3 -0
- data/spec/dummy/app/models/partially_inclusive_versionable_resource.rb +3 -0
- data/spec/dummy/app/models/user.rb +3 -0
- data/spec/dummy/app/models/versionable_resource.rb +5 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +30 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +60 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +29 -0
- data/spec/dummy/config/environments/production.rb +80 -0
- data/spec/dummy/config/environments/test.rb +36 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +12 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/migrate/20140117222800_create_users.rb +11 -0
- data/spec/dummy/db/migrate/20140117222808_create_versionable_resources.rb +17 -0
- data/spec/dummy/db/migrate/20140117222814_create_partially_inclusive_versionable_resources.rb +17 -0
- data/spec/dummy/db/migrate/20140117222815_create_partially_exclusive_versionable_resources.rb +17 -0
- data/spec/dummy/db/migrate/20140117222828_create_nonversionable_resources.rb +17 -0
- data/spec/dummy/db/migrate/20140117222840_create_parent_resources.rb +17 -0
- data/spec/dummy/db/migrate/20140117222841_create_child_resources.rb +19 -0
- data/spec/dummy/db/migrate/20140117222842_create_grand_child_resources.rb +19 -0
- data/spec/dummy/db/migrate/20140206173607_create_controlled_versioning_versions.controlled_versioning.rb +30 -0
- data/spec/dummy/db/migrate/20140206173608_create_controlled_versioning_version_attributes.controlled_versioning.rb +15 -0
- data/spec/dummy/db/migrate/20140206173609_create_controlled_versioning_version_children.controlled_versioning.rb +19 -0
- data/spec/dummy/db/schema.rb +163 -0
- data/spec/dummy/public/404.html +58 -0
- data/spec/dummy/public/422.html +58 -0
- data/spec/dummy/public/500.html +57 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/factories/child_resources.rb +28 -0
- data/spec/factories/controlled_versioning_versions.rb +7 -0
- data/spec/factories/grand_child_resources.rb +17 -0
- data/spec/factories/parent_resources.rb +35 -0
- data/spec/factories/partially_exclusive_versionable_resources.rb +14 -0
- data/spec/factories/partially_inclusive_versionable_resources.rb +14 -0
- data/spec/factories/unversionable_resources.rb +14 -0
- data/spec/factories/users.rb +6 -0
- data/spec/factories/versionable_resources.rb +14 -0
- data/spec/spec_helper.rb +86 -0
- metadata +136 -11
- data/config/locales/en.yml +0 -4
- data/lib/generators/controlled_versioning/install_generator.rb +0 -30
- data/lib/generators/templates/create_version_attributes.rb +0 -17
- data/lib/generators/templates/create_version_children.rb +0 -20
- data/lib/generators/templates/create_versions.rb +0 -36
- data/lib/generators/templates/version.rb +0 -19
- data/lib/generators/templates/version_attribute.rb +0 -7
- data/lib/generators/templates/version_child.rb +0 -8
data/config/locales/en.yml
DELETED
@@ -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
|