lib/buoys/loader.rb in buoys-0.2.0 vs lib/buoys/loader.rb in buoys-0.3.0
- old
+ new
@@ -11,25 +11,39 @@
# pre_buoy :account
# end
def buoy(key, &block)
buoys[key] = block
end
- alias_method :crumb, :buoy
+ alias crumb buoy
def buoys
@buoys ||= {}
end
+ def loaded_times
+ @loaded_times ||= []
+ end
+
def load_buoys_files
+ return unless need_reload?
+
buoys.clear
+ loaded_times.clear
buoy_files.each do |file|
instance_eval open(file).read, file
+ loaded_times << File.mtime(file)
end
end
def buoy_files
Dir[*Buoys.buoy_file_paths]
+ end
+
+ def need_reload?
+ return true if buoys.empty?
+
+ Rails.env.development? && loaded_times != buoy_files.map {|f| File.mtime(f) }
end
end
end
end