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
c40faf4a
Commit
c40faf4a
authored
Jan 13, 2015
by
Cuong Tran
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #225 from kamilbielawski/comments_wrapping
Add pre/post wrapper for annotation block
parents
cb331bbe
a84af5e8
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
29 additions
and
2 deletions
+29
-2
README.rdoc
README.rdoc
+4
-0
annotate
bin/annotate
+13
-0
annotate_models.rb
lib/annotate/annotate_models.rb
+5
-2
annotate_models.rake
lib/tasks/annotate_models.rake
+2
-0
annotate_models_spec.rb
spec/annotate/annotate_models_spec.rb
+5
-0
No files found.
README.rdoc
View file @
c40faf4a
...
...
@@ -167,6 +167,10 @@ you can do so with a simple environment variable, instead of editing the
Place the annotations at the top (before) or the bottom (after) of the routes.rb file
--ps, --position-in-serializer [before|top|after|bottom]
Place the annotations at the top (before) or the bottom (after) of the serializer files
--w, --wrapper STR Wrap annotation with the text passed as parameter.
If --w option is used, the same text will be used as opening and closing
--wo, --wrapper-open STR Annotation wrapper opening.
--wc, --wrapper-close STR Annotation wrapper closing
-r, --routes Annotate routes.rb with the output of 'rake routes'
-v, --version Show the current version of this gem
-m, --show-migration Include the migration version number in the annotation
...
...
bin/annotate
View file @
c40faf4a
...
...
@@ -78,6 +78,19 @@ OptionParser.new do |opts|
has_set_position
[
'position_in_serializer'
]
=
true
end
opts
.
on
(
'--w'
,
'--wrapper STR'
,
'Wrap annotation with the text passed as parameter.'
,
'If --w option is used, the same text will be used as opening and closing'
)
do
|
p
|
ENV
[
'wrapper'
]
=
p
end
opts
.
on
(
'--wo'
,
'--wrapper-open STR'
,
'Annotation wrapper opening.'
)
do
|
p
|
ENV
[
'wrapper_open'
]
=
p
end
opts
.
on
(
'--wc'
,
'--wrapper-close STR'
,
'Annotation wrapper closing'
)
do
|
p
|
ENV
[
'wrapper_close'
]
=
p
end
opts
.
on
(
'-r'
,
'--routes'
,
"Annotate routes.rb with the output of 'rake routes'"
)
do
target
=
{
...
...
lib/annotate/annotate_models.rb
View file @
c40faf4a
...
...
@@ -253,6 +253,9 @@ module AnnotateModels
new_content
=
old_content
.
sub
(
PATTERN
,
"
\n
"
+
info_block
)
end
wrapper_open
=
options
[
:wrapper_open
]
?
"#
#{
options
[
:wrapper_open
]
}
\n
"
:
""
wrapper_close
=
options
[
:wrapper_close
]
?
"
\n
#
#{
options
[
:wrapper_close
]
}
"
:
""
wrapped_info_block
=
"
#{
wrapper_open
}#{
info_block
}#{
wrapper_close
}
"
# if there *was* no old schema info (no substitution happened) or :force was passed,
# we simply need to insert it in correct position
if
new_content
==
old_content
||
options
[
:force
]
...
...
@@ -260,8 +263,8 @@ module AnnotateModels
old_content
.
sub!
(
PATTERN
,
''
)
new_content
=
%w(after bottom)
.
include?
(
options
[
position
].
to_s
)
?
(
encoding_header
+
(
old_content
.
rstrip
+
"
\n\n
"
+
info_block
))
:
(
encoding_header
+
info_block
+
"
\n
"
+
old_content
)
(
encoding_header
+
(
old_content
.
rstrip
+
"
\n\n
"
+
wrapped_
info_block
))
:
(
encoding_header
+
wrapped_
info_block
+
"
\n
"
+
old_content
)
end
File
.
open
(
file_name
,
"wb"
)
{
|
f
|
f
.
puts
new_content
}
...
...
lib/tasks/annotate_models.rake
View file @
c40faf4a
...
...
@@ -31,6 +31,8 @@ task :annotate_models => :environment do
options
[
:sort
]
=
Annotate
.
true?
(
ENV
[
'sort'
])
options
[
:force
]
=
Annotate
.
true?
(
ENV
[
'force'
])
options
[
:trace
]
=
Annotate
.
true?
(
ENV
[
'trace'
])
options
[
:wrapper_open
]
=
Annotate
.
fallback
(
ENV
[
'wrapper_open'
],
ENV
[
'wrapper'
])
options
[
:wrapper_close
]
=
Annotate
.
fallback
(
ENV
[
'wrapper_close'
],
ENV
[
'wrapper'
])
AnnotateModels
.
do_annotations
(
options
)
end
...
...
spec/annotate/annotate_models_spec.rb
View file @
c40faf4a
...
...
@@ -455,6 +455,11 @@ end
expect
(
File
.
read
(
@model_file_name
)).
to
eq
(
"
#{
@file_content
}
\n
#{
@schema_info
}
"
)
end
it
'should wrap annotation if wrapper is specified'
do
annotate_one_file
:wrapper_open
=>
'START'
,
:wrapper_close
=>
'END'
expect
(
File
.
read
(
@model_file_name
)).
to
eq
(
"# START
\n
#{
@schema_info
}
\n
# END
\n
#{
@file_content
}
"
)
end
describe
"with existing annotation => :before"
do
before
do
annotate_one_file
:position
=>
:before
...
...
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