arjad_version_tracker 0.2.0 → 0.3.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: e4fa3113d74d5358ba7b716b79ec419e9f46922fa954f95228fa1e9fb41fc533
4
+ data.tar.gz: 48e35df113a86effbfda007f0f0405709064e8cd54979aac5a48be93c115f9a6
5
5
  SHA512:
6
- metadata.gz: c2abfa7c800505c38facc8d59b3d8fecfc1370f7629d75f51dda699070dd93e667bcf9b6262fce084a36319fce949b0eb39397a8e51327c431831c14357e91ec
7
- data.tar.gz: 7167dde0168edc51206811e9c2df2fb0929b354c7cbdb0f969b14b1960aa4d13944982f52b9ad57d328518ce4f8d5fda6fda0e413b408a67a55ab4e565c41cc5
6
+ metadata.gz: bde8dcb9a46640e242cc1a93549c8a87af60489b31069df832fe9e595a26d762305bf69b4dc14118e8adc025a4359b4f92ecff835091335d3bc4dc41078f82c3
7
+ data.tar.gz: fe7dd10d9f069c11409a8c3026d8c4463f99af6ea9392a070d6d4555e7ef73020b9a180b80bc2c6adb23d370cef8b671d44e09955615b5820080c150a1a5d6e0
@@ -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.3.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
 
@@ -0,0 +1,25 @@
1
+ # lib/generators/arjad_version_tracker/install_generator.rb
2
+ require 'rails/generators/base'
3
+
4
+ module ArjadVersionTracker
5
+ module Generators
6
+ class InstallGenerator < Rails::Generators::Base
7
+ source_root File.expand_path('templates', __dir__)
8
+
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
18
+ end
19
+
20
+ def model_name
21
+ self.class.name.sub(/Generator\z/, '').singularize
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ # lib/generators/arjad_version_tracker/templates/migration.rb
2
+ class Create<%= table_name.capitalize %>Versions < ActiveRecord::Migration[6.0]
3
+ def change
4
+ create_table :<%= table_name %>_versions do |t|
5
+ # Add necessary fields here to store the version data
6
+ t.references :<%= table_name.singularize %>, polymorphic: true, null: false
7
+ t.jsonb :data
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
13
+
metadata CHANGED
@@ -1,7 +1,7 @@
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.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - arjad
@@ -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: