aam 0.0.5 → 0.0.8

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: 699245579213a9098682764ceed7c99eb8c421ffa666ab2b1f9e6cd6ebe56c4e
4
- data.tar.gz: 9c9332ffe62d2bc489a0c599ca13f48b8a8cee10955d1465b4de59859d7b31f4
3
+ metadata.gz: f5d090a2014c41a0f27f5e0064b048ece5ffac5df27541f4f15e2cc4c955f72c
4
+ data.tar.gz: 745cf9b2abbb273c17d47e6b4134e39dd8d32f2189d6e5792bfb6ee04d120fac
5
5
  SHA512:
6
- metadata.gz: 4947e3233adac7958abd5a096b997dcaf3fa345ce567406e2ed3fe23f1e494b3c7ca07314fc1302fd68431fb61044b69f6f4b467c3d7032b68c738436b5e0ef4
7
- data.tar.gz: f28178f423a1cf5731e6891e0b638238c11a84a577d0cd3725a8aecf3b582b3c5eaacc4e57110ddf5cba76718b80560b941b6ab2643045a250a411bdebf329eb
6
+ metadata.gz: 1f740c88a8435abfd5e42b5e717b53cf84fbf8f14f125dfa77a6af151a0b53344afdb1f6b0940e932d59c1cc0a7f4d4add43e2069f0efdd91a27329a411f8ef7
7
+ data.tar.gz: 4366e42568f1663aa99cd673c3c6203514d68f3b265e19c1006e2afddc1e6205e8aa155df2ddb453d5e0402a2b1dc4db1dc647069a2f3c4974f813746255d1ae
data/README.org CHANGED
@@ -1,15 +1,15 @@
1
- * DBのテーブルと対応するファイルにカラム情報を埋め込みまくる自分用ツール
1
+ * Advanced Annotate Models
2
2
 
3
- ** 使い方
3
+ ** How to use
4
4
 
5
5
  #+BEGIN_SRC shell
6
6
  $ rake aam
7
7
  #+END_SRC
8
8
 
9
- これで関連するファイルにカラム情報を埋め込みまくります。
10
- 必要そうなところにインデックスが張ってないと警告まで埋め込みます。
9
+ This will create column information in related files.
10
+ Embed warnings if there are no indexes in places you need.
11
11
 
12
- ** 単体で使う例
12
+ ** Examples of using alone
13
13
 
14
14
  #+BEGIN_SRC ruby
15
15
  ActiveRecord::Schema.define do
@@ -58,25 +58,25 @@ puts Aam::SchemaInfoGenerator.new(SubArticle).generate
58
58
  # >> #
59
59
  # >> # Userテーブル (users as User)
60
60
  # >> #
61
- # >> # +----------+------+---------+-------------+------+-------+
61
+ # >> # |----------+------+---------+-------------+------+-------|
62
62
  # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
63
- # >> # +----------+------+---------+-------------+------+-------+
63
+ # >> # |----------+------+---------+-------------+------+-------|
64
64
  # >> # | id | Id | integer | NOT NULL PK | | |
65
65
  # >> # | name | Name | string | | | A! |
66
66
  # >> # | flag | Flag | boolean | DEFAULT(f) | | |
67
- # >> # +----------+------+---------+-------------+------+-------+
67
+ # >> # |----------+------+---------+-------------+------+-------|
68
68
  # >> # == Schema Information ==
69
69
  # >> #
70
70
  # >> # Articleテーブル (articles as Article)
71
71
  # >> #
72
- # >> # +----------+----------+---------+-------------+-----------------------+-------+
72
+ # >> # |----------+----------+---------+-------------+-----------------------+-------|
73
73
  # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
74
- # >> # +----------+----------+---------+-------------+-----------------------+-------+
74
+ # >> # |----------+----------+---------+-------------+-----------------------+-------|
75
75
  # >> # | id | Id | integer | NOT NULL PK | | |
76
76
  # >> # | user_id | ユーザー | integer | | => User#id | A |
77
77
  # >> # | foo_type | Foo type | string | | モデル名(polymorphic) | |
78
78
  # >> # | foo_id | Foo | integer | | => (foo_type)#id | |
79
- # >> # +----------+----------+---------+-------------+-----------------------+-------+
79
+ # >> # |----------+----------+---------+-------------+-----------------------+-------|
80
80
  # >> #
81
81
  # >> #- 備考 -------------------------------------------------------------------------
82
82
  # >> # ・Article モデルは User モデルから has_many :articles されています。
@@ -86,24 +86,24 @@ puts Aam::SchemaInfoGenerator.new(SubArticle).generate
86
86
  # >> #
87
87
  # >> # Blogテーブル (blogs as Blog)
88
88
  # >> #
89
- # >> # +----------+------+---------+-------------+------+-------+
89
+ # >> # |----------+------+---------+-------------+------+-------|
90
90
  # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
91
- # >> # +----------+------+---------+-------------+------+-------+
91
+ # >> # |----------+------+---------+-------------+------+-------|
92
92
  # >> # | id | Id | integer | NOT NULL PK | | |
93
93
  # >> # | name | Name | string | | | |
94
- # >> # +----------+------+---------+-------------+------+-------+
94
+ # >> # |----------+------+---------+-------------+------+-------|
95
95
  # >> # == Schema Information ==
96
96
  # >> #
97
97
  # >> # なんとかテーブル (articles as SubArticle)
98
98
  # >> #
99
- # >> # +----------+----------+---------+-------------+--------------------------------------+-------+
99
+ # >> # |----------+----------+---------+-------------+--------------------------------------+-------|
100
100
  # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
101
- # >> # +----------+----------+---------+-------------+--------------------------------------+-------+
101
+ # >> # |----------+----------+---------+-------------+--------------------------------------+-------|
102
102
  # >> # | id | Id | integer | NOT NULL PK | | |
103
103
  # >> # | user_id | ユーザー | integer | | => User#id | A |
104
104
  # >> # | foo_type | Foo type | string | | モデル名(polymorphic) | |
105
105
  # >> # | foo_id | Foo | integer | | :blog => Blog#id と => (foo_type)#id | |
106
- # >> # +----------+----------+---------+-------------+--------------------------------------+-------+
106
+ # >> # |----------+----------+---------+-------------+--------------------------------------+-------|
107
107
  # >> #
108
108
  # >> #- 備考 -------------------------------------------------------------------------
109
109
  # >> # ・SubArticle モデルは User モデルから has_many :articles されています。
@@ -39,6 +39,7 @@ module Aam
39
39
  @counts[:error] += 1
40
40
  end
41
41
  end
42
+ puts
42
43
  puts "#{@counts[:success]} success, #{@counts[:skip]} skip, #{@counts[:error]} errors"
43
44
  end
44
45
 
@@ -74,7 +75,7 @@ module Aam
74
75
  end
75
76
 
76
77
  def write_to_relation_files
77
- puts "--------------------------------------------------------------------------------"
78
+ puts ""
78
79
  puts "--> #{@klass}"
79
80
  target_files = search_paths.collect {|search_path|
80
81
  v = Pathname.glob((@base.root_dir + search_path).expand_path)
@@ -1,3 +1,3 @@
1
1
  module Aam
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - akicho8
@@ -137,7 +137,6 @@ files:
137
137
  - Rakefile
138
138
  - aam.gemspec
139
139
  - examples/0100_example.rb
140
- - experiment/000_example.rb
141
140
  - lib/aam.rb
142
141
  - lib/aam/annotation.rb
143
142
  - lib/aam/railtie.rb
@@ -1,121 +0,0 @@
1
- $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
2
- require "aam"
3
-
4
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
5
- ActiveRecord::Schema.define do
6
- suppress_messages do
7
- create_table(:users) do |t|
8
- t.string :name, :limit => 32
9
- t.boolean :flag, :default => false
10
- end
11
- add_index :users, :name, :unique => true
12
-
13
- create_table(:articles) do |t|
14
- t.belongs_to :user, :index => false
15
- t.belongs_to :xxx, :polymorphic => true, :index => false
16
- end
17
-
18
- create_table(:blogs) do |t|
19
- t.string :name
20
- end
21
-
22
- create_table(:foos) do |t|
23
- t.belongs_to :user, :index => false
24
- t.belongs_to :xxx, :polymorphic => true, :index => false
25
- end
26
- end
27
- end
28
-
29
- class User < ActiveRecord::Base
30
- has_many :articles
31
- has_one :article, :as => :xxx
32
- end
33
-
34
- class Article < ActiveRecord::Base
35
- belongs_to :user
36
- belongs_to :xxx, :polymorphic => true
37
- end
38
-
39
- class Blog < ActiveRecord::Base
40
- has_many :sub_articles, :foreign_key => :xxx_id
41
- end
42
-
43
- class SubArticle < Article
44
- belongs_to :blog, :class_name => "Blog", :foreign_key => :xxx_id
45
- end
46
-
47
- class Foo < ActiveRecord::Base
48
- end
49
-
50
- Aam.logger = nil
51
- puts Aam::SchemaInfoGenerator.new(User).generate
52
- puts Aam::SchemaInfoGenerator.new(Article).generate
53
- puts Aam::SchemaInfoGenerator.new(SubArticle).generate
54
- puts Aam::SchemaInfoGenerator.new(Foo).generate
55
- # >> # == Schema Information ==
56
- # >> #
57
- # >> # Userテーブル (users as User)
58
- # >> #
59
- # >> # |----------+------+------------+-------------+------+-------|
60
- # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
61
- # >> # |----------+------+------------+-------------+------+-------|
62
- # >> # | id | Id | integer | NOT NULL PK | | |
63
- # >> # | name | Name | string(32) | | | A! |
64
- # >> # | flag | Flag | boolean | DEFAULT(f) | | |
65
- # >> # |----------+------+------------+-------------+------+-------|
66
- # >> # == Schema Information ==
67
- # >> #
68
- # >> # Articleテーブル (articles as Article)
69
- # >> #
70
- # >> # |----------+----------+---------+-------------+-----------------------+-------|
71
- # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
72
- # >> # |----------+----------+---------+-------------+-----------------------+-------|
73
- # >> # | id | Id | integer | NOT NULL PK | | |
74
- # >> # | user_id | User | integer | | => User#id | |
75
- # >> # | xxx_type | Xxx type | string | | モデル名(polymorphic) | |
76
- # >> # | xxx_id | Xxx | integer | | => (xxx_type)#id | |
77
- # >> # |----------+----------+---------+-------------+-----------------------+-------|
78
- # >> #
79
- # >> #- 備考 -------------------------------------------------------------------------
80
- # >> # ・【警告:インデックス欠如】create_articles マイグレーションに add_index :articles, :user_id を追加してください
81
- # >> # ・Article モデルは User モデルから has_many :articles されています。
82
- # >> # ・【警告:インデックス欠如】create_articles マイグレーションに add_index :articles, [:xxx_id, :xxx_type] を追加してください
83
- # >> #--------------------------------------------------------------------------------
84
- # >> # == Schema Information ==
85
- # >> #
86
- # >> # Sub articleテーブル (articles as SubArticle)
87
- # >> #
88
- # >> # |----------+----------+---------+-------------+--------------------------------------+-------|
89
- # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
90
- # >> # |----------+----------+---------+-------------+--------------------------------------+-------|
91
- # >> # | id | Id | integer | NOT NULL PK | | |
92
- # >> # | user_id | User | integer | | => User#id | |
93
- # >> # | xxx_type | Xxx type | string | | モデル名(polymorphic) | |
94
- # >> # | xxx_id | Xxx | integer | | :blog => Blog#id と => (xxx_type)#id | |
95
- # >> # |----------+----------+---------+-------------+--------------------------------------+-------|
96
- # >> #
97
- # >> #- 備考 -------------------------------------------------------------------------
98
- # >> # ・【警告:インデックス欠如】create_articles マイグレーションに add_index :articles, :user_id を追加してください
99
- # >> # ・SubArticle モデルは User モデルから has_many :articles されています。
100
- # >> # ・【警告:インデックス欠如】create_articles マイグレーションに add_index :articles, [:xxx_id, :xxx_type] を追加してください
101
- # >> # ・SubArticle モデルは Blog モデルから has_many :sub_articles, :foreign_key => :xxx_id されています。
102
- # >> #--------------------------------------------------------------------------------
103
- # >> # == Schema Information ==
104
- # >> #
105
- # >> # Fooテーブル (foos as Foo)
106
- # >> #
107
- # >> # |----------+----------+---------+-------------+------+-------|
108
- # >> # | カラム名 | 意味 | タイプ | 属性 | 参照 | INDEX |
109
- # >> # |----------+----------+---------+-------------+------+-------|
110
- # >> # | id | Id | integer | NOT NULL PK | | |
111
- # >> # | user_id | User | integer | | | |
112
- # >> # | xxx_type | Xxx type | string | | | |
113
- # >> # | xxx_id | Xxx | integer | | | |
114
- # >> # |----------+----------+---------+-------------+------+-------|
115
- # >> #
116
- # >> #- 備考 -------------------------------------------------------------------------
117
- # >> # ・【警告:インデックス欠如】create_foos マイグレーションに add_index :foos, :user_id を追加してください
118
- # >> # ・【警告】Foo モデルに belongs_to :user を追加してください
119
- # >> # ・【警告:インデックス欠如】create_foos マイグレーションに add_index :foos, [:xxx_id, :xxx_type] を追加してください
120
- # >> # ・【警告】Foo モデルに belongs_to :xxx, :polymorphic => true を追加してください
121
- # >> #--------------------------------------------------------------------------------