summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Ivanov <ialexxei@gmail.com>2016-08-13 21:47:43 +0300
committerMarc Cornellà <marc.cornella@live.com>2016-08-13 20:47:43 +0200
commit51c10783e1f09d72dfd0d8d4b6301974919ed0e4 (patch)
treed8325be4ac76acee8954751fa4b4f007009e0daf
parent906a7731af7499a9e5fa8795f0427180904d9122 (diff)
downloadzsh-51c10783e1f09d72dfd0d8d4b6301974919ed0e4.tar.gz
zsh-51c10783e1f09d72dfd0d8d4b6301974919ed0e4.tar.bz2
zsh-51c10783e1f09d72dfd0d8d4b6301974919ed0e4.zip
refresh .rake_tasks when lib/tasks changed (#5111)
-rw-r--r--plugins/rake-fast/rake-fast.plugin.zsh14
1 files changed, 13 insertions, 1 deletions
diff --git a/plugins/rake-fast/rake-fast.plugin.zsh b/plugins/rake-fast/rake-fast.plugin.zsh
index d305eb1f0..57d699abc 100644
--- a/plugins/rake-fast/rake-fast.plugin.zsh
+++ b/plugins/rake-fast/rake-fast.plugin.zsh
@@ -8,7 +8,19 @@ _rake_refresh () {
}
_rake_does_task_list_need_generating () {
- [[ ! -f .rake_tasks ]] || [[ Rakefile -nt .rake_tasks ]]
+ [[ ! -f .rake_tasks ]] || [[ Rakefile -nt .rake_tasks ]] || (_is_rails_app && _tasks_changed)
+}
+
+_is_rails_app () {
+ [[ -e "bin/rails" ]] || [ -e "script/rails" ]
+}
+
+_tasks_changed () {
+ local is_changed=1
+ for file in lib/tasks/**/*.rake; do
+ if [[ $file -nt .rake_tasks ]]; then is_changed=0; fi
+ done
+ return is_changed
}
_rake_generate () {