Sha256: 6b9d72fbb3810cca4fdfc3d0c974154ff29bb40f4736c2da6e12d11f2192474a
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
require 'singleton' require 'fileutils' require 'yaml' module RailsGui module Model # abstracts rails commands like `rails routes` and `rails generate ...` class RailsCommand include Singleton FILE_ROUTES = File.join(Dir.home, '.rails-gui', 'routes.yml') def routes @routes = load_routes refresh_routes if @routes.nil? @routes end def load_routes FileUtils.mkdir_p(File.dirname(FILE_ROUTES)) YAML.load(File.read(FILE_ROUTES)) rescue => e puts "No routes found at: #{FILE_ROUTES}" Glimmer::Config.logger.error {e.full_message} nil end def save_routes FileUtils.mkdir_p(File.dirname(FILE_ROUTES)) File.write(FILE_ROUTES, YAML.dump(@routes)) rescue => e puts "Cannot save routes at: #{FILE_ROUTES}" Glimmer::Config.logger.error {e.full_message} end def fetch_routes `rails routes`.lines.drop(1).map do |line| cells = line.split cells.prepend('') if cells[0] && (cells[0] == cells[0].upcase) cells.insert(1, '') if cells[1] && (cells[1] != cells[1].upcase) cells end end def refresh_routes @routes = fetch_routes save_routes @routes end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails-gui-0.0.2 | app/rails_gui/model/rails_command.rb |