Sha256: 7697ee1c99a5e17537663e1cfb2e344bf44bff5df762cb3503ef7f6900f2b4b6
Contents?: true
Size: 1.18 KB
Versions: 2
Compression:
Stored size: 1.18 KB
Contents
module Doggy class CLI::Edit def initialize(options, param) @options = options @param = param end def run resource = resource_by_param return Doggy.ui.error("Could not find resource with #{ @param }") unless resource Dir.chdir(File.dirname(resource.path)) do system("open '#{ resource.human_edit_url }'") while !Doggy.ui.yes?('Are you done editing?') do Doggy.ui.say "run, rabbit run / dig that hole, forget the sun / and when at last the work is done / don't sit down / it's time to dig another one" end new_resource = resource.class.find(resource.id) new_resource.path = resource.path new_resource.save_local end end private def resource_by_param resources = Doggy::Models::Dashboard.all_local resources += Doggy::Models::Monitor.all_local resources += Doggy::Models::Screen.all_local if @param =~ /^[0-9]+$/ then id = @param.to_i return resources.find { |res| res.id == id } else full_path = File.expand_path(@param, Dir.pwd) return resources.find { |res| res.path == full_path } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
doggy-2.0.1 | lib/doggy/cli/edit.rb |
doggy-2.0.0 | lib/doggy/cli/edit.rb |