arjad_version_tracker 0.2.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f26478c83a70195d1381665777bf4509baf76e4bcbb4a27242d21bf91caac204
4
- data.tar.gz: d451bc11bc45cbac2fbd45914619bf334caedfb4ffabea2f1b8db4e5a5975404
3
+ metadata.gz: bbf705d7171dc9d343910f893066c4f821f1a9cf6e101544fa339a405b0425c4
4
+ data.tar.gz: b5a6cbf1dfe3dc1444a619fce5e4ab3fb05f1a20b9f88be2f8d25c381d99271b
5
5
  SHA512:
6
- metadata.gz: c2abfa7c800505c38facc8d59b3d8fecfc1370f7629d75f51dda699070dd93e667bcf9b6262fce084a36319fce949b0eb39397a8e51327c431831c14357e91ec
7
- data.tar.gz: 7167dde0168edc51206811e9c2df2fb0929b354c7cbdb0f969b14b1960aa4d13944982f52b9ad57d328518ce4f8d5fda6fda0e413b408a67a55ab4e565c41cc5
6
+ metadata.gz: ec1f79121f31b5c4a8f457a4b812a9187308236ce7b727e26d7dc00855fccf321cd5a20f9a07e9ce709bb0ad1beec1b7d6fed7cb60269206397f14601c90e982
7
+ data.tar.gz: 176cc8d39d9d1ee2a01c3e8bd2bb84e50e2292bad5e06b8ce63f347ecac599a7cc322e1f308221f2e7782baa4255789ccc1b85186f2dd11bb3ccb9b5f83a9120
@@ -22,6 +22,9 @@ Gem::Specification.new do |spec|
22
22
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
23
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
24
24
  end
25
+ spec.files += Dir["lib/**/*.rb"] # Add this line to include all .rb files in the lib directory
26
+ spec.files += Dir["lib/templates/**/*.rb"] # Add this line to include all .rb files in the lib/templates directory
27
+
25
28
  spec.bindir = "exe"
26
29
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
27
30
  spec.require_paths = ["lib"]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ArjadVersionTracker
4
- VERSION = "0.2.0"
4
+ VERSION = "0.4.0"
5
5
  end
@@ -4,7 +4,7 @@ module ArjadVersionTracker
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  included do
7
- has_many :versions, class_name: "#{self.name}Version", dependent: :destroy
7
+ has_many :versions, dependent: :destroy
8
8
  before_update :track_version
9
9
  end
10
10
 
@@ -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
@@ -0,0 +1,19 @@
1
+ # lib/generators/arjad_version_tracker/install_generator.rb
2
+
3
+ require 'rails/generators/base'
4
+
5
+ module ArjadVersionTracker
6
+ module Generators
7
+ class InstallGenerator < Rails::Generators::Base
8
+ source_root File.expand_path('templates', __dir__)
9
+
10
+ def create_migration
11
+ migration_template 'migration.rb', "db/migrate/#{timestamp}_create_versions.rb"
12
+ end
13
+
14
+ def self.next_migration_number(dir)
15
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ # lib/generators/arjad_version_tracker/templates/migration.rb
2
+ class CreateVersions < ActiveRecord::Migration[6.0]
3
+ def change
4
+ create_table :versions do |t|
5
+ # Add necessary fields here to store the version data
6
+ t.jsonb :data
7
+ t.string :versionable_name
8
+ t.integer :versionable_id
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
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.2.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
@@ -30,6 +30,8 @@ files:
30
30
  - bin/setup
31
31
  - lib/arjad_version_tracker.rb
32
32
  - lib/arjad_version_tracker/version.rb
33
+ - lib/generators/arjad_version_tracker/install_generator.rb
34
+ - lib/generators/arjad_version_tracker/templates/migration.rb
33
35
  homepage: https://github.com/arjad/arjad_version_tracker
34
36
  licenses: []
35
37
  metadata: