Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
annotate
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open-source
annotate
Commits
6def6505
Commit
6def6505
authored
Mar 09, 2008
by
Jack Danger Canty
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reverting commit that accidentally included class << self refactoring. Still
trying to figure this git stuff out ;) This reverts commit
a7e0b8cb
.
parent
a7e0b8cb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
21 deletions
+11
-21
annotate_models.rb
lib/annotate_models.rb
+11
-21
No files found.
lib/annotate_models.rb
View file @
6def6505
...
@@ -65,10 +65,10 @@ module AnnotateModels
...
@@ -65,10 +65,10 @@ module AnnotateModels
# on the columns and their types) and put it at the front
# on the columns and their types) and put it at the front
# of the model and fixture source files.
# of the model and fixture source files.
def
self
.
annotate
(
klass
,
file
,
header
)
def
self
.
annotate
(
klass
,
header
)
info
=
get_schema_info
(
klass
,
header
)
info
=
get_schema_info
(
klass
,
header
)
model_file_name
=
File
.
join
(
MODEL_DIR
,
file
)
model_file_name
=
File
.
join
(
MODEL_DIR
,
klass
.
name
.
underscore
+
".rb"
)
annotate_one_file
(
model_file_name
,
info
)
annotate_one_file
(
model_file_name
,
info
)
fixture_file_name
=
File
.
join
(
FIXTURE_DIR
,
klass
.
table_name
+
".yml"
)
fixture_file_name
=
File
.
join
(
FIXTURE_DIR
,
klass
.
table_name
+
".yml"
)
...
@@ -80,7 +80,7 @@ module AnnotateModels
...
@@ -80,7 +80,7 @@ module AnnotateModels
# the underscore or CamelCase versions of model names.
# the underscore or CamelCase versions of model names.
# Otherwise we take all the model files in the
# Otherwise we take all the model files in the
# app/models directory.
# app/models directory.
def
self
.
get_model_
fil
es
def
self
.
get_model_
nam
es
models
=
ARGV
.
dup
models
=
ARGV
.
dup
models
.
shift
models
.
shift
...
@@ -91,24 +91,12 @@ module AnnotateModels
...
@@ -91,24 +91,12 @@ module AnnotateModels
end
end
models
models
end
end
# Retrieve the classes belonging to the model names we're asked to process
# Check for namespaced models in subdirectories as well as models
# in subdirectories without namespacing.
def
self
.
get_model_class
(
file
)
model
=
file
.
gsub
(
/\.rb$/
,
''
).
camelize
parts
=
model
.
split
(
'::'
)
begin
parts
.
inject
(
Object
)
{
|
klass
,
part
|
klass
.
const_get
(
part
)
}
rescue
LoadError
Object
.
const_get
(
parts
.
last
)
end
end
# We're passed a name of things that might be
# We're passed a name of things that might be
# ActiveRecord models. If we can find the class, and
# ActiveRecord models. If we can find the class, and
# if its a subclass of ActiveRecord::Base,
# if its a subclass of ActiveRecord::Base,
# then pas it to the associated block
# then pas it to the associated block
def
self
.
do_annotations
def
self
.
do_annotations
header
=
PREFIX
.
dup
header
=
PREFIX
.
dup
version
=
ActiveRecord
::
Migrator
.
current_version
rescue
0
version
=
ActiveRecord
::
Migrator
.
current_version
rescue
0
...
@@ -117,16 +105,18 @@ module AnnotateModels
...
@@ -117,16 +105,18 @@ module AnnotateModels
end
end
annotated
=
[]
annotated
=
[]
self
.
get_model_files
.
each
do
|
file
|
self
.
get_model_names
.
each
do
|
m
|
class_name
=
m
.
sub
(
/\.rb$/
,
''
).
camelize
begin
begin
klass
=
get_model_class
(
file
)
klass
=
class_name
.
split
(
'::'
).
inject
(
Object
){
|
klass
,
part
|
klass
.
const_get
(
part
)
}
if
klass
<
ActiveRecord
::
Base
&&
!
klass
.
abstract_class?
if
klass
<
ActiveRecord
::
Base
&&
!
klass
.
abstract_class?
annotated
<<
klass
annotated
<<
class_name
self
.
annotate
(
klass
,
file
,
header
)
self
.
annotate
(
klass
,
header
)
end
end
rescue
Exception
=>
e
rescue
Exception
=>
e
puts
"Unable to annotate
#{
fil
e
}
:
#{
e
.
message
}
"
puts
"Unable to annotate
#{
class_nam
e
}
:
#{
e
.
message
}
"
end
end
end
end
puts
"Annotated
#{
annotated
.
join
(
', '
)
}
"
puts
"Annotated
#{
annotated
.
join
(
', '
)
}
"
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment