From 16573133e6731d087b0f56dbc62a180411845904 Mon Sep 17 00:00:00 2001 From: Lee Machin Date: Wed, 11 Dec 2013 15:21:55 +0000 Subject: [PATCH] Don't like the executable - use config.ru again for now --- config.ru | 10 ++++++++++ lib/mpd_client.rb | 4 ++++ bin/mpd_client => lib/mpd_client/webserver.rb | 20 ++----------------- spec/spec_helper.rb | 5 ++++- 4 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 config.ru rename bin/mpd_client => lib/mpd_client/webserver.rb (88%) diff --git a/config.ru b/config.ru new file mode 100644 index 0000000..fdf0aaa --- /dev/null +++ b/config.ru @@ -0,0 +1,10 @@ +ENV['RACK_ENV'] ||= 'development' + +require 'bundler' + +Bundler.setup +Bundler.require(:default, ENV['RACK_ENV']) + +require File.expand_path('lib/mpd_client', __dir__) + +run MPDClient::Webserver diff --git a/lib/mpd_client.rb b/lib/mpd_client.rb index 7d9bfd4..3ce89b0 100644 --- a/lib/mpd_client.rb +++ b/lib/mpd_client.rb @@ -1,6 +1,7 @@ require 'forwardable' require 'ruby-mpd' require 'set' +require 'json' module MPDClient @@ -14,6 +15,9 @@ module MPDClient autoload :Control, File.expand_path('mpd_client/control.rb', __dir__) autoload :Queue, File.expand_path('mpd_client/queue.rb', __dir__) + # Don't want to automatically require this thing + autoload :Webserver, File.expand_path('mpd_client/webserver.rb', __dir__) + MPD_HOST = ENV.fetch('MPD_HOST', 'localhost') MPD_PORT = ENV.fetch('MPD_PORT', 6600) diff --git a/bin/mpd_client b/lib/mpd_client/webserver.rb similarity index 88% rename from bin/mpd_client rename to lib/mpd_client/webserver.rb index 864007b..db6cc7b 100755 --- a/bin/mpd_client +++ b/lib/mpd_client/webserver.rb @@ -1,29 +1,15 @@ -#!/usr/bin/env ruby - -ENV['RACK_ENV'] ||= 'development' - -require 'bundler' - -Bundler.setup -Bundler.require(:default, ENV['RACK_ENV']) - require 'sinatra' require 'sinatra/asset_pipeline' - require 'sass' -require 'json' require 'cgi' - require 'active_support/core_ext/hash/slice' -require File.expand_path('../lib/mpd_client', __dir__) - module MPDClient - class Application < Sinatra::Base + class Webserver < Sinatra::Base set server: 'thin' - set :root, File.expand_path('../', __dir__) + set :root, File.expand_path('../../', __dir__) set :assets_precompile, %w(app.js app.css *.png *.jpg *.svg *.eot *.ttf *.woff) set :assets_prefix, ['assets'] @@ -131,5 +117,3 @@ module MPDClient end end - -MPDClient::Application.run! diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 120b0b4..268d212 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,12 +1,15 @@ ENV['RACK_ENV'] = 'test' +require 'bundler' +Bundler.setup +Bundler.require(:default, ENV['RACK_ENV']) + require File.expand_path('../lib/mpd_client', __dir__) require 'rspec' require 'rspec/mocks' require 'rack/test' RSpec.configure do |config| - config.include Rack::Test::Methods config.before(:each) do allow_message_expectations_on_nil