annotaterb 4.2.0 → 4.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -2
- data/README.md +6 -0
- data/VERSION +1 -1
- data/lib/annotate_rb/model_annotator/column_annotation/annotation_builder.rb +3 -2
- data/lib/annotate_rb/model_annotator/column_annotation/attributes_builder.rb +3 -3
- data/lib/annotate_rb/model_annotator/column_annotation/column_wrapper.rb +9 -6
- data/lib/annotate_rb/model_annotator/column_annotation/type_builder.rb +3 -2
- data/lib/generators/annotate_rb/install/templates/annotate_rb.rake +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 638be873328bb99a7c5b8196ee15749e0c40e36fc3660204ceec28af42678f09
|
4
|
+
data.tar.gz: 0e88670fc1257d20e6282aaf4f510d8b2be29829983dce6c63bcfc4078deb996
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2142be1d47c96ac81a3ab97cfbb6d852ea952be8a179785b5cf48eadf9eec3e9ceff3588353a2d3efa6efeed071589664776948b96eda8e1df5cd4dd7335d0c6
|
7
|
+
data.tar.gz: e6cc12cc6d7110283ba23243cc27f355f594d71fc2f5ce5ee50f535f84bfb2e8e6a440546e86a4e2ffa1f300afd819321bb81968e7a235486605bd219c5284bb
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [
|
3
|
+
## [v4.3.0](https://github.com/drwl/annotaterb/tree/v4.3.0) (2023-06-10)
|
4
4
|
|
5
|
-
[Full Changelog](https://github.com/drwl/annotaterb/compare/v4.
|
5
|
+
[Full Changelog](https://github.com/drwl/annotaterb/compare/v4.2.0...v4.3.0)
|
6
|
+
|
7
|
+
**Merged pull requests:**
|
8
|
+
|
9
|
+
- Bump version to v4.3.0 [\#41](https://github.com/drwl/annotaterb/pull/41) ([drwl](https://github.com/drwl))
|
10
|
+
- Add `ANNOTATERB_SKIP_ON_DB_TASKS` ENV var to skip auto annotations [\#40](https://github.com/drwl/annotaterb/pull/40) ([drwl](https://github.com/drwl))
|
11
|
+
|
12
|
+
## [v4.2.0](https://github.com/drwl/annotaterb/tree/v4.2.0) (2023-06-02)
|
13
|
+
|
14
|
+
[Full Changelog](https://github.com/drwl/annotaterb/compare/v4.1.1...v4.2.0)
|
6
15
|
|
7
16
|
**Merged pull requests:**
|
8
17
|
|
9
18
|
- Specify `standard` gem version [\#39](https://github.com/drwl/annotaterb/pull/39) ([drwl](https://github.com/drwl))
|
19
|
+
- Generate changelog for 4.2 again [\#38](https://github.com/drwl/annotaterb/pull/38) ([drwl](https://github.com/drwl))
|
10
20
|
- Bump version to v4.2.0 [\#37](https://github.com/drwl/annotaterb/pull/37) ([drwl](https://github.com/drwl))
|
11
21
|
- Generate changelog for 4.2 [\#36](https://github.com/drwl/annotaterb/pull/36) ([drwl](https://github.com/drwl))
|
12
22
|
- Improve tests for `ColumnAnnotation::*` [\#35](https://github.com/drwl/annotaterb/pull/35) ([drwl](https://github.com/drwl))
|
data/README.md
CHANGED
@@ -59,6 +59,12 @@ $ bin/rails g annotate_rb:install
|
|
59
59
|
|
60
60
|
This will copy a rake task into your Rails project's `lib/tasks` directory that will hook into the Rails project rake tasks, automatically running AnnotateRb after database migration rake tasks.
|
61
61
|
|
62
|
+
To skip the automatic annotation that happens after a db task, pass the environment variable `ANNOTATERB_SKIP_ON_DB_TASKS=1` before your command.
|
63
|
+
|
64
|
+
```sh
|
65
|
+
$ ANNOTATERB_SKIP_ON_DB_TASKS=1 bin/rails db:migrate
|
66
|
+
```
|
67
|
+
|
62
68
|
## Migrating from the annotate gem
|
63
69
|
Refer to the [migration guide](MIGRATION_GUIDE.md).
|
64
70
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.
|
1
|
+
4.3.1
|
@@ -21,9 +21,10 @@ module AnnotateRb
|
|
21
21
|
|
22
22
|
table_indices = @model.retrieve_indexes_from_table
|
23
23
|
column_indices = table_indices.select { |ind| ind.columns.include?(@column.name) }
|
24
|
+
column_defaults = @model.column_defaults
|
24
25
|
|
25
|
-
column_attributes = AttributesBuilder.new(@column, @options, is_primary_key, column_indices).build
|
26
|
-
formatted_column_type = TypeBuilder.new(@column, @options).build
|
26
|
+
column_attributes = AttributesBuilder.new(@column, @options, is_primary_key, column_indices, column_defaults).build
|
27
|
+
formatted_column_type = TypeBuilder.new(@column, @options, column_defaults).build
|
27
28
|
|
28
29
|
col_name = if @model.with_comments? && @column.comment
|
29
30
|
"#{@column.name}(#{@column.comment.gsub(/\n/, '\\n')})"
|
@@ -7,8 +7,8 @@ module AnnotateRb
|
|
7
7
|
# Don't show default value for these column types
|
8
8
|
NO_DEFAULT_COL_TYPES = %w[json jsonb hstore].freeze
|
9
9
|
|
10
|
-
def initialize(column, options, is_primary_key, column_indices)
|
11
|
-
@column = ColumnWrapper.new(column)
|
10
|
+
def initialize(column, options, is_primary_key, column_indices, column_defaults)
|
11
|
+
@column = ColumnWrapper.new(column, column_defaults)
|
12
12
|
@options = options
|
13
13
|
@is_primary_key = is_primary_key
|
14
14
|
@column_indices = column_indices
|
@@ -20,7 +20,7 @@ module AnnotateRb
|
|
20
20
|
column_type = @column.column_type_string
|
21
21
|
attrs = []
|
22
22
|
|
23
|
-
|
23
|
+
if !@column.raw_default.nil? && !hide_default?
|
24
24
|
schema_default = "default(#{@column.default_string})"
|
25
25
|
|
26
26
|
attrs << schema_default
|
@@ -4,18 +4,21 @@ module AnnotateRb
|
|
4
4
|
module ModelAnnotator
|
5
5
|
module ColumnAnnotation
|
6
6
|
class ColumnWrapper
|
7
|
-
def initialize(column)
|
7
|
+
def initialize(column, column_defaults)
|
8
8
|
@column = column
|
9
|
+
@column_defaults = column_defaults
|
9
10
|
end
|
10
11
|
|
11
|
-
def
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
def raw_default
|
13
|
+
@column.default
|
14
|
+
end
|
15
|
+
|
16
|
+
def default_value
|
17
|
+
@column_defaults[@column.name]
|
15
18
|
end
|
16
19
|
|
17
20
|
def default_string
|
18
|
-
quote(
|
21
|
+
quote(default_value)
|
19
22
|
end
|
20
23
|
|
21
24
|
def type
|
@@ -8,8 +8,9 @@ module AnnotateRb
|
|
8
8
|
# Example: show "integer" instead of "integer(4)"
|
9
9
|
NO_LIMIT_COL_TYPES = %w[integer bigint boolean].freeze
|
10
10
|
|
11
|
-
def initialize(column, options)
|
12
|
-
|
11
|
+
def initialize(column, options, column_defaults)
|
12
|
+
# Passing `column_defaults` for posterity, don't actually need it here since it's not used
|
13
|
+
@column = ColumnWrapper.new(column, column_defaults)
|
13
14
|
@options = options
|
14
15
|
end
|
15
16
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# This rake task was added by annotate_rb gem.
|
2
2
|
|
3
|
-
|
3
|
+
# Can set `ANNOTATERB_SKIP_ON_DB_TASKS` to be anything to skip this
|
4
|
+
if Rails.env.development? && ENV["ANNOTATERB_SKIP_ON_DB_TASKS"].nil?
|
4
5
|
require "annotate_rb"
|
5
6
|
|
6
7
|
AnnotateRb::Core.load_rake_tasks
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: annotaterb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew W. Lee
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-06-
|
11
|
+
date: 2023-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Annotates Rails/ActiveRecord Models, routes, fixtures, and others based
|
14
14
|
on the database schema.
|