##Integration capybara with minitest
Requirements:
- ruby 1.9
- gem capybara
All you have to do is to require file test_helper.rb at the beginning of your test files.
| require 'rubygems' | |
| require 'usher' | |
| # according to README should be: | |
| # Usher::Util::Rails.activate | |
| # but above gives an error: vendor/plugins/usher/lib/usher/util/rails.rb:13: class definition in method body (SyntaxError) | |
| # - so instead we load appropriate interface manually: | |
| ActionController::Routing.module_eval "remove_const(:Routes); Routes = Usher::Interface.for(:rails23)" | 
| diff --git a/lib/caboose/acts/paranoid.rb b/lib/caboose/acts/paranoid.rb | |
| index 608169d..fc6199b 100644 | |
| --- a/lib/caboose/acts/paranoid.rb | |
| +++ b/lib/caboose/acts/paranoid.rb | |
| @@ -171,6 +171,7 @@ module Caboose #:nodoc: | |
| unless new_record? | |
| self.class.update_all self.class.send(:sanitize_sql, ["#{self.class.deleted_attribute} = ?", (self.deleted_at = self.class.send(:current_time))]), ["#{self.class.primary_key} = ?", id] | |
| end | |
| + @destroyed = true | |
| freeze | 
| function import_calendar( start_date, end_date, cal_name, spreadsheet, sheet_name) { | |
| var sheet = spreadsheet.getSheetByName(sheet_name); | |
| var cal = CalendarApp.getCalendarsByName(cal_name)[0]; | |
| sheet.clear(); | |
| events = cal.getEvents( start_date, end_date ); | |
| irow = 2; | |
| for( i in events ) { | |
| evt = events[i]; | |
| var date = evt.getStartTime(); | 
| # Code example for http://wojt.eu/post/13496746332/retrieving-gmail-thread-ids-with-ruby | |
| def patch_net_imap_response_parser(klass = Net::IMAP::ResponseParser) | |
| klass.class_eval do | |
| def msg_att | |
| match(T_LPAR) | |
| attr = {} | |
| while true | |
| token = lookahead | |
| case token.symbol | 
##Integration capybara with minitest
Requirements:
All you have to do is to require file test_helper.rb at the beginning of your test files.
| # Setup: | |
| # tddium config:add suite EY_API_TOKEN xxxxxxxx | |
| # (take EY_API_TOKEN value from ~/.eyrc) | |
| # tddium config:add suite EY_DEPLOY_KEY yyyyyyy | |
| # (EY_DEPLOY_KEY value is Base64-encoded content of your ~/.ssh/id_rsa OR any other ssh key authorised for a given EY env) | |
| require 'timeout' | |
| require 'etc' | |
| require 'base64' | 
| Enumerable.module_eval do | |
| def select_by(attribute_name, value) | |
| detect do |item| | |
| item.send(attribute_name) == value | |
| end | |
| end | |
| def select_by!(attribute_name, value) | |
| select_by(attribute_name, value) \ | |
| or raise StandardError.new("can't find item with #{attribute_name} equal to #{value} in #{self.inspect}") | 
| #config/initializers/devise.rb | |
| config.warden do |manager| | |
| manager.strategies.add :token_header_authenticable, TokenHeaderAuthenticable | |
| manager.default_strategies(:scope => :user).unshift :token_header_authenticable | |
| end | 
| ActiveRecord::Relation.class_eval do | |
| def with_association_target(targets) | |
| @association_target = (@association_target||{}).merge(targets) | |
| self | |
| end | |
| def load_with_association_targets(*args) | |
| load_without_association_targets(*args).tap do | |
| @records.each{|record| set_association_targets(record) } | |
| end | 
| config.log_tags = [ | |
| :remote_ip, | |
| ->(req){ | |
| if user_id = WardenTaggedLogger.extract_user_id_from_request(req) | |
| "#" + user_id.to_s | |
| else | |
| "guest" | |
| end | |
| } | |
| ] |