who_am_i 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|