who_am_i 0.0.3 → 0.0.4
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 +4 -4
- data/README.md +3 -11
- data/lib/who_am_i/railtie.rb +9 -0
- data/lib/who_am_i/table_column_info.rb +5 -5
- data/lib/who_am_i/table_info.rb +8 -14
- data/lib/who_am_i/version.rb +1 -1
- data/lib/who_am_i.rb +4 -0
- metadata +3 -3
- data/lib/who_am_i/rake.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 288863730bbd33ec0a782b65eb247bf38d8c7d38
|
4
|
+
data.tar.gz: 27ac823f61dfecff9099f5da67aa11449d521ca0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc4b1779e3649746e7d4de71bbfa5235166bdfea8c1af754fd6c446f6546d75dbffa80d1ec8f979bb61ec15b10dcedfe042dcf2a5ace1942cdb346a6fef491db
|
7
|
+
data.tar.gz: 5699729dd05db062fa99a7b4bc40dbab2cd8215dd9e9e057e3ea6ced5d52a209e6ab85c602a14dec5a690b198f539b011c394d8523772a980da37ae7e8052f90
|
data/README.md
CHANGED
@@ -23,7 +23,7 @@ Add this line to your application's Gemfile:
|
|
23
23
|
|
24
24
|
```ruby
|
25
25
|
group :development do
|
26
|
-
gem "who_am_i"
|
26
|
+
gem "who_am_i"
|
27
27
|
end
|
28
28
|
```
|
29
29
|
|
@@ -31,21 +31,13 @@ And then execute:
|
|
31
31
|
|
32
32
|
$ bundle
|
33
33
|
|
34
|
-
In your `Rakefile`:
|
35
|
-
|
36
|
-
```ruby
|
37
|
-
require "who_am_i/rake"
|
38
|
-
|
39
|
-
# ...
|
40
|
-
# after `Rails.application.load_tasks`
|
41
|
-
WhoAmI.load_rake_tasks
|
42
|
-
```
|
43
|
-
|
44
34
|
|
45
35
|
## Usage
|
46
36
|
|
47
37
|
Run `rake who_am_i` to update your model files.
|
48
38
|
|
39
|
+
By default, `who_am_i` also runs after migrating your database.
|
40
|
+
|
49
41
|
|
50
42
|
## Development
|
51
43
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module WhoAmI
|
2
2
|
class TableColumnInfo
|
3
|
-
def initialize(
|
4
|
-
@basic_model_class = basic_model_class
|
3
|
+
def initialize(table_name:, column:)
|
5
4
|
@column = column
|
5
|
+
@primary_key = ActiveRecord::Base.get_primary_key(@table_name)
|
6
6
|
end
|
7
7
|
|
8
8
|
def name
|
@@ -27,11 +27,11 @@ module WhoAmI
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def primary_key?
|
30
|
-
case @
|
30
|
+
case @primary_key
|
31
31
|
when Array
|
32
|
-
@
|
32
|
+
@primary_key.include?(name)
|
33
33
|
when String
|
34
|
-
@
|
34
|
+
@primary_key == name
|
35
35
|
else
|
36
36
|
false
|
37
37
|
end
|
data/lib/who_am_i/table_info.rb
CHANGED
@@ -8,24 +8,18 @@ module WhoAmI
|
|
8
8
|
|
9
9
|
def columns
|
10
10
|
@columns ||=
|
11
|
-
|
12
|
-
|
11
|
+
begin
|
12
|
+
columns_hash =
|
13
|
+
ActiveRecord::Base.connection.schema_cache.columns_hash(@table_name)
|
14
|
+
|
15
|
+
columns_hash.values.map do |column|
|
16
|
+
TableColumnInfo.new(table_name: @table_name, column: column)
|
17
|
+
end
|
13
18
|
end
|
14
19
|
end
|
15
20
|
|
16
21
|
def indices
|
17
|
-
@indices ||=
|
18
|
-
basic_model_class.connection.indexes(@table_name)
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def basic_model_class
|
24
|
-
@basic_model_class ||=
|
25
|
-
begin
|
26
|
-
table = @table_name
|
27
|
-
Class.new(ActiveRecord::Base) { self.table_name = table }
|
28
|
-
end
|
22
|
+
@indices ||= ActiveRecord::Base.connection.indexes(@table_name)
|
29
23
|
end
|
30
24
|
end
|
31
25
|
end
|
data/lib/who_am_i/version.rb
CHANGED
data/lib/who_am_i.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: who_am_i
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zach Ahn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -248,7 +248,7 @@ files:
|
|
248
248
|
- lib/who_am_i/function/resolve_table.rb
|
249
249
|
- lib/who_am_i/function/setup_environment.rb
|
250
250
|
- lib/who_am_i/function/write_model.rb
|
251
|
-
- lib/who_am_i/
|
251
|
+
- lib/who_am_i/railtie.rb
|
252
252
|
- lib/who_am_i/refinement/hash_dig.rb
|
253
253
|
- lib/who_am_i/refinement/yield_self.rb
|
254
254
|
- lib/who_am_i/table_column_info.rb
|