[PATCH conductor] RM #3269: Figure out what is wrong with deps (ruby/bundler mode)
Imre Farkas
ifarkas at redhat.com
Thu May 24 15:11:49 UTC 2012
On 05/23/2012 11:18 PM, Jason Guiditta wrote:
> Bundle install has not been working, largely because nobody has really
> used it in months. The main purpose of this patch is to get that back
> to working, and the app to start. In the process, it has added partial
> fixes to get everything working on Rails 3.2. There are some remaining
> issues to be vetted by the community, but this patch gets us closer to
> working there (where 'there' == non-rpm environment).
>
> The reason for this disparity is that fedora and rhel have altered the
> gemspec for 1 or more of our gem deps, so that versions that cannot coexist
> in the ruby world can do so in rpmland. The earliest version of Rails that
> works with the newer rack that the rack-restful_submit gem needs is the
> 3.2 series. All tests and functionality should continue to work on our
> current development platforms (rpm distros), but this also gets us a good
> chunk of the way to supporting the newest Rails, which we want to move to
> at some point anyway.
> ---
> src/Gemfile.in | 11 +-
> src/Gemfile.lock | 226 +++++++++++---------
> src/app/views/layouts/error.html.haml | 3 +
> src/config/application.rb | 9 +-
> src/config/environments/development.rb | 4 +-
> src/config/initializers/forms_helper.rb | 14 ++
> src/features/step_definitions/pool_family_steps.rb | 2 +-
> src/features/support/vcr.rb | 4 +-
> src/spec/vcr_setup_norec.rb | 3 -
> 9 files changed, 153 insertions(+), 123 deletions(-)
> create mode 100644 src/app/views/layouts/error.html.haml
> create mode 100644 src/config/initializers/forms_helper.rb
>
> diff --git a/src/Gemfile.in b/src/Gemfile.in
> index c0a86f4..079151d 100644
> --- a/src/Gemfile.in
> +++ b/src/Gemfile.in
> @@ -1,6 +1,6 @@
> source :rubygems
>
> -gem 'rails', '>= 3.0.7'
> +gem 'rails'
>
> gem 'deltacloud-client', :require => 'deltacloud'
> gem 'sass'
> @@ -17,22 +17,23 @@ gem 'thin'
> gem 'json'
> gem 'rails_warden'
> gem 'ruby-net-ldap', :require => 'net/ldap'
> -gem 'aeolus-image', :require => 'aeolus_image'
> +gem 'aeolus-image', '>= 0.4.0', :require => 'aeolus_image'
> gem 'oauth'
> -gem 'delayed_job'
> +gem 'delayed_job', '~> 2.1.4'
> gem 'paranoia'
> +
> platforms :ruby_18 do
> gem 'fastercsv'
> end
> group :development, :test do
> gem 'rspec-rails'
> - gem 'factory_girl_rails'
> + gem 'factory_girl_rails', '~> 1.4.0'
> gem 'timecop'
> gem 'capybara'
> gem 'cucumber'
> gem 'cucumber-rails', :require => false
> gem 'database_cleaner'
> - gem 'vcr'
> + gem 'vcr', '< 2.0.0'
> gem 'webmock'
> gem 'launchy'
> end
> diff --git a/src/Gemfile.lock b/src/Gemfile.lock
> index 132f5b5..715d214 100644
> --- a/src/Gemfile.lock
> +++ b/src/Gemfile.lock
> @@ -1,127 +1,137 @@
> GEM
> remote: http://rubygems.org/
> specs:
> - abstract (1.0.0)
> - actionmailer (3.0.10)
> - actionpack (= 3.0.10)
> - mail (~> 2.3.0)
> - actionpack (3.0.10)
> - activemodel (= 3.0.10)
> - activesupport (= 3.0.10)
> - builder (~> 2.1.2)
> - erubis (~> 2.6.6)
> - i18n (~> 0.5.0)
> - rack (>= 1.2.1)
> - rack-mount (>= 0.6.14)
> - rack-test (>= 0.5.4)
> - tzinfo (~> 0.3.23)
> - activemodel (3.0.10)
> - activesupport (= 3.0.10)
> - builder (~> 2.1.2)
> - i18n (~> 0.5.0)
> - activerecord (3.0.10)
> - activemodel (= 3.0.10)
> - activesupport (= 3.0.10)
> - arel (~> 2.0.9)
> - tzinfo (~> 0.3.23)
> - activeresource (3.0.10)
> - activemodel (= 3.0.10)
> - activesupport (= 3.0.10)
> - activesupport (3.0.10)
> - addressable (2.2.6)
> + actionmailer (3.2.3)
> + actionpack (= 3.2.3)
> + mail (~> 2.4.4)
> + actionpack (3.2.3)
> + activemodel (= 3.2.3)
> + activesupport (= 3.2.3)
> + builder (~> 3.0.0)
> + erubis (~> 2.7.0)
> + journey (~> 1.0.1)
> + rack (~> 1.4.0)
> + rack-cache (~> 1.2)
> + rack-test (~> 0.6.1)
> + sprockets (~> 2.1.2)
> + activemodel (3.2.3)
> + activesupport (= 3.2.3)
> + builder (~> 3.0.0)
> + activerecord (3.2.3)
> + activemodel (= 3.2.3)
> + activesupport (= 3.2.3)
> + arel (~> 3.0.2)
> + tzinfo (~> 0.3.29)
> + activeresource (3.2.3)
> + activemodel (= 3.2.3)
> + activesupport (= 3.2.3)
> + activesupport (3.2.3)
> + i18n (~> 0.6)
> + multi_json (~> 1.0)
> + addressable (2.2.8)
> aeolus-image (0.4.0)
> - activeresource (~> 3.0.10)
> + activeresource (>= 3.0.10)
> nokogiri (>= 0.4.0)
> oauth
> rest-client
> - arel (2.0.9)
> - builder (2.1.2)
> - capybara (1.1.1)
> + arel (3.0.2)
> + builder (3.0.0)
> + capybara (1.1.2)
> mime-types (>= 1.16)
> nokogiri (>= 1.3.3)
> rack (>= 1.0.0)
> rack-test (>= 0.5.4)
> selenium-webdriver (~> 2.0)
> xpath (~> 0.1.4)
> - childprocess (0.2.0)
> + childprocess (0.3.2)
> ffi (~> 1.0.6)
> - crack (0.1.8)
> - cucumber (1.0.1)
> + crack (0.3.1)
> + cucumber (1.2.0)
> builder (>= 2.1.2)
> - diff-lcs (>= 1.1.2)
> - gherkin (~> 2.4.5)
> + diff-lcs (>= 1.1.3)
> + gherkin (~> 2.10.0)
> json (>= 1.4.6)
> - term-ansicolor (>= 1.0.5)
> - cucumber-rails (1.0.2)
> - capybara (>= 1.0.0)
> - cucumber (~> 1.0.0)
> - nokogiri (>= 1.4.6)
> - daemons (1.0.10)
> - database_cleaner (0.6.6)
> + cucumber-rails (1.3.0)
> + capybara (>= 1.1.2)
> + cucumber (>= 1.1.8)
> + nokogiri (>= 1.5.0)
> + daemons (1.1.8)
> + database_cleaner (0.7.2)
> delayed_job (2.1.4)
> activesupport (~> 3.0)
> daemons
> deltacloud-client (0.5.0)
> nokogiri (>= 1.4.3)
> rest-client (>= 1.6.1)
> - diff-lcs (1.1.2)
> - erubis (2.6.6)
> - abstract (>= 1.0.0)
> + diff-lcs (1.1.3)
> + erubis (2.7.0)
> eventmachine (0.12.10)
> factory_girl (2.3.2)
> activesupport
> factory_girl_rails (1.4.0)
> factory_girl (~> 2.3.0)
> railties (>= 3.0.0)
> - fastercsv (1.5.4)
> - ffi (1.0.9)
> - gherkin (2.4.5)
> + fastercsv (1.5.5)
> + ffi (1.0.11)
> + gherkin (2.10.0)
> json (>= 1.4.6)
> - haml (3.1.2)
> - i18n (0.5.0)
> - json (1.4.6)
> - json_pure (1.5.1)
> - launchy (2.0.5)
> + haml (3.1.6)
> + hike (1.2.1)
> + i18n (0.6.0)
> + journey (1.0.3)
> + json (1.7.3)
> + launchy (2.1.0)
> addressable (~> 2.2.6)
> - mail (2.3.0)
> + libwebsocket (0.1.3)
> + addressable
> + mail (2.4.4)
> i18n (>= 0.4.0)
> mime-types (~> 1.16)
> treetop (~> 1.4.8)
> - mime-types (1.16)
> + mime-types (1.18)
> + multi_json (1.3.5)
> mustache (0.99.4)
> nokogiri (1.5.2)
> - oauth (0.4.4)
> - pg (0.11.0)
> - polyglot (0.3.1)
> - rack (1.3.0)
> - rack-mount (0.7.1)
> - rack (>= 1.0.0)
> - regin (>= 0.3.7)
> - rack-restful_submit (1.2.1)
> - rack (~> 1.3.0)
> - rack-test (0.6.0)
> + oauth (0.4.6)
> + paranoia (1.1.0)
> + activerecord (>= 3.0.0)
> + pg (0.13.2)
> + polyglot (0.3.3)
> + rack (1.4.1)
> + rack-cache (1.2)
> + rack (>= 0.4)
> + rack-restful_submit (1.2.2)
> + rack (~> 1.3)
> + rack-ssl (1.3.2)
> + rack
> + rack-test (0.6.1)
> rack (>= 1.0)
> - rails (3.0.10)
> - actionmailer (= 3.0.10)
> - actionpack (= 3.0.10)
> - activerecord (= 3.0.10)
> - activeresource (= 3.0.10)
> - activesupport (= 3.0.10)
> + rails (3.2.3)
> + actionmailer (= 3.2.3)
> + actionpack (= 3.2.3)
> + activerecord (= 3.2.3)
> + activeresource (= 3.2.3)
> + activesupport (= 3.2.3)
> bundler (~> 1.0)
> - railties (= 3.0.10)
> - rails_warden (0.5.5)
> + railties (= 3.2.3)
> + rails_warden (0.5.6)
> warden (>= 1.0.0)
> - railties (3.0.10)
> - actionpack (= 3.0.10)
> - activesupport (= 3.0.10)
> + railties (3.2.3)
> + actionpack (= 3.2.3)
> + activesupport (= 3.2.3)
> + rack-ssl (~> 1.3.2)
> rake (>= 0.8.7)
> rdoc (~> 3.4)
> - thor (~> 0.14.4)
> + thor (~> 0.14.6)
> rake (0.9.2.2)
> - rdoc (3.8)
> - regin (0.3.8)
> - rest-client (1.6.1)
> + rdoc (3.12)
> + json (~> 1.4)
> + rest-client (1.6.7)
> mime-types (>= 1.16)
> + rspec (2.6.0)
> + rspec-core (~> 2.6.0)
> + rspec-expectations (~> 2.6.0)
> + rspec-mocks (~> 2.6.0)
> rspec-core (2.6.4)
> rspec-expectations (2.6.0)
> diff-lcs (~> 1.1.2)
> @@ -130,38 +140,41 @@ GEM
> actionpack (~> 3.0)
> activesupport (~> 3.0)
> railties (~> 3.0)
> - rspec-core (~> 2.6.0)
> - rspec-expectations (~> 2.6.0)
> - rspec-mocks (~> 2.6.0)
> + rspec (~> 2.6.0)
> ruby-net-ldap (0.0.4)
> - rubyzip (0.9.4)
> - sass (3.1.7)
> - selenium-webdriver (2.3.2)
> - childprocess (>= 0.1.9)
> - ffi (>= 1.0.7)
> - json_pure
> + rubyzip (0.9.8)
> + sass (3.1.18)
> + selenium-webdriver (2.21.2)
> + childprocess (>= 0.2.5)
> + ffi (~> 1.0)
> + libwebsocket (~> 0.1.3)
> + multi_json (~> 1.0)
> rubyzip
> - simple-navigation (3.0.0)
> + simple-navigation (3.7.0)
> activesupport (>= 2.3.2)
> - term-ansicolor (1.0.7)
> - thin (1.2.11)
> + sprockets (2.1.3)
> + hike (~> 1.2)
> + rack (~> 1.0)
> + tilt (~> 1.1, != 1.3.0)
> + thin (1.3.1)
> daemons (>= 1.0.9)
> eventmachine (>= 0.12.6)
> rack (>= 1.0.0)
> thor (0.14.6)
> + tilt (1.3.3)
> timecop (0.3.5)
> treetop (1.4.10)
> polyglot
> polyglot (>= 0.3.1)
> - tzinfo (0.3.26)
> - uuidtools (2.1.1)
> - vcr (1.10.0)
> - warden (1.0.5)
> + tzinfo (0.3.33)
> + uuidtools (2.1.2)
> + vcr (1.11.3)
> + warden (1.2.0)
> rack (>= 1.0)
> - webmock (1.7.6)
> - addressable (~> 2.2,> 2.2.5)
> + webmock (1.8.7)
> + addressable (>= 2.2.7)
> crack (>= 0.1.7)
> - will_paginate (3.0.pre2)
> + will_paginate (3.0.3)
> xpath (0.1.4)
> nokogiri (~> 1.3)
>
> @@ -169,14 +182,14 @@ PLATFORMS
> ruby
>
> DEPENDENCIES
> - aeolus-image
> + aeolus-image (>= 0.4.0)
> capybara
> cucumber
> cucumber-rails
> database_cleaner
> - delayed_job
> + delayed_job (~> 2.1.4)
> deltacloud-client
> - factory_girl_rails
> + factory_girl_rails (~> 1.4.0)
> fastercsv
> haml
> json
> @@ -184,9 +197,10 @@ DEPENDENCIES
> mustache
> nokogiri
> oauth
> + paranoia
> pg
> rack-restful_submit
> - rails (>= 3.0.7)
> + rails
> rails_warden
> rest-client
> rspec-rails
> @@ -196,6 +210,6 @@ DEPENDENCIES
> thin
> timecop
> uuidtools
> - vcr
> + vcr (< 2.0.0)
> webmock
> will_paginate (>= 3.0.pre1)
> diff --git a/src/app/views/layouts/error.html.haml b/src/app/views/layouts/error.html.haml
> new file mode 100644
> index 0000000..3c12a6a
> --- /dev/null
> +++ b/src/app/views/layouts/error.html.haml
> @@ -0,0 +1,3 @@
> +- content_for :title do
> + = title
> += errmsg
> diff --git a/src/config/application.rb b/src/config/application.rb
> index adc5a64..cbc26f2 100644
> --- a/src/config/application.rb
> +++ b/src/config/application.rb
> @@ -69,17 +69,16 @@ module Conductor
> config.filter_parameters += [:password, :password_confirmation]
>
> #field_with_errors should be span instead of div
> - #http://www.rabbitcreative.com/2010/09/20/rails-3-still-fucking-up-field_with_errors/
> - ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
> - include ActionView::Helpers::RawOutputHelper
> - raw %(<span class="field_with_errors">#{html_tag}</span>)
> + config.action_view.field_error_proc = Proc.new do |html_tag, instance|
> + "<span class=\"field_with_errors\">#{html_tag}</span>".html_safe
> end
>
> config.after_initialize do
> Haml::Template.options[:format] = :html5
> end
>
> - config.middleware.use Rack::RestfulSubmit
> + #config.middleware.swap Rack::MethodOverride, Rack::RestfulSubmit
> + config.middleware.insert_before(Rack::MethodOverride, Rack::RestfulSubmit)
> ActiveRecord::Base.include_root_in_json = false
> end
> end
> diff --git a/src/config/environments/development.rb b/src/config/environments/development.rb
> index 421d53c..63d175a 100644
> --- a/src/config/environments/development.rb
> +++ b/src/config/environments/development.rb
> @@ -14,6 +14,8 @@
> # limitations under the License.
> #
>
> +require 'sass/plugin'
> +
> Conductor::Application.configure do
> # Settings specified here will take precedence over those in config/environment.rb
>
> @@ -27,7 +29,7 @@ Conductor::Application.configure do
>
> # Show full error reports and disable caching
> config.consider_all_requests_local = true
> - config.action_view.debug_rjs = true
> + #config.action_view.debug_rjs = true
> config.action_controller.perform_caching = false
>
> # Don't care if the mailer can't send
> diff --git a/src/config/initializers/forms_helper.rb b/src/config/initializers/forms_helper.rb
> new file mode 100644
> index 0000000..044478a
> --- /dev/null
> +++ b/src/config/initializers/forms_helper.rb
> @@ -0,0 +1,14 @@
> +# This adds back in the id to the generated html for the submit tag, as it
> +# was in Rails 3.0.x. We use this id, and it keeps our app compatible between
> +# Rais versions
> +
> +class ActionView::Helpers::FormBuilder
> +
> + def submit(value=nil, options={})
> + value, options = nil, value if value.is_a?(Hash)
> + value ||= submit_default_value
> + @template.submit_tag(value,
> + options.reverse_merge(:id => "#{object_name}_submit"))
> + end
> +
> +end
> diff --git a/src/features/step_definitions/pool_family_steps.rb b/src/features/step_definitions/pool_family_steps.rb
> index c2d3a34..dc316ab 100644
> --- a/src/features/step_definitions/pool_family_steps.rb
> +++ b/src/features/step_definitions/pool_family_steps.rb
> @@ -15,7 +15,7 @@
> #
>
> Given /I'm connected to the warehouse/ do
> - use_casette('pool_families')
> + use_cassette('pool_families')
> end
>
> Given /^there are these pool families:$/ do |table|
> diff --git a/src/features/support/vcr.rb b/src/features/support/vcr.rb
> index fed2072..633b2e9 100644
> --- a/src/features/support/vcr.rb
> +++ b/src/features/support/vcr.rb
> @@ -20,8 +20,8 @@ else
> require File.expand_path(File.dirname(__FILE__) + '../../../spec/vcr_setup_norec.rb')
> end
>
> -def use_casette(casette)
> - path = "#{::Rails.root.to_s}/spec/vcr/cassettes/features/#{casette}.yml"
> +def use_cassette(cassette)
> + path = "#{::Rails.root.to_s}/spec/vcr/cassettes/features/#{cassette}.yml"
> VCR.config do |c|
> c.cassette_library_dir = File.dirname(path)
> c.stub_with :webmock
> diff --git a/src/spec/vcr_setup_norec.rb b/src/spec/vcr_setup_norec.rb
> index 506cf71..b62a980 100644
> --- a/src/spec/vcr_setup_norec.rb
> +++ b/src/spec/vcr_setup_norec.rb
> @@ -46,9 +46,6 @@ file = merge_cassettes
> VCR.config do |c|
> c.cassette_library_dir = File.dirname(file.path)
> c.stub_with :webmock
> - # FIXME: This is necessary because the setup for each test will reset the database and
> - # invoke db:seed, which triggers Solr to reindex the newly-created objects, which
> - # is done over an HTTP request...
> c.allow_http_connections_when_no_cassette = true
> end
>
ACK. Great job!
More information about the aeolus-devel
mailing list