arjad_version_tracker 0.2.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: 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: