arjad_version_tracker 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4fa3113d74d5358ba7b716b79ec419e9f46922fa954f95228fa1e9fb41fc533
4
- data.tar.gz: 48e35df113a86effbfda007f0f0405709064e8cd54979aac5a48be93c115f9a6
3
+ metadata.gz: bbf705d7171dc9d343910f893066c4f821f1a9cf6e101544fa339a405b0425c4
4
+ data.tar.gz: b5a6cbf1dfe3dc1444a619fce5e4ab3fb05f1a20b9f88be2f8d25c381d99271b
5
5
  SHA512:
6
- metadata.gz: bde8dcb9a46640e242cc1a93549c8a87af60489b31069df832fe9e595a26d762305bf69b4dc14118e8adc025a4359b4f92ecff835091335d3bc4dc41078f82c3
7
- data.tar.gz: fe7dd10d9f069c11409a8c3026d8c4463f99af6ea9392a070d6d4555e7ef73020b9a180b80bc2c6adb23d370cef8b671d44e09955615b5820080c150a1a5d6e0
6
+ metadata.gz: ec1f79121f31b5c4a8f457a4b812a9187308236ce7b727e26d7dc00855fccf321cd5a20f9a07e9ce709bb0ad1beec1b7d6fed7cb60269206397f14601c90e982
7
+ data.tar.gz: 176cc8d39d9d1ee2a01c3e8bd2bb84e50e2292bad5e06b8ce63f347ecac599a7cc322e1f308221f2e7782baa4255789ccc1b85186f2dd11bb3ccb9b5f83a9120
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ArjadVersionTracker
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
@@ -15,6 +15,6 @@ module ArjadVersionTracker
15
15
  private
16
16
 
17
17
  def track_version
18
- versions.create!(attributes.except("id", "created_at", "updated_at"))
18
+ versions.create!(versionable_id: self.id, versionable_name: self.class.name, data: attributes.except("id", "created_at", "updated_at"))
19
19
  end
20
20
  end
@@ -1,4 +1,5 @@
1
1
  # lib/generators/arjad_version_tracker/install_generator.rb
2
+
2
3
  require 'rails/generators/base'
3
4
 
4
5
  module ArjadVersionTracker
@@ -6,19 +7,12 @@ module ArjadVersionTracker
6
7
  class InstallGenerator < Rails::Generators::Base
7
8
  source_root File.expand_path('templates', __dir__)
8
9
 
9
- def copy_migration
10
- timestamp = Time.now.utc.strftime('%Y%m%d%H%M%S')
11
- template 'migration.rb', "db/migrate/#{timestamp}_create_#{table_name}_versions.rb"
12
- end
13
-
14
- private
15
-
16
- def table_name
17
- model_name.pluralize.underscore
10
+ def create_migration
11
+ migration_template 'migration.rb', "db/migrate/#{timestamp}_create_versions.rb"
18
12
  end
19
13
 
20
- def model_name
21
- self.class.name.sub(/Generator\z/, '').singularize
14
+ def self.next_migration_number(dir)
15
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
22
16
  end
23
17
  end
24
18
  end
@@ -1,13 +1,12 @@
1
1
  # lib/generators/arjad_version_tracker/templates/migration.rb
2
- class Create<%= table_name.capitalize %>Versions < ActiveRecord::Migration[6.0]
2
+ class CreateVersions < ActiveRecord::Migration[6.0]
3
3
  def change
4
- create_table :<%= table_name %>_versions do |t|
4
+ create_table :versions do |t|
5
5
  # Add necessary fields here to store the version data
6
- t.references :<%= table_name.singularize %>, polymorphic: true, null: false
7
6
  t.jsonb :data
8
-
7
+ t.string :versionable_name
8
+ t.integer :versionable_id
9
9
  t.timestamps
10
10
  end
11
11
  end
12
12
  end
13
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arjad_version_tracker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - arjad
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-19 00:00:00.000000000 Z
11
+ date: 2024-05-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Arjad Version Tracker is a Ruby gem designed to simplify tracking and
14
14
  managing version history of models in Rails applications. It provides a straightforward