diff --git a/.rubocop.yml b/.rubocop.yml index a7e5fc01..a51fe360 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -25,8 +25,15 @@ Style/EmptyLinesAroundAccessModifier: Enabled: true # Do not insert empty line after class definition and before closing class -Style/EmptyLinesAroundBody: - Enabled: true + +Style/EmptyLinesAroundBlockBody: + EnforcedStyle: no_empty_lines + +Style/EmptyLinesAroundClassBody: + EnforcedStyle: no_empty_lines + +Style/EmptyLinesAroundModuleBody: + EnforcedStyle: no_empty_lines # Use hash literal {} instead of Hash.new Style/EmptyLiteral: @@ -93,12 +100,12 @@ Style/AndOr: Enabled: true # avoid deep blocks nesting -Style/BlockNesting: +Metrics/BlockNesting: Max: 4 # use do instead of {...} in multiline blocks -Style/Blocks: - Enabled: true +Style/BlockDelimiters: + EnforcedStyle: line_count_based # avoid redundunt curly braces when it is obvious that hash is used Style/BracesAroundHashParameters: diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 9624f5f8..ffd841c1 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,218 +1,359 @@ -# This configuration was generated by `rubocop --auto-gen-config` -# on 2014-07-21 12:48:09 +0200 using RuboCop version 0.24.1. +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2015-10-22 14:30:43 +0200 using RuboCop version 0.34.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 3 +# Offense count: 2 +Lint/DuplicatedKey: + Exclude: + - 'db/migrate/20140801164901_move_conference_media_to_commercial.rb' + - 'db/migrate/20140801170430_move_event_media_to_commercial.rb' + +# Offense count: 83 +Metrics/AbcSize: + Max: 73 + +# Offense count: 6 +# Configuration parameters: CountComments. +Metrics/ClassLength: + Max: 200 + +# Offense count: 9 +Metrics/CyclomaticComplexity: + Max: 12 + +# Offense count: 863 +# Configuration parameters: AllowURI, URISchemes. +Metrics/LineLength: + Max: 207 + +# Offense count: 87 +# Configuration parameters: CountComments. +Metrics/MethodLength: + Max: 56 + +# Offense count: 1 +# Configuration parameters: CountComments. +Metrics/ModuleLength: + Max: 243 + +# Offense count: 5 +Metrics/PerceivedComplexity: + Max: 15 + +# Offense count: 18 +Style/AccessorMethodName: + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/models/campaign.rb' + - 'app/models/conference.rb' + - 'app/models/target.rb' + - 'app/models/user.rb' + +# Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/ClassCheck: - Enabled: false - -# Offense count: 8 -# Configuration parameters: CountComments. -Style/ClassLength: - Max: 524 + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/models/email_settings.rb' + - 'app/models/revision_observer.rb' # Offense count: 1 Style/ClassVars: - Enabled: false - -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: PreferredMethods. -Style/CollectionMethods: - Enabled: false + Exclude: + - 'spec/support/kneet_connections.rb' # Offense count: 1 # Cop supports --auto-correct. Style/ColonMethodCall: - Enabled: false + Exclude: + - 'app/models/contact.rb' -# Offense count: 4 +# Offense count: 1 +# Cop supports --auto-correct. # Configuration parameters: Keywords. Style/CommentAnnotation: - Enabled: false + Exclude: + - 'app/models/event_user.rb' -# Offense count: 4 +# Offense count: 3 # Cop supports --auto-correct. Style/CommentIndentation: - Enabled: false + Exclude: + - 'app/controllers/admin/comments_controller.rb' + - 'app/models/conference.rb' + - 'app/models/track.rb' -# Offense count: 10 -Style/CyclomaticComplexity: - Max: 16 - -# Offense count: 5 -# Cop supports --auto-correct. -Style/DeprecatedHashMethods: - Enabled: false - -# Offense count: 228 +# Offense count: 341 +# Configuration parameters: Exclude. Style/Documentation: Enabled: false -# Offense count: 150 +# Offense count: 97 +# Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/DotPosition: Enabled: false -# Offense count: 9 +# Offense count: 5 Style/DoubleNegation: - Enabled: false + Exclude: + - 'app/models/conference.rb' # Offense count: 1 # Configuration parameters: Exclude. Style/FileName: - Enabled: false + Exclude: + - 'Guardfile' -# Offense count: 8 +# Offense count: 15 # Configuration parameters: MinBodyLength. Style/GuardClause: - Enabled: false + Exclude: + - 'app/controllers/admin/base_controller.rb' + - 'app/controllers/admin/questions_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/conference_registrations_controller.rb' + - 'app/controllers/tickets_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/ability.rb' + - 'app/models/conference.rb' + - 'app/models/event.rb' + - 'app/models/registration.rb' + - 'app/models/ticket.rb' + - 'app/models/user.rb' + - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' # Offense count: 27 +# Cop supports --auto-correct. # Configuration parameters: MaxLineLength. Style/IfUnlessModifier: - Enabled: false + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/controllers/admin/schedules_controller.rb' + - 'app/controllers/conference_registrations_controller.rb' + - 'app/controllers/proposal_controller.rb' + - 'app/controllers/users/omniauth_callbacks_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/conference.rb' + - 'app/models/datatable.rb' + - 'app/models/event.rb' + - 'app/models/ticket_purchase.rb' + - 'app/models/user.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/features/omniauth_spec.rb' + - 'spec/support/flash.rb' + - 'spec/support/save_feature_failures.rb' -# Offense count: 2 +# Offense count: 3 # Cop supports --auto-correct. Style/IndentArray: - Enabled: false + Exclude: + - 'app/controllers/admin/registrations_controller.rb' + - 'app/models/conference.rb' -# Offense count: 8 +# Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/IndentHash: Enabled: false -# Offense count: 2 -# Cop supports --auto-correct. -Style/IndentationConsistency: - Enabled: false - # Offense count: 5 # Cop supports --auto-correct. -Style/IndentationWidth: - Enabled: false +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/IndentationConsistency: + Exclude: + - 'app/controllers/conference_controller.rb' + - 'app/controllers/users_controller.rb' + - 'app/models/event.rb' + - 'spec/controllers/subscriptions_controller_spec.rb' + - 'spec/models/cfp_spec.rb' -# Offense count: 7 +# Offense count: 12 +# Cop supports --auto-correct. +# Configuration parameters: Width. +Style/IndentationWidth: + Exclude: + - 'app/helpers/application_helper.rb' + - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' + - 'db/migrate/20141031225545_add_require_handicapped_access_to_questions.rb' + - 'db/migrate/20141031225606_add_attending_with_partner_to_questions.rb' + - 'db/migrate/20141031225620_add_staying_at_suggested_hotel_to_questions.rb' + - 'db/migrate/20141031225635_add_attending_social_events_to_questions.rb' + - 'db/migrate/20141118162030_change_lodging_association_to_conference.rb' + - 'spec/features/event_types_spec.rb' + - 'spec/models/cfp_spec.rb' + +# Offense count: 6 # Cop supports --auto-correct. Style/LeadingCommentSpace: - Enabled: false + Exclude: + - 'Guardfile' + - 'app/controllers/admin/commercials_controller.rb' + - 'app/controllers/commercials_controller.rb' + - 'app/models/comment.rb' -# Offense count: 5 +# Offense count: 8 # Cop supports --auto-correct. Style/LineEndConcatenation: - Enabled: false + Exclude: + - 'spec/features/cfp_spec.rb' + - 'spec/features/conference_spec.rb' + - 'spec/features/registration_periods_spec.rb' -# Offense count: 515 -# Configuration parameters: AllowURI. -Style/LineLength: - Max: 217 - -# Offense count: 5 +# Offense count: 7 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/MethodDefParentheses: Enabled: false -# Offense count: 68 -# Configuration parameters: CountComments. -Style/MethodLength: - Max: 134 - -# Offense count: 14 +# Offense count: 16 # Cop supports --auto-correct. Style/NegatedIf: - Enabled: false + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/conference_registrations_controller.rb' + - 'app/controllers/proposal_controller.rb' + - 'app/models/conference.rb' + - 'app/models/datatable.rb' + - 'app/models/event.rb' + - 'app/models/venue.rb' + - 'db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb' # Offense count: 18 -# Configuration parameters: EnforcedStyle, SupportedStyles. +# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles. Style/Next: - Enabled: false + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/models/conference.rb' + - 'db/migrate/20140610173021_change_person_id_to_user_id_in_registrations.rb' + - 'db/migrate/20140611123926_change_person_id_to_user_id_in_votes.rb' + - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' + - 'db/migrate/20140731165107_move_conference_contact_details_to_contact.rb' + - 'db/migrate/20140801164901_move_conference_media_to_commercial.rb' + - 'db/migrate/20140801170430_move_event_media_to_commercial.rb' + - 'db/migrate/20140812065531_move_conference_registration_data_to_registration_periods.rb' + - 'db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb' + - 'db/migrate/20140821103643_split_ticket_price_in_price_and_currency.rb' + - 'db/migrate/20140825093132_move_splashpage_attributes_from_conference_to_splashpage.rb' + - 'db/migrate/20141104131625_generate_username.rb' + - 'db/migrate/20141118162030_change_lodging_association_to_conference.rb' + - 'db/migrate/20141128073306_migrate_data_remove_column_include_cfp_in_splash_add_column_include_cfp.rb' # Offense count: 1 # Cop supports --auto-correct. Style/NumericLiterals: MinDigits: 15 -# Offense count: 1 +# Offense count: 3 +Style/OptionalArguments: + Exclude: + - 'app/models/event.rb' + +# Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: AllowSafeAssignment. Style/ParenthesesAroundCondition: - Enabled: false + Exclude: + - 'app/controllers/admin/base_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/helpers/application_helper.rb' -# Offense count: 11 +# Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: PreferredDelimiters. Style/PercentLiteralDelimiters: - Enabled: false + Exclude: + - 'app/serializers/event_serializer.rb' # Offense count: 2 -# Configuration parameters: NamePrefixBlacklist. +# Configuration parameters: NamePrefix, NamePrefixBlacklist. Style/PredicateName: - Enabled: false + Exclude: + - 'app/models/comment.rb' + - 'app/models/contact.rb' -# Offense count: 3 +# Offense count: 6 # Configuration parameters: SupportedStyles. Style/RaiseArgs: EnforcedStyle: compact -# Offense count: 3 +# Offense count: 1 # Cop supports --auto-correct. Style/RedundantBegin: - Enabled: false + Exclude: + - 'app/models/revision_observer.rb' # Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: AllowMultipleReturnValues. Style/RedundantReturn: - Enabled: false + Exclude: + - 'app/helpers/application_helper.rb' -# Offense count: 8 +# Offense count: 33 # Cop supports --auto-correct. Style/RedundantSelf: - Enabled: false + Exclude: + - 'app/models/call_for_paper.rb' + - 'app/models/comment.rb' + - 'app/models/conference.rb' + - 'app/models/event.rb' + - 'app/models/question.rb' + - 'app/models/ticket.rb' + - 'app/models/user.rb' + - 'app/models/venue.rb' -# Offense count: 10 -# Configuration parameters: MaxSlashes. +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes. Style/RegexpLiteral: - Enabled: false - -# Offense count: 1 -Style/SelfAssignment: - Enabled: false + Exclude: + - 'Guardfile' # Offense count: 3 # Cop supports --auto-correct. +Style/SelfAssignment: + Exclude: + - 'app/models/event.rb' + - 'db/migrate/20141104131625_generate_username.rb' + - 'spec/support/save_feature_failures.rb' + +# Offense count: 7 +# Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/SignalException: - Enabled: false - -# Offense count: 1 -# Configuration parameters: Methods. -Style/SingleLineBlockParams: - Enabled: false + Exclude: + - 'app/controllers/admin/base_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/models/user.rb' + - 'db/migrate/20140730104658_migrate_roles_for_cancancan.rb' + - 'db/migrate/20140820123503_assign_users_to_events.rb' + - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' + - 'db/migrate/20150929142405_change_postalcode_format_in_venues.rb' # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: AllowIfMethodIsEmpty. Style/SingleLineMethods: - Enabled: false + Exclude: + - 'Guardfile' -# Offense count: 285 +# Offense count: 20 # Cop supports --auto-correct. Style/SingleSpaceBeforeFirstArg: - Enabled: false - -# Offense count: 4 -# Cop supports --auto-correct. -Style/SpaceAfterComma: - Enabled: false + Exclude: + - 'app/controllers/conference_registrations_controller.rb' + - 'db/migrate/20121223110942_devise_create_users.rb' + - 'db/migrate/20130107114930_create_versions.rb' + - 'db/migrate/20140719160903_create_delayed_jobs.rb' + - 'spec/features/venues_spec.rb' # Offense count: 4 # Cop supports --auto-correct. @@ -220,12 +361,17 @@ Style/SpaceAfterComma: Style/SpaceAroundEqualsInParameterDefault: Enabled: false -# Offense count: 5 +# Offense count: 11 # Cop supports --auto-correct. +# Configuration parameters: MultiSpaceAllowedForOperators. Style/SpaceAroundOperators: - Enabled: false + Exclude: + - 'app/controllers/application_controller.rb' + - 'app/models/call_for_paper.rb' + - 'app/models/datatable.rb' + - 'db/migrate/20141128073306_migrate_data_remove_column_include_cfp_in_splash_add_column_include_cfp.rb' -# Offense count: 2 +# Offense count: 220 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/SpaceBeforeBlockBraces: @@ -234,38 +380,56 @@ Style/SpaceBeforeBlockBraces: # Offense count: 1 # Cop supports --auto-correct. Style/SpaceBeforeSemicolon: - Enabled: false + Exclude: + - 'Guardfile' -# Offense count: 6 +# Offense count: 28 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. Style/SpaceInsideBlockBraces: Enabled: false -# Offense count: 4 +# Offense count: 15 # Cop supports --auto-correct. Style/SpaceInsideBrackets: - Enabled: false + Exclude: + - 'app/models/conference.rb' + - 'app/models/user.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/views/admin/events/index.html.haml_spec.rb' -# Offense count: 6 +# Offense count: 8 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles. Style/SpaceInsideHashLiteralBraces: Enabled: false -# Offense count: 1 +# Offense count: 28 +# Cop supports --auto-correct. Style/Tab: - Enabled: false + Exclude: + - 'db/migrate/20141031225545_add_require_handicapped_access_to_questions.rb' + - 'db/migrate/20141031225606_add_attending_with_partner_to_questions.rb' + - 'db/migrate/20141031225620_add_staying_at_suggested_hotel_to_questions.rb' + - 'db/migrate/20141031225635_add_attending_social_events_to_questions.rb' + - 'db/migrate/20141118162030_change_lodging_association_to_conference.rb' + - 'spec/features/campaign_spec.rb' + - 'spec/features/event_types_spec.rb' + - 'spec/models/cfp_spec.rb' -# Offense count: 24 +# Offense count: 26 +# Cop supports --auto-correct. # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles. Style/TrailingComma: - Enabled: false + Exclude: + - 'Guardfile' + - 'app/models/target.rb' + - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/models/conference_spec.rb' -# Offense count: 8 +# Offense count: 3 # Cop supports --auto-correct. +# Configuration parameters: WordRegex. Style/WordArray: - MinSize: 5 - -Style/AccessorMethodName: - Enabled: false + MinSize: 2 diff --git a/Gemfile b/Gemfile index 3bbfec2b..ee383ce3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,11 @@ source 'https://rubygems.org' # as web framework -gem 'rails', '~> 4.1' +gem 'rails', '~> 4.2', '>= 4.2.4' + +# A set of Rails responders to dry up your application +# required for respond_with and the class-level respond_to methods in rails 4.2 +gem 'responders', '~> 2.0' # as the database for Active Record gem 'mysql2' @@ -124,6 +128,9 @@ gem 'acts_as_list' # for switch checkboxes gem 'bootstrap-switch-rails', '~> 3.0.0' +# responsible for comparing HTML doms and asserting that DOM elements are present in Rails applications +gem 'rails-dom-testing' + # Use guard and spring for testing in development group :development do # rspec Guard rules @@ -139,6 +146,8 @@ group :development do gem 'letter_opener' # mina is a blazing fast deployment system gem 'mina' + # debugging tool for your Ruby on Rails applications + gem 'web-console', '~> 2.0' end # Use rspec and capybara as testing framework diff --git a/Gemfile.lock b/Gemfile.lock index 6a948871..fe4c0061 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,434 +1,492 @@ GIT remote: git://github.com/stefanpenner/country_select.git - revision: 585e9538a01ae9878e92f12a98261a09842ed015 + revision: 2023cc8f0c07a6c98a3f1b03cccb065ca26b050d specs: - country_select (2.1.0) - countries (~> 0.9, >= 0.9.3) + country_select (2.4.0) + countries (~> 1.1.0) + sort_alphabetical (~> 1.0) GEM remote: https://rubygems.org/ specs: - actionmailer (4.1.8) - actionpack (= 4.1.8) - actionview (= 4.1.8) + actionmailer (4.2.4) + actionpack (= 4.2.4) + actionview (= 4.2.4) + activejob (= 4.2.4) mail (~> 2.5, >= 2.5.4) - actionpack (4.1.8) - actionview (= 4.1.8) - activesupport (= 4.1.8) - rack (~> 1.5.2) + rails-dom-testing (~> 1.0, >= 1.0.5) + actionpack (4.2.4) + actionview (= 4.2.4) + activesupport (= 4.2.4) + rack (~> 1.6) rack-test (~> 0.6.2) - actionview (4.1.8) - activesupport (= 4.1.8) + rails-dom-testing (~> 1.0, >= 1.0.5) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (4.2.4) + activesupport (= 4.2.4) builder (~> 3.1) erubis (~> 2.7.0) - active_model_serializers (0.8.1) - activemodel (>= 3.0) - activemodel (4.1.8) - activesupport (= 4.1.8) + rails-dom-testing (~> 1.0, >= 1.0.5) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + active_model_serializers (0.9.3) + activemodel (>= 3.2) + activejob (4.2.4) + activesupport (= 4.2.4) + globalid (>= 0.3.0) + activemodel (4.2.4) + activesupport (= 4.2.4) builder (~> 3.1) - activerecord (4.1.8) - activemodel (= 4.1.8) - activesupport (= 4.1.8) - arel (~> 5.0.0) - activesupport (4.1.8) - i18n (~> 0.6, >= 0.6.9) + activerecord (4.2.4) + activemodel (= 4.2.4) + activesupport (= 4.2.4) + arel (~> 6.0) + activesupport (4.2.4) + i18n (~> 0.7) json (~> 1.7, >= 1.7.7) minitest (~> 5.1) - thread_safe (~> 0.1) + thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - activeuuid (0.5.0) + activeuuid (0.6.1) activerecord (>= 3.1) uuidtools - acts_as_commentable_with_threading (1.2.0) + acts_as_commentable_with_threading (2.0.0) + activerecord (>= 4.0) + activesupport (>= 4.0) + awesome_nested_set (>= 3.0) + acts_as_list (0.7.2) activerecord (>= 3.0) - activesupport (>= 3.0) - awesome_nested_set (>= 2.0) - acts_as_list (0.4.0) - activerecord (>= 3.0) - addressable (2.3.6) - ahoy_matey (1.0.0) + addressable (2.3.8) + ahoy_matey (1.2.1) addressable browser (>= 0.4.0) + errbase geocoder - referer-parser + rails + referer-parser (>= 0.3.0) request_store user_agent_parser uuidtools - arel (5.0.1.20140414130214) - ast (2.0.0) - autoprefixer-rails (5.1.9) + arel (6.0.3) + ast (2.1.0) + astrolabe (1.3.1) + parser (~> 2.2) + autoprefixer-rails (6.0.3) execjs json - awesome_nested_set (3.0.0.rc.5) + awesome_nested_set (3.0.2) activerecord (>= 4.0.0, < 5) axlsx (2.0.1) htmlentities (~> 4.3.1) nokogiri (>= 1.4.1) rubyzip (~> 1.0.0) - axlsx_rails (0.2.0) + axlsx_rails (0.4.0) axlsx (>= 2.0.1) rails (>= 3.1) - bcrypt (3.1.7) + bcrypt (3.1.10) + binding_of_caller (0.7.2) + debug_inspector (>= 0.0.1) bootstrap-sass (3.3.4.1) autoprefixer-rails (>= 5.0.0.1) sass (>= 3.2.19) bootstrap-switch-rails (3.0.2) bootstrap3-datetimepicker-rails (3.0.3) momentjs-rails (>= 2.8.1) - browser (0.6.0) + browser (1.0.1) builder (3.2.2) - byebug (3.1.2) - columnize (~> 0.8) - debugger-linecache (~> 1.2) - cancancan (1.8.4) - capybara (2.2.1) + byebug (6.0.2) + cancancan (1.13.1) + capybara (2.5.0) mime-types (>= 1.16) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) - celluloid (0.15.2) - timers (~> 1.1.0) - celluloid-io (0.15.0) - celluloid (>= 0.15.0) - nio4r (>= 0.5.0) - chart-js-rails (0.0.6) + chart-js-rails (0.0.9) railties (> 3.1) chronic (0.10.2) climate_control (0.0.3) activesupport (>= 3.0) cliver (0.3.2) - cocaine (0.5.4) + cocaine (0.5.7) climate_control (>= 0.0.3, < 1.0) cocoon (1.2.6) coderay (1.1.0) - coffee-rails (4.0.1) + coffee-rails (4.1.0) coffee-script (>= 2.2.0) railties (>= 4.0.0, < 5.0) - coffee-script (2.2.0) + coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.7.0) - columnize (0.8.9) - countries (0.9.3) + coffee-script-source (1.9.1.1) + countries (1.1.0) currencies (~> 0.4.2) - coveralls (0.7.0) - multi_json (~> 1.3) - rest-client - simplecov (>= 0.7) - term-ansicolor - thor + i18n_data (~> 0.7.0) + coveralls (0.8.3) + json (~> 1.8) + rest-client (>= 1.6.8, < 2) + simplecov (~> 0.10.0) + term-ansicolor (~> 1.3) + thor (~> 0.19.1) currencies (0.4.2) - d3_rails (3.4.6) + d3_rails (3.5.6) railties (>= 3.1.0) - daemons (1.1.9) - database_cleaner (1.3.0) - debugger-linecache (1.2.0) - delayed_job (4.0.2) - activesupport (>= 3.0, < 4.2) - delayed_job_active_record (4.0.1) - activerecord (>= 3.0, < 4.2) - delayed_job (>= 3.0, < 4.1) - devise (3.2.4) + daemons (1.2.3) + database_cleaner (1.5.1) + debug_inspector (0.0.2) + delayed_job (4.1.1) + activesupport (>= 3.0, < 5.0) + delayed_job_active_record (4.1.0) + activerecord (>= 3.0, < 5) + delayed_job (>= 3.0, < 5) + devise (3.5.2) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 3.2.6, < 5) + responders thread_safe (~> 0.1) warden (~> 1.2.3) devise_ichain_authenticatable (0.3.1) devise (>= 2.2) diff-lcs (1.2.5) - docile (1.1.3) + docile (1.1.5) + domain_name (0.5.25) + unf (>= 0.0.5, < 1.0.0) + errbase (0.0.3) erubis (2.7.0) - execjs (2.5.2) - factory_girl (4.4.0) + execjs (2.6.0) + factory_girl (4.5.0) activesupport (>= 3.0.0) - factory_girl_rails (4.4.1) - factory_girl (~> 4.4.0) + factory_girl_rails (4.5.0) + factory_girl (~> 4.5.0) railties (>= 3.0.0) - faraday (0.9.0) + faraday (0.9.2) multipart-post (>= 1.2, < 3) - ffi (1.9.3) - font-awesome-rails (4.1.0.0) + ffi (1.9.10) + font-awesome-rails (4.4.0.0) railties (>= 3.2, < 5.0) - formatador (0.2.4) - formtastic (2.3.0.rc3) + formatador (0.2.5) + formtastic (2.3.1) actionpack (>= 3.0) formtastic-bootstrap (3.0.0) formtastic (>= 2.2) - geocoder (1.2.2) + geocoder (1.2.11) + globalid (0.3.6) + activesupport (>= 4.1.0) gravtastic (3.2.6) - guard (2.6.0) + guard (2.13.0) formatador (>= 0.2.4) - listen (~> 2.7) + listen (>= 2.7, <= 4.0) lumberjack (~> 1.0) + nenv (~> 0.1) + notiffany (~> 0.0) pry (>= 0.9.12) + shellany (~> 0.0) thor (>= 0.18.1) - guard-rspec (4.2.8) + guard-rspec (4.2.10) guard (~> 2.1) rspec (>= 2.14, < 4.0) - haml (4.0.5) + haml (4.0.7) tilt - haml-rails (0.5.3) + haml-rails (0.9.0) actionpack (>= 4.0.1) activesupport (>= 4.0.1) - haml (>= 3.1, < 5.0) + haml (>= 4.0.6, < 5.0) + html2haml (>= 1.0.1) railties (>= 4.0.1) - hashie (2.1.1) - hike (1.2.3) + hashie (3.4.2) hoptoad_notifier (2.4.11) activesupport builder - htmlentities (4.3.1) - i18n (0.6.11) - inversion (0.12.3) - loggability (~> 0.4) + html2haml (2.0.0) + erubis (~> 2.7.0) + haml (~> 4.0.0) + nokogiri (~> 1.6.0) + ruby_parser (~> 3.5) + htmlentities (4.3.4) + http-cookie (1.0.2) + domain_name (~> 0.5) + i18n (0.7.0) + i18n_data (0.7.0) + inversion (0.18.0) + loggability (~> 0.11) jquery-datatables-rails (2.2.3) jquery-rails sass-rails - jquery-rails (3.1.2) - railties (>= 3.0, < 5.0) + jquery-rails (4.0.5) + rails-dom-testing (~> 1.0) + railties (>= 4.2.0) thor (>= 0.14, < 2.0) - json (1.8.1) - jwt (1.0.0) - launchy (2.4.2) + json (1.8.3) + jwt (1.5.1) + launchy (2.4.3) addressable (~> 2.3) leaflet-rails (0.7.4) - letter_opener (1.2.0) + letter_opener (1.4.1) launchy (~> 2.2) - listen (2.7.2) - celluloid (>= 0.15.2) - celluloid-io (>= 0.15.0) + listen (3.0.3) rb-fsevent (>= 0.9.3) rb-inotify (>= 0.9) loggability (0.11.0) - lumberjack (1.0.5) + loofah (2.0.3) + nokogiri (>= 1.5.9) + lumberjack (1.0.9) mail (2.6.3) mime-types (>= 1.16, < 3) method_source (0.8.2) - mime-types (2.4.3) - mina (0.3.0) - open4 + mime-types (2.6.2) + mimemagic (0.3.0) + mina (0.3.7) + open4 (~> 1.3.4) rake - mini_portile (0.6.0) - minitest (5.4.3) - momentjs-rails (2.8.1) + mini_portile (0.6.2) + minitest (5.8.1) + momentjs-rails (2.10.6) railties (>= 3.1) - monetize (0.3.0) - money (~> 6.1.0.beta1) - money (6.1.1) - i18n (~> 0.6.4) - money-rails (0.12.0) + monetize (1.1.0) + money (~> 6.5.0) + money (6.5.1) + i18n (>= 0.6.4, <= 0.7.0) + money-rails (1.4.1) activesupport (>= 3.0) - monetize (~> 0.3.0) - money (~> 6.1.1) + monetize (~> 1.1.0) + money (~> 6.5.0) railties (>= 3.0) - multi_json (1.10.1) + multi_json (1.11.2) multi_xml (0.5.5) multipart-post (2.0.0) - mysql2 (0.3.16) + mysql2 (0.4.1) + nenv (0.2.0) netrc (0.10.3) - nio4r (1.1.0) - nokogiri (1.6.2.1) - mini_portile (= 0.6.0) - oauth2 (0.9.4) + nokogiri (1.6.6.2) + mini_portile (~> 0.6.0) + notiffany (0.0.8) + nenv (~> 0.1) + shellany (~> 0.0) + oauth2 (1.0.0) faraday (>= 0.8, < 0.10) jwt (~> 1.0) multi_json (~> 1.3) multi_xml (~> 0.5) rack (~> 1.2) - omniauth (1.2.1) - hashie (>= 1.2, < 3) + omniauth (1.2.2) + hashie (>= 1.2, < 4) rack (~> 1.0) - omniauth-facebook (1.6.0) - omniauth-oauth2 (~> 1.1) + omniauth-facebook (2.0.1) + omniauth-oauth2 (~> 1.2) omniauth-github (1.1.2) omniauth (~> 1.0) omniauth-oauth2 (~> 1.1) - omniauth-google-oauth2 (0.2.4) - omniauth (~> 1.0) - omniauth-oauth2 (~> 1.1) - omniauth-oauth2 (1.1.2) - faraday (>= 0.8, < 0.10) + omniauth-google-oauth2 (0.2.8) + addressable (~> 2.3) + jwt (~> 1.0) multi_json (~> 1.3) - oauth2 (~> 0.9.3) + omniauth (>= 1.1.1) + omniauth-oauth2 (>= 1.1.1) + omniauth-oauth2 (1.4.0) + oauth2 (~> 1.0) omniauth (~> 1.2) omniauth-openid (1.0.1) omniauth (~> 1.0) rack-openid (~> 1.3.1) - open4 (1.3.3) + open4 (1.3.4) orm_adapter (0.5.0) - paper_trail (3.0.1) - activerecord (>= 3.0, < 5.0) - activesupport (>= 3.0, < 5.0) - paperclip (4.1.1) - activemodel (>= 3.0.0) - activesupport (>= 3.0.0) - cocaine (~> 0.5.3) + paper_trail (4.0.0) + activerecord (>= 3.0, < 6.0) + activesupport (>= 3.0, < 6.0) + request_store (~> 1.1) + paperclip (4.3.1) + activemodel (>= 3.2.0) + activesupport (>= 3.2.0) + cocaine (~> 0.5.5) mime-types - parser (2.2.0.pre.3) + mimemagic (= 0.3.0) + parser (2.2.3.0) ast (>= 1.1, < 3.0) - slop (~> 3.4, >= 3.4.5) - pdf-core (0.2.5) - phantomjs (1.9.7.1) + pdf-core (0.6.0) + phantomjs (1.9.8.0) piwik_analytics (1.0.2) actionpack activesupport rails (>= 3.0.0) - poltergeist (1.5.1) + poltergeist (1.7.0) capybara (~> 2.1) cliver (~> 0.3.1) multi_json (~> 1.0) websocket-driver (>= 0.2.0) - powerpack (0.0.9) - prawn (1.0.0) - pdf-core (~> 0.2.2) - ttfunk (~> 1.1.1) + powerpack (0.1.1) + prawn (2.0.2) + pdf-core (~> 0.6.0) + ttfunk (~> 1.4.0) prawn_rails (0.0.11) prawn (>= 0.11.1) railties (>= 3.0.0) - protected_attributes (1.0.7) + protected_attributes (1.1.3) activemodel (>= 4.0.1, < 5.0) - pry (0.9.12.6) - coderay (~> 1.0) - method_source (~> 0.8) + pry (0.10.3) + coderay (~> 1.1.0) + method_source (~> 0.8.1) slop (~> 3.4) - quiet_assets (1.0.2) + quiet_assets (1.1.0) railties (>= 3.1, < 5.0) - rack (1.5.2) + rack (1.6.4) rack-openid (1.3.1) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-test (0.6.2) + rack-test (0.6.3) rack (>= 1.0) - rails (4.1.8) - actionmailer (= 4.1.8) - actionpack (= 4.1.8) - actionview (= 4.1.8) - activemodel (= 4.1.8) - activerecord (= 4.1.8) - activesupport (= 4.1.8) + rails (4.2.4) + actionmailer (= 4.2.4) + actionpack (= 4.2.4) + actionview (= 4.2.4) + activejob (= 4.2.4) + activemodel (= 4.2.4) + activerecord (= 4.2.4) + activesupport (= 4.2.4) bundler (>= 1.3.0, < 2.0) - railties (= 4.1.8) - sprockets-rails (~> 2.0) + railties (= 4.2.4) + sprockets-rails + rails-deprecated_sanitizer (1.0.3) + activesupport (>= 4.2.0.alpha) + rails-dom-testing (1.0.7) + activesupport (>= 4.2.0.beta, < 5.0) + nokogiri (~> 1.6.0) + rails-deprecated_sanitizer (>= 1.0.1) + rails-html-sanitizer (1.0.2) + loofah (~> 2.0) rails-observers (0.1.2) activemodel (~> 4.0) - railties (4.1.8) - actionpack (= 4.1.8) - activesupport (= 4.1.8) + railties (4.2.4) + actionpack (= 4.2.4) + activesupport (= 4.2.4) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rainbow (2.0.0) - rake (10.3.2) - rb-fsevent (0.9.4) - rb-inotify (0.9.4) + rake (10.4.2) + rb-fsevent (0.9.6) + rb-inotify (0.9.5) ffi (>= 0.5.0) - rdoc (4.1.1) - json (~> 1.4) + rdoc (4.2.0) rdoc-generator-fivefish (0.1.0) inversion (~> 0.12) loggability (~> 0.6) rdoc (~> 4.0) yajl-ruby (~> 1.1) - redcarpet (3.2.3) - referer-parser (0.2.1) - request_store (1.0.6) - rest-client (1.7.3) + redcarpet (3.3.3) + referer-parser (0.3.0) + request_store (1.2.0) + responders (2.1.0) + railties (>= 4.2.0, < 5) + rest-client (1.8.0) + http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 3.0) netrc (~> 0.7) - rolify (3.4.0) - rspec (3.0.0) - rspec-core (~> 3.0.0) - rspec-expectations (~> 3.0.0) - rspec-mocks (~> 3.0.0) - rspec-activemodel-mocks (1.0.1) + rolify (4.1.1) + rspec (3.3.0) + rspec-core (~> 3.3.0) + rspec-expectations (~> 3.3.0) + rspec-mocks (~> 3.3.0) + rspec-activemodel-mocks (1.0.2) activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) - rspec-core (3.0.2) - rspec-support (~> 3.0.0) - rspec-expectations (3.0.2) + rspec-core (3.3.2) + rspec-support (~> 3.3.0) + rspec-expectations (3.3.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.0.0) - rspec-mocks (3.0.2) - rspec-support (~> 3.0.0) - rspec-rails (3.0.0) - actionpack (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-core (~> 3.0.0) - rspec-expectations (~> 3.0.0) - rspec-mocks (~> 3.0.0) - rspec-support (~> 3.0.0) - rspec-support (3.0.2) - rubocop (0.24.1) - json (>= 1.7.7, < 2) - parser (>= 2.2.0.pre.3, < 3.0) - powerpack (~> 0.0.6) + rspec-support (~> 3.3.0) + rspec-mocks (3.3.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.3.0) + rspec-rails (3.3.3) + actionpack (>= 3.0, < 4.3) + activesupport (>= 3.0, < 4.3) + railties (>= 3.0, < 4.3) + rspec-core (~> 3.3.0) + rspec-expectations (~> 3.3.0) + rspec-mocks (~> 3.3.0) + rspec-support (~> 3.3.0) + rspec-support (3.3.0) + rubocop (0.34.2) + astrolabe (~> 1.3) + parser (>= 2.2.2.5, < 3.0) + powerpack (~> 0.1) rainbow (>= 1.99.1, < 3.0) ruby-progressbar (~> 1.4) - ruby-openid (2.5.0) - ruby-progressbar (1.5.1) + ruby-openid (2.7.0) + ruby-progressbar (1.7.5) + ruby_parser (3.7.1) + sexp_processor (~> 4.1) rubyzip (1.0.0) - sass (3.2.19) - sass-rails (4.0.4) + sass (3.4.19) + sass-rails (5.0.4) railties (>= 4.0.0, < 5.0) - sass (~> 3.2.2) - sprockets (~> 2.8, < 2.12) - sprockets-rails (~> 2.0) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + sexp_processor (4.6.0) + shellany (0.0.1) shoulda (3.5.0) shoulda-context (~> 1.0, >= 1.0.1) shoulda-matchers (>= 1.4.1, < 3.0) shoulda-context (1.2.1) - shoulda-matchers (2.6.1) + shoulda-matchers (2.8.0) activesupport (>= 3.0.0) - simplecov (0.8.2) + simplecov (0.10.0) docile (~> 1.1.0) - multi_json - simplecov-html (~> 0.8.0) - simplecov-html (0.8.0) + json (~> 1.8) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.0) slop (3.6.0) - spring (1.1.2) - spring-commands-rspec (1.0.2) + sort_alphabetical (1.0.2) + unicode_utils (>= 1.2.2) + spring (1.4.0) + spring-commands-rspec (1.0.4) spring (>= 0.9.1) - sprockets (2.11.3) - hike (~> 1.2) - multi_json (~> 1.0) - rack (~> 1.0) - tilt (~> 1.1, != 1.3.0) - sprockets-rails (2.2.0) + sprockets (3.4.0) + rack (> 1, < 3) + sprockets-rails (2.3.3) actionpack (>= 3.0) activesupport (>= 3.0) sprockets (>= 2.8, < 4.0) - sqlite3 (1.3.9) - term-ansicolor (1.3.0) + sqlite3 (1.3.11) + term-ansicolor (1.3.2) tins (~> 1.0) thor (0.19.1) - thread_safe (0.3.4) - tilt (1.4.1) - timecop (0.7.1) - timers (1.1.0) - tins (1.1.0) - transitions (0.1.12) - ttfunk (1.1.1) - turbolinks (2.2.2) + thread_safe (0.3.5) + tilt (2.0.1) + timecop (0.8.0) + tins (1.6.0) + transitions (0.2.1) + ttfunk (1.4.0) + turbolinks (2.5.3) coffee-rails tzinfo (1.2.2) thread_safe (~> 0.1) - uglifier (2.5.0) + uglifier (2.7.2) execjs (>= 0.3.0) json (>= 1.8.0) - user_agent_parser (2.1.5) - uuidtools (2.1.4) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.1) + unicode_utils (1.4.0) + user_agent_parser (2.3.0) + uuidtools (2.1.5) warden (1.2.3) rack (>= 1.0) - websocket-driver (0.3.3) - whenever (0.9.2) - activesupport (>= 2.3.4) + web-console (2.2.1) + activemodel (>= 4.0) + binding_of_caller (>= 0.7.2) + railties (>= 4.0) + sprockets-rails (>= 2.0, < 4.0) + websocket-driver (0.6.2) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) + whenever (0.9.4) chronic (>= 0.6.3) xpath (2.0.0) nokogiri (~> 1.3) - yajl-ruby (1.2.0) + yajl-ruby (1.2.1) PLATFORMS ruby @@ -487,10 +545,12 @@ DEPENDENCIES prawn_rails protected_attributes quiet_assets - rails (~> 4.1) + rails (~> 4.2, >= 4.2.4) + rails-dom-testing rails-observers rdoc-generator-fivefish redcarpet + responders (~> 2.0) rolify rspec-activemodel-mocks rspec-rails @@ -503,4 +563,8 @@ DEPENDENCIES transitions turbolinks uglifier (>= 1.3.0) + web-console (~> 2.0) whenever + +BUNDLED WITH + 1.10.6 diff --git a/Guardfile b/Guardfile index 3f92b1a3..7032b862 100644 --- a/Guardfile +++ b/Guardfile @@ -8,7 +8,7 @@ guard_opts = { cmd: 'spring rspec' } -def model_specs ; 'spec/models' end +def model_specs ; 'spec/models' end def model_spec(model) "spec/models/#{model}_spec.rb" @@ -44,7 +44,7 @@ end def rspec_guards watch(%r{^spec/factories/.+\.rb$}) { all_specs } watch(%r{^spec/.+_spec\.rb$}) - watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } + watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } end group :rspec do diff --git a/app/controllers/admin/comments_controller.rb b/app/controllers/admin/comments_controller.rb index 874439df..1d235a17 100644 --- a/app/controllers/admin/comments_controller.rb +++ b/app/controllers/admin/comments_controller.rb @@ -22,7 +22,7 @@ module Admin # Grouping all comments by conference, and by event. It returns {:conference => {:event => [{comment_2}, {comment_1 }]}} def grouped_comments(remarks) - remarks.group_by{ |comment| comment.commentable.conference }.map {|conference, comments| [conference, comments.group_by{|comment| comment.commentable}]}.to_h + remarks.group_by{ |comment| comment.commentable.conference }.map {|conference, comments| [conference, comments.group_by(&:commentable)]}.to_h end end end diff --git a/app/controllers/admin/conference_controller.rb b/app/controllers/admin/conference_controller.rb index 89ad9970..bdd9c3dc 100644 --- a/app/controllers/admin/conference_controller.rb +++ b/app/controllers/admin/conference_controller.rb @@ -21,13 +21,12 @@ module Admin @active_conferences = Conference.get_active_conferences_for_dashboard # pending or the last two @deactive_conferences = Conference. - get_conferences_without_active_for_dashboard(@active_conferences) # conferences without active + get_conferences_without_active_for_dashboard(@active_conferences) # conferences without active @conferences = @active_conferences + @deactive_conferences @recent_users = User.limit(5).order(created_at: :desc) @recent_events = Event.limit(5).order(created_at: :desc) @recent_registrations = Registration.limit(5).order(created_at: :desc) - @top_submitter = Conference.get_top_submitter @submissions = {} @@ -102,7 +101,7 @@ module Admin @total_submissions = @conference.events.count @new_submissions = @conference.events. - where('created_at > ?', current_user.last_sign_in_at).count + where('created_at > ?', current_user.last_sign_in_at).count @program_length = @conference.current_program_hours @new_program_length = @conference.new_program_hours(current_user.last_sign_in_at) @@ -135,7 +134,7 @@ module Admin @difficulty_levels_distribution = @conference.difficulty_levels_distribution @difficulty_levels_distribution_confirmed = @conference. - difficulty_levels_distribution(:confirmed) + difficulty_levels_distribution(:confirmed) @tracks_distribution = @conference.tracks_distribution @tracks_distribution_confirmed = @conference.tracks_distribution(:confirmed) diff --git a/app/controllers/admin/emails_controller.rb b/app/controllers/admin/emails_controller.rb index b0f0a26c..fa6a43b6 100644 --- a/app/controllers/admin/emails_controller.rb +++ b/app/controllers/admin/emails_controller.rb @@ -6,7 +6,7 @@ module Admin def update @conference.email_settings.update_attributes(params[:email_settings]) redirect_to(admin_conference_emails_path( - @conference.short_title), + @conference.short_title), notice: 'Settings have been successfully updated.') end diff --git a/app/controllers/admin/events_controller.rb b/app/controllers/admin/events_controller.rb index 2334531d..eacb5ccb 100644 --- a/app/controllers/admin/events_controller.rb +++ b/app/controllers/admin/events_controller.rb @@ -106,7 +106,7 @@ module Admin def update if @event.submitter.update_attributes(params[:user]) && - @event.update_attributes(params[:event]) + @event.update_attributes(params[:event]) if request.xhr? render js: 'index' diff --git a/app/controllers/admin/questions_controller.rb b/app/controllers/admin/questions_controller.rb index b55ff496..ce07103a 100644 --- a/app/controllers/admin/questions_controller.rb +++ b/app/controllers/admin/questions_controller.rb @@ -73,12 +73,9 @@ module Admin # Delete question and its answers begin Question.transaction do - @question.destroy - @question.answers.each do |a| - a.destroy - end - flash[:notice] = "Deleted question: #{@question.title} and its answers: #{@question.answers.map {|a| a.title}.join ','}" + @question.answers.each(&:destroy) + flash[:notice] = "Deleted question: #{@question.title} and its answers: #{@question.answers.map(&:title).join ','}" end rescue ActiveRecord::RecordInvalid flash[:error] = 'Could not delete question.' diff --git a/app/controllers/admin/registrations_controller.rb b/app/controllers/admin/registrations_controller.rb index 70abe4a1..54b1c112 100644 --- a/app/controllers/admin/registrations_controller.rb +++ b/app/controllers/admin/registrations_controller.rb @@ -53,14 +53,14 @@ module Admin def registration_params params.require(:registration). - permit( - :conference_id, :arrival, :departure, - :volunteer, - vchoice_ids: [], qanswer_ids: [], event_ids: [], - qanswers_attributes: [], - user_attributes: [ - :id, :name, :tshirt, :mobile, :volunteer_experience, :languages, - :nickname, :affiliation]) + permit( + :conference_id, :arrival, :departure, + :volunteer, + vchoice_ids: [], qanswer_ids: [], event_ids: [], + qanswers_attributes: [], + user_attributes: [ + :id, :name, :tshirt, :mobile, :volunteer_experience, :languages, + :nickname, :affiliation]) end end end diff --git a/app/controllers/admin/sponsors_controller.rb b/app/controllers/admin/sponsors_controller.rb index 64db50d9..b7b5662e 100644 --- a/app/controllers/admin/sponsors_controller.rb +++ b/app/controllers/admin/sponsors_controller.rb @@ -27,7 +27,7 @@ module Admin def update if @sponsor.update_attributes(sponsor_params) redirect_to(admin_conference_sponsors_path( - conference_id: @conference.short_title), + conference_id: @conference.short_title), notice: 'Sponsor successfully updated.') else flash[:error] = "Update sponsor failed: #{@sponsor.errors.full_messages.join('. ')}." diff --git a/app/controllers/admin/sponsorship_levels_controller.rb b/app/controllers/admin/sponsorship_levels_controller.rb index a4f0095b..fe1b29a8 100644 --- a/app/controllers/admin/sponsorship_levels_controller.rb +++ b/app/controllers/admin/sponsorship_levels_controller.rb @@ -27,7 +27,7 @@ module Admin def update if @sponsorship_level.update_attributes(sponsorship_level_params) redirect_to(admin_conference_sponsorship_levels_path( - conference_id: @conference.short_title), + conference_id: @conference.short_title), notice: 'Sponsorship level successfully updated.') else flash[:error] = "Update Sponsorship level failed: #{@sponsorship_level.errors.full_messages.join('. ')}." diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index df6bedff..91e8655c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -25,9 +25,9 @@ class ApplicationController < ActionController::Base def after_sign_in_path_for(_resource) if (can? :view, Conference) && - (!session[:return_to] || - session[:return_to] && - session[:return_to] == root_path) + (!session[:return_to] || + session[:return_to] && + session[:return_to] == root_path) admin_conference_index_path else session[:return_to] || root_path diff --git a/app/controllers/conference_registrations_controller.rb b/app/controllers/conference_registrations_controller.rb index 23e3cf1a..4ca6456b 100644 --- a/app/controllers/conference_registrations_controller.rb +++ b/app/controllers/conference_registrations_controller.rb @@ -59,7 +59,7 @@ class ConferenceRegistrationsController < ApplicationController if @conference.tickets.any? && !current_user.supports?(@conference) redirect_to conference_tickets_path(@conference.short_title) else - redirect_to conference_conference_registrations_path(@conference.short_title) + redirect_to conference_conference_registrations_path(@conference.short_title) end else flash[:error] = "Could not create your registration for #{@conference.title}: "\ @@ -106,14 +106,14 @@ class ConferenceRegistrationsController < ApplicationController def registration_params params.require(:registration). - permit( - :conference_id, :arrival, :departure, - :volunteer, - vchoice_ids: [], qanswer_ids: [], - qanswers_attributes: [], - event_ids: [], - user_attributes: [ - :username, :email, :name, :password, :password_confirmation] - ) + permit( + :conference_id, :arrival, :departure, + :volunteer, + vchoice_ids: [], qanswer_ids: [], + qanswers_attributes: [], + event_ids: [], + user_attributes: [ + :username, :email, :name, :password, :password_confirmation] + ) end end diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index 62292bf0..fe69282f 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -24,11 +24,11 @@ class RegistrationsController < Devise::RegistrationsController def configure_permitted_parameters devise_parameter_sanitizer.for(:account_update) do |u| u. - permit(:email, :password, :password_confirmation, :current_password, :username) + permit(:email, :password, :password_confirmation, :current_password, :username) end devise_parameter_sanitizer.for(:sign_up) do |u| u. - permit(:email, :password, :password_confirmation, :name, :username) + permit(:email, :password, :password_confirmation, :name, :username) end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4c72b3dc..95675cd5 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -184,7 +184,7 @@ module ApplicationHelper end def event_types(conference) - all = conference.event_types.map { |et | et.title.pluralize } + all = conference.event_types.map { |et| et.title.pluralize } first = all[0...-1] last = all[-1] ets = '' @@ -198,7 +198,7 @@ module ApplicationHelper end def tracks(conference) - all = conference.tracks.map {|t| t.name} + all = conference.tracks.map(&:name) first = all[0...-1] last = all[-1] ts = '' @@ -215,7 +215,7 @@ module ApplicationHelper def word_pluralize(count, singular, plural = nil) word = if (count == 1 || count =~ /^1(\.0+)?$/) singular - else + else plural || singular.pluralize end diff --git a/app/models/ability.rb b/app/models/ability.rb index bd30a8fd..6783b685 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -50,12 +50,8 @@ class Ability can :show, Commercial, commercialable_type: 'Event', commercialable_id: Event.where(state: 'confirmed').pluck(:id) can :show, User unless CONFIG['authentication']['ichain']['enabled'] - can [:show, :create], Registration do |registration| - registration.new_record? - end - can [:show, :create], Event do |event| - event.new_record? - end + can [:show, :create], Registration, &:new_record? + can [:show, :create], Event, &:new_record? end end diff --git a/app/models/call_for_paper.rb b/app/models/call_for_paper.rb index 0d4f6ab1..c96406ee 100644 --- a/app/models/call_for_paper.rb +++ b/app/models/call_for_paper.rb @@ -49,6 +49,7 @@ class CallForPaper < ActiveRecord::Base && !self.conference.email_settings.call_for_papers_dates_updates_subject.blank?\ && !self.conference.email_settings.call_for_papers_dates_updates_template.blank? end + ## # Checks whether cfp dates is updated # @@ -72,14 +73,14 @@ class CallForPaper < ActiveRecord::Base def before_end_of_conference errors. - add(:end_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && end_date && (end_date > conference.end_date) + add(:end_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && end_date && (end_date > conference.end_date) errors. - add(:start_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && start_date && (start_date > conference.end_date) + add(:start_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && start_date && (start_date > conference.end_date) end def start_after_end_date errors. - add(:start_date, "can't be after the end date") if start_date && end_date && start_date > end_date + add(:start_date, "can't be after the end date") if start_date && end_date && start_date > end_date end end diff --git a/app/models/conference.rb b/app/models/conference.rb index 3c6f20b2..ecac42e7 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -1,6 +1,6 @@ ## # This class represents a conference -# rubocop:disable Style/ClassLength +# rubocop:disable Metrics/ClassLength class Conference < ActiveRecord::Base require 'uri' serialize :events_per_week, Hash @@ -218,7 +218,7 @@ class Conference < ActiveRecord::Base result[state] = pad_array_left_not_kumulative(start_week, values) end end - result['Weeks'] = weeks > 0 ? (1..weeks).to_a : 0 + result['Weeks'] = weeks > 0 ? (1..weeks).to_a : 0 end result end @@ -232,9 +232,9 @@ class Conference < ActiveRecord::Base result = [] if registrations && - registration_period && - registration_period.start_date && - registration_period.end_date + registration_period && + registration_period.start_date && + registration_period.end_date reg = registrations.group(:week).count start_week = get_registration_start_week @@ -253,10 +253,10 @@ class Conference < ActiveRecord::Base result = 0 weeks = 0 if registration_period && - registration_period.start_date && - registration_period.end_date + registration_period.start_date && + registration_period.end_date weeks = Date.new(registration_period.start_date.year, 12, 31). - strftime('%W').to_i + strftime('%W').to_i result = get_registration_end_week - get_registration_start_week + 1 end @@ -353,8 +353,8 @@ class Conference < ActiveRecord::Base # * +hash+ -> user: submissions def get_top_submitter(limit = 5) submitter = EventUser.joins(:event). - where('event_role = ? and conference_id = ?', 'submitter', id). - limit(limit).group(:user_id) + where('event_role = ? and conference_id = ?', 'submitter', id). + limit(limit).group(:user_id) counter = submitter.order('count_all desc').count Conference.calculate_user_submission_hash(submitter, counter) end @@ -476,12 +476,12 @@ class Conference < ActiveRecord::Base # * +ActiveRecord+ def self.get_active_conferences_for_dashboard result = Conference.where('start_date > ?', Time.now). - select('id, short_title, color, start_date') + select('id, short_title, color, start_date') if result.length == 0 result = Conference. - select('id, short_title, color, start_date').limit(2). - order(start_date: :desc) + select('id, short_title, color, start_date').limit(2). + order(start_date: :desc) end result end @@ -570,9 +570,9 @@ class Conference < ActiveRecord::Base # * +False+ -> Either conference is not updated or one or more parameter is not set def notify_on_dates_changed? (self.start_date_changed? || self.end_date_changed?) && - self.email_settings.send_on_updated_conference_dates && - !self.email_settings.updated_conference_dates_subject.blank? && - self.email_settings.updated_conference_dates_template + self.email_settings.send_on_updated_conference_dates && + !self.email_settings.updated_conference_dates_subject.blank? && + self.email_settings.updated_conference_dates_template end ## @@ -583,10 +583,10 @@ class Conference < ActiveRecord::Base # * +False+ -> Either registration date is not updated or one or more parameter is not set def notify_on_registration_dates_changed? registration_period && - (registration_period.start_date_changed? || registration_period.end_date_changed?) && - email_settings.send_on_updated_conference_registration_dates && - !email_settings.updated_conference_registration_dates_subject.blank? && - email_settings.updated_conference_registration_dates_template + (registration_period.start_date_changed? || registration_period.end_date_changed?) && + email_settings.send_on_updated_conference_registration_dates && + !email_settings.updated_conference_registration_dates_subject.blank? && + email_settings.updated_conference_registration_dates_template end private diff --git a/app/models/datatable.rb b/app/models/datatable.rb index 03ec9038..b3a49f6c 100644 --- a/app/models/datatable.rb +++ b/app/models/datatable.rb @@ -74,7 +74,7 @@ class Datatable def sort_order colnum = 0 sort_by = [] - while true + loop do break if !sorted?(colnum) sort_by << "#{sort_column(colnum)} #{sort_direction(colnum)}" colnum += 1 diff --git a/app/models/email_settings.rb b/app/models/email_settings.rb index 5642b4da..8c8de4c2 100644 --- a/app/models/email_settings.rb +++ b/app/models/email_settings.rb @@ -20,12 +20,12 @@ class EmailSettings < ActiveRecord::Base 'conference_start_date' => conference.start_date, 'conference_end_date' => conference.end_date, 'registrationlink' => Rails.application.routes.url_helpers.conference_conference_registrations_url( - conference.short_title, host: CONFIG['url_for_emails']), + conference.short_title, host: CONFIG['url_for_emails']), 'conference_splash_link' => Rails.application.routes.url_helpers.conference_url( - conference.short_title, host: CONFIG['url_for_emails']), + conference.short_title, host: CONFIG['url_for_emails']), 'schedule_link' => Rails.application.routes.url_helpers.schedule_conference_url( - conference.short_title, host: CONFIG['url_for_emails']) + conference.short_title, host: CONFIG['url_for_emails']) } if conference.call_for_paper @@ -52,7 +52,7 @@ class EmailSettings < ActiveRecord::Base if event h['eventtitle'] = event.title h['proposalslink'] = Rails.application.routes.url_helpers.conference_proposal_index_url( - conference.short_title, host: CONFIG['url_for_emails']) + conference.short_title, host: CONFIG['url_for_emails']) end h end diff --git a/app/models/event.rb b/app/models/event.rb index 7cd75a89..d26bbac8 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -112,8 +112,8 @@ class Event < ActiveRecord::Base def process_confirmation if conference.email_settings.send_on_confirmed_without_registration? && - conference.email_settings.confirmed_email_template && - conference.email_settings.confirmed_without_registration_subject + conference.email_settings.confirmed_email_template && + conference.email_settings.confirmed_without_registration_subject if conference.registrations.where(user_id: submitter.id).first.nil? Mailbot.delay.confirm_reminder_mail(self) end @@ -122,9 +122,9 @@ class Event < ActiveRecord::Base def process_acceptance(options) if conference.email_settings.send_on_accepted && - conference.email_settings.accepted_email_template && - conference.email_settings.accepted_subject && - !options[:send_mail].blank? + conference.email_settings.accepted_email_template && + conference.email_settings.accepted_subject && + !options[:send_mail].blank? Rails.logger.debug 'Sending event acceptance mail' Mailbot.delay.acceptance_mail(self) end @@ -132,9 +132,9 @@ class Event < ActiveRecord::Base def process_rejection(options) if conference.email_settings.send_on_rejected && - conference.email_settings.rejected_email_template && - conference.email_settings.rejected_subject && - !options[:send_mail].blank? + conference.email_settings.rejected_email_template && + conference.email_settings.rejected_subject && + !options[:send_mail].blank? Rails.logger.debug 'Sending rejected mail' Mailbot.delay.rejection_mail(self) end @@ -244,7 +244,7 @@ class Event < ActiveRecord::Base def before_end_of_conference errors. - add(:created_at, "can't be after the conference end date!") if conference.end_date && - (Date.today > conference.end_date) + add(:created_at, "can't be after the conference end date!") if conference.end_date && + (Date.today > conference.end_date) end end diff --git a/app/models/target.rb b/app/models/target.rb index 19ee677e..efd171dd 100644 --- a/app/models/target.rb +++ b/app/models/target.rb @@ -58,7 +58,7 @@ class Target < ActiveRecord::Base numerator = conference.current_program_minutes end - progress = (numerator / target_count.to_f * 100).round(0).to_s + progress = (numerator / target_count.to_f * 100).round(0).to_s result = { 'target_name' => to_s, 'campaign_name' => campaign.name, diff --git a/app/models/ticket.rb b/app/models/ticket.rb index 54c54667..bea9d2a6 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -38,7 +38,7 @@ class Ticket < ActiveRecord::Base tickets.each do |ticket| price = ticket.total_price(user) if result - result += price unless price.zero? + result += price unless price.zero? else result = price end diff --git a/app/models/user.rb b/app/models/user.rb index 568a1c89..b17f5211 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -134,7 +134,7 @@ class User < ActiveRecord::Base result = {} Role::ACTIONABLES.each do |role| resources = self.roles.where(name: role.parameterize.underscore).map{ |myrole| Conference.find(myrole.resource_id).short_title }.join ', ' - result[role.parameterize.underscore] = "(#{ resources })" unless resources.blank? + result[role.parameterize.underscore] = "(#{resources})" unless resources.blank? end result end diff --git a/app/models/venue.rb b/app/models/venue.rb index 7177bbd7..a0498424 100644 --- a/app/models/venue.rb +++ b/app/models/venue.rb @@ -33,10 +33,10 @@ class Venue < ActiveRecord::Base def venue_notify?(conference) (self.name_changed? || self.street_changed?) && - (!self.name.blank? && !self.street.blank?) && - (conference.email_settings.send_on_venue_update && - !conference.email_settings.venue_update_subject.blank? && - conference.email_settings.venue_update_template) + (!self.name.blank? && !self.street.blank?) && + (conference.email_settings.send_on_venue_update && + !conference.email_settings.venue_update_subject.blank? && + conference.email_settings.venue_update_template) end # TODO: create a module to be mixed into model to perform same operation diff --git a/app/views/layouts/_unread_comment.html.haml b/app/views/layouts/_unread_comment.html.haml new file mode 100644 index 00000000..d337df5c --- /dev/null +++ b/app/views/layouts/_unread_comment.html.haml @@ -0,0 +1,2 @@ +%li= link_to("New comment for: #{unread_comment.commentable.title}", admin_conference_event_path(unread_comment.commentable.conference.short_title, unread_comment.commentable_id)) + diff --git a/bin/bundle b/bin/bundle new file mode 100755 index 00000000..66e9889e --- /dev/null +++ b/bin/bundle @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) +load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails index f8da2cff..5191e692 100755 --- a/bin/rails +++ b/bin/rails @@ -1,6 +1,4 @@ #!/usr/bin/env ruby -# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. - -APP_PATH = File.expand_path('../../config/application', __FILE__) -require File.expand_path('../../config/boot', __FILE__) +APP_PATH = File.expand_path('../../config/application', __FILE__) +require_relative '../config/boot' require 'rails/commands' diff --git a/bin/rake b/bin/rake new file mode 100755 index 00000000..17240489 --- /dev/null +++ b/bin/rake @@ -0,0 +1,4 @@ +#!/usr/bin/env ruby +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/bin/setup b/bin/setup new file mode 100755 index 00000000..eb347f96 --- /dev/null +++ b/bin/setup @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +require 'pathname' + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +Dir.chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file: + + puts '== Installing dependencies ==' + system 'gem install bundler --conservative' + system 'bundle check || bundle install' + + # puts "\n== Copying sample files ==" + # unless File.exist?("config/database.yml") + # system "cp config/database.yml.sample config/database.yml" + # end + + puts "\n== Preparing database ==" + system 'bin/rake db:setup' + + puts "\n== Removing old logs and tempfiles ==" + system 'rm -f log/*' + system 'rm -rf tmp/cache' + + puts "\n== Restarting application server ==" + system 'touch tmp/restart.txt' +end diff --git a/config.ru b/config.ru index 988dac89..5d29dc52 100644 --- a/config.ru +++ b/config.ru @@ -1,4 +1,4 @@ # This file is used by Rack-based servers to start the application. -require ::File.expand_path('../config/environment', __FILE__) +require ::File.expand_path('../config/environment', __FILE__) run Osem::Application diff --git a/config/application.rb b/config/application.rb index 43872169..860ba195 100644 --- a/config/application.rb +++ b/config/application.rb @@ -37,6 +37,9 @@ module Osem # Configure the default encoding used in templates for Ruby 1.9. config.encoding = 'utf-8' + # Do not swallow errors in after_commit/after_rollback callbacks. + config.active_record.raise_in_transactional_callbacks = true + # Configure sensitive parameters which will be filtered from the log file. config.filter_parameters += [:password] diff --git a/config/boot.rb b/config/boot.rb index 5e5f0c1f..6b750f00 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,4 +1,3 @@ -# Set up gems listed in the Gemfile. ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) -require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) +require 'bundler/setup' # Set up gems listed in the Gemfile. diff --git a/config/environments/production.rb b/config/environments/production.rb index 69c7f9de..e1bf1bf9 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -35,8 +35,9 @@ Osem::Application.configure do # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. # config.force_ssl = true - # See everything in the log (default is :info) - # config.log_level = :debug + # See everything in the log. Set to `:info` to match the current default, or set to `:debug` to opt-into + # the future default. + config.log_level = :info # Prepend all log lines with the following tags # config.log_tags = [ :subdomain, :uuid ] diff --git a/config/environments/test.rb b/config/environments/test.rb index 05845254..09080c8d 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -35,6 +35,9 @@ Osem::Application.configure do # Print deprecation notices to the stderr config.active_support.deprecation = :stderr + # Randomize/sort the order test cases are executed. + config.active_support.test_order = :sorted # or `:random` + # Set the detault url for action mailer config.action_mailer.default_url_options = { host: 'localhost:3000' } diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb new file mode 100644 index 00000000..01ef3e66 --- /dev/null +++ b/config/initializers/assets.rb @@ -0,0 +1,11 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path +# Rails.application.config.assets.paths << Emoji.images_path + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in app/assets folder are already added. +# Rails.application.config.assets.precompile += %w( search.js ) diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb new file mode 100644 index 00000000..ac5f8b66 --- /dev/null +++ b/config/initializers/cookies_serializer.rb @@ -0,0 +1,3 @@ +# Be sure to restart your server when you modify this file. + +Rails.application.config.action_dispatch.cookies_serializer = :marshal diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb new file mode 100644 index 00000000..4a994e1e --- /dev/null +++ b/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb index 999df201..33725e95 100644 --- a/config/initializers/wrap_parameters.rb +++ b/config/initializers/wrap_parameters.rb @@ -1,14 +1,14 @@ # Be sure to restart your server when you modify this file. -# + # This file contains settings for ActionController::ParamsWrapper which # is enabled by default. # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. ActiveSupport.on_load(:action_controller) do - wrap_parameters format: [:json] + wrap_parameters format: [:json] if respond_to?(:wrap_parameters) end -# Disable root element in JSON by default. -ActiveSupport.on_load(:active_record) do - self.include_root_in_json = false -end +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/db/migrate/20140623101032_create_ahoy_events.rb b/db/migrate/20140623101032_create_ahoy_events.rb index c865a59c..be2625e1 100644 --- a/db/migrate/20140623101032_create_ahoy_events.rb +++ b/db/migrate/20140623101032_create_ahoy_events.rb @@ -1,6 +1,6 @@ class CreateAhoyEvents < ActiveRecord::Migration def change - create_table :ahoy_events do |t| + create_table :ahoy_events do |t| t.uuid :visit_id # user t.integer :user_id diff --git a/db/migrate/20140701123203_add_events_per_week_to_conference.rb b/db/migrate/20140701123203_add_events_per_week_to_conference.rb index 5c2eb9d4..8c8055c6 100644 --- a/db/migrate/20140701123203_add_events_per_week_to_conference.rb +++ b/db/migrate/20140701123203_add_events_per_week_to_conference.rb @@ -42,12 +42,12 @@ class AddEventsPerWeekToConference < ActiveRecord::Migration end if event_version.object_changes && - event_version.event == 'create' + event_version.event == 'create' # Increment the new state conference.events_per_week[week][:new] += 1 elsif event_version.object_changes && - event_version.object_changes[:state] + event_version.object_changes[:state] prev_state = event_version.object_changes[:state][0].to_sym next_state = event_version.object_changes[:state][1].to_sym @@ -55,7 +55,7 @@ class AddEventsPerWeekToConference < ActiveRecord::Migration # Backward compatibility: deprecated state :review now :new if prev_state == :review prev_state = :new - elsif next_state == :review + elsif next_state == :review next_state = :new end diff --git a/db/migrate/20140719160903_create_delayed_jobs.rb b/db/migrate/20140719160903_create_delayed_jobs.rb index ee7515c2..4c630643 100644 --- a/db/migrate/20140719160903_create_delayed_jobs.rb +++ b/db/migrate/20140719160903_create_delayed_jobs.rb @@ -3,7 +3,7 @@ class CreateDelayedJobs < ActiveRecord::Migration create_table :delayed_jobs, force: true do |table| table.integer :priority, default: 0, null: false # Allows some jobs to jump to the front of the queue table.integer :attempts, default: 0, null: false # Provides for retries, but still fail eventually. - table.text :handler, null: false # YAML-encoded string of the object that will do work + table.text :handler, null: false # YAML-encoded string of the object that will do work table.text :last_error # reason for last failure (See Note below) table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future. table.datetime :locked_at # Set when a client is working on this object diff --git a/db/migrate/20140730104658_migrate_roles_for_cancancan.rb b/db/migrate/20140730104658_migrate_roles_for_cancancan.rb index d4259863..fffcc272 100644 --- a/db/migrate/20140730104658_migrate_roles_for_cancancan.rb +++ b/db/migrate/20140730104658_migrate_roles_for_cancancan.rb @@ -17,9 +17,7 @@ class MigrateRolesForCancancan < ActiveRecord::Migration end # Delete old roles - Role.first(old_roles).each do |role| - role.destroy - end + Role.first(old_roles).each(&:destroy) end def down diff --git a/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb b/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb index e3208691..9347a037 100644 --- a/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb +++ b/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb @@ -42,9 +42,9 @@ class MigratingSupporterRegistrationsToTicketUsers < ActiveRecord::Migration # Sum up if a user has bought more than one ticket TempSupporterRegistrations.all.each do |s| sup_reg = TempSupporterRegistrations.where( - ticket_id: s.ticket_id, - user_id: s.user_id, - conference_id: s.conference_id) + ticket_id: s.ticket_id, + user_id: s.user_id, + conference_id: s.conference_id) quantity = sup_reg.count if quantity > 1 diff --git a/spec/controllers/admin/comments_controller_spec.rb b/spec/controllers/admin/comments_controller_spec.rb index ac75b189..38099ba3 100644 --- a/spec/controllers/admin/comments_controller_spec.rb +++ b/spec/controllers/admin/comments_controller_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Admin::CommentsController, type: :controller do - # It is necessary to use bang version of let to build roles before user let(:conference) { create(:conference) } let!(:first_user) { create(:user) } diff --git a/spec/controllers/admin/conferences_controller_spec.rb b/spec/controllers/admin/conferences_controller_spec.rb index 4e2f0d78..4e2bc024 100644 --- a/spec/controllers/admin/conferences_controller_spec.rb +++ b/spec/controllers/admin/conferences_controller_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Admin::ConferenceController do - # It is necessary to use bang version of let to build roles before user let(:conference) { create(:conference, end_date: Date.new(2014, 05, 26) + 15) } let!(:first_user) { create(:user) } @@ -12,11 +11,8 @@ describe Admin::ConferenceController do let(:participant) { create(:user) } shared_examples 'access as organizer' do - describe 'PATCH #update' do - context 'valid attributes' do - it 'locates the requested conference' do patch :update, id: conference.short_title, conference: attributes_for(:conference, title: 'Example Con') expect(assigns(:conference)).to eq(conference) @@ -37,7 +33,7 @@ describe Admin::ConferenceController do attributes_for(:conference, title: 'Example Con') conference.reload expect(response).to redirect_to edit_admin_conference_path( - conference.short_title) + conference.short_title) end it 'sends email notification on conference date update' do @@ -58,7 +54,7 @@ describe Admin::ConferenceController do conference.reload expect(flash[:alert]). - to eq("Updating conference failed. Short title can't be blank.") + to eq("Updating conference failed. Short title can't be blank.") expect(conference.title).to eq('The dog and pony show') expect(conference.short_title).to eq("#{conference.short_title}") end @@ -69,9 +65,9 @@ describe Admin::ConferenceController do short_title: nil) expect(flash[:alert]). - to eq("Updating conference failed. Short title can't be blank.") + to eq("Updating conference failed. Short title can't be blank.") expect(response).to redirect_to edit_admin_conference_path( - conference.short_title) + conference.short_title) end end end @@ -91,7 +87,7 @@ describe Admin::ConferenceController do attributes_for(:conference, short_title: 'dps15') expect(response).to redirect_to admin_conference_path( - assigns[:conference].short_title) + assigns[:conference].short_title) end end @@ -181,9 +177,7 @@ describe Admin::ConferenceController do context 'no conferences' do it 'redirect to new conference' do - Conference.all.each do |c| - c.destroy - end + Conference.all.each(&:destroy) sign_in create(:admin) get :index expect(response).to redirect_to new_admin_conference_path @@ -289,7 +283,6 @@ describe Admin::ConferenceController do describe 'DELETE #remove_user' do before(:each) do - end it 'sets selection variable' do @@ -329,13 +322,11 @@ describe Admin::ConferenceController do end describe 'organizer access' do - before do sign_in(organizer) end it_behaves_like 'access as organizer' - end shared_examples 'access as participant or guest' do |path, message| @@ -399,12 +390,9 @@ describe Admin::ConferenceController do end it_behaves_like 'access as participant or guest', :root_path, 'You are not authorized to access this area!' - end describe 'guest access' do - it_behaves_like 'access as participant or guest', :new_user_session_path - end end diff --git a/spec/controllers/admin/registration_periods_controller_spec.rb b/spec/controllers/admin/registration_periods_controller_spec.rb index 982ae938..185a6197 100644 --- a/spec/controllers/admin/registration_periods_controller_spec.rb +++ b/spec/controllers/admin/registration_periods_controller_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Admin::RegistrationPeriodsController do - # It is necessary to use bang version of let to build roles before user let(:conference) { create(:conference) } let!(:first_user) { create(:user) } @@ -12,15 +11,12 @@ describe Admin::RegistrationPeriodsController do let(:participant) { create(:user) } shared_examples 'access as administration or organizer' do - before do conference.registration_period = create(:registration_period) end describe 'PATCH #update' do - context 'valid attributes' do - it 'locates the requested registration period object' do patch :update, conference_id: conference.short_title, conference: attributes_for(:registration_period) expect(assigns(:registration_period)).to eq(conference.registration_period) @@ -40,7 +36,7 @@ describe Admin::RegistrationPeriodsController do attributes_for(:registration_period) conference.reload expect(response).to redirect_to admin_conference_registration_period_path( - conference.short_title) + conference.short_title) end it 'sends email notification on conference registration date update' do @@ -78,7 +74,7 @@ describe Admin::RegistrationPeriodsController do registration_period: attributes_for(:registration_period) expect(response).to redirect_to admin_conference_registration_period_path( - assigns[:conference].short_title) + assigns[:conference].short_title) end end @@ -153,12 +149,10 @@ describe Admin::RegistrationPeriodsController do end describe 'organizer access' do - before(:each) do sign_in(organizer) end it_behaves_like 'access as administration or organizer' - end end diff --git a/spec/controllers/admin/users_controller_spec.rb b/spec/controllers/admin/users_controller_spec.rb index 1a9b9569..5d098b6f 100644 --- a/spec/controllers/admin/users_controller_spec.rb +++ b/spec/controllers/admin/users_controller_spec.rb @@ -28,7 +28,7 @@ describe Admin::UsersController do patch :update, id: user.id expect(build( :user, email: 'new@email.osem', id: user.id).email). - to eq('new@email.osem') + to eq('new@email.osem') end it 'redirects to the updated user' do patch :update, id: user.id diff --git a/spec/controllers/conference_controller_spec.rb b/spec/controllers/conference_controller_spec.rb index 2b60b544..745a0896 100644 --- a/spec/controllers/conference_controller_spec.rb +++ b/spec/controllers/conference_controller_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe ConferenceController do - let(:conference) { create(:conference, splashpage: create(:splashpage, public: true)) } + let(:conference) { create(:conference, splashpage: create(:splashpage, public: true)) } describe 'GET #index' do it 'Response code is 200' do @@ -30,5 +30,4 @@ describe ConferenceController do expect(response.response_code).to eq(200) end end - end diff --git a/spec/factories/difficulty_levels.rb b/spec/factories/difficulty_levels.rb index af675c86..104aaaab 100644 --- a/spec/factories/difficulty_levels.rb +++ b/spec/factories/difficulty_levels.rb @@ -5,5 +5,4 @@ FactoryGirl.define do color '#ffffff' conference end - end diff --git a/spec/factories/event_types.rb b/spec/factories/event_types.rb index 2601783c..d3cd4510 100644 --- a/spec/factories/event_types.rb +++ b/spec/factories/event_types.rb @@ -8,5 +8,4 @@ FactoryGirl.define do maximum_abstract_length 500 conference end - end diff --git a/spec/factories/events.rb b/spec/factories/events.rb index 6dc89b22..3dd10cd4 100644 --- a/spec/factories/events.rb +++ b/spec/factories/events.rb @@ -50,6 +50,5 @@ FactoryGirl.define do event.comment_threads << build(:comment, commentable: event) end end - end end diff --git a/spec/factories/roles.rb b/spec/factories/roles.rb index e6d29d75..862732fc 100644 --- a/spec/factories/roles.rb +++ b/spec/factories/roles.rb @@ -1,6 +1,5 @@ FactoryGirl.define do factory :role do - factory :organizer_role do name 'organizer' end diff --git a/spec/factories/social_events.rb b/spec/factories/social_events.rb index 46088701..da422d30 100644 --- a/spec/factories/social_events.rb +++ b/spec/factories/social_events.rb @@ -5,5 +5,4 @@ FactoryGirl.define do date { Date.today } conference end - end diff --git a/spec/factories/splashpages.rb b/spec/factories/splashpages.rb index 2d6ea303..6b58e158 100644 --- a/spec/factories/splashpages.rb +++ b/spec/factories/splashpages.rb @@ -2,6 +2,6 @@ FactoryGirl.define do factory :splashpage do - public false + public false end end diff --git a/spec/factories/subscriptions.rb b/spec/factories/subscriptions.rb index 0816b70f..6fd3bf8f 100644 --- a/spec/factories/subscriptions.rb +++ b/spec/factories/subscriptions.rb @@ -3,5 +3,4 @@ FactoryGirl.define do user conference end - end diff --git a/spec/factories/tracks.rb b/spec/factories/tracks.rb index 7f3e1ecf..93ba4591 100644 --- a/spec/factories/tracks.rb +++ b/spec/factories/tracks.rb @@ -5,5 +5,4 @@ FactoryGirl.define do color '#ffffff' conference end - end diff --git a/spec/factories/vdays.rb b/spec/factories/vdays.rb index 08aff069..d01c97ae 100644 --- a/spec/factories/vdays.rb +++ b/spec/factories/vdays.rb @@ -4,5 +4,4 @@ FactoryGirl.define do description 'Lorem Ipsum dolsum' conference end - end diff --git a/spec/factories/vpositions.rb b/spec/factories/vpositions.rb index 6bfcc769..021bb69e 100644 --- a/spec/factories/vpositions.rb +++ b/spec/factories/vpositions.rb @@ -8,5 +8,4 @@ FactoryGirl.define do vposition.vdays << build(:vday, conference: vposition.conference) end end - end diff --git a/spec/features/campaign_spec.rb b/spec/features/campaign_spec.rb index d1043f5d..f822fc24 100644 --- a/spec/features/campaign_spec.rb +++ b/spec/features/campaign_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature Campaign do - let!(:conference) { create(:conference, short_title: 'osc14') } let!(:organizer_role) { create(:organizer_role, resource: conference) } let!(:organizer) { create(:user, role_ids: [organizer_role.id]) } @@ -18,7 +17,7 @@ feature Campaign do click_button 'Create Campaign' expect(flash). - to eq("Campaign creation failed. Name can't be blank and Utm campaign can't be blank") + to eq("Campaign creation failed. Name can't be blank and Utm campaign can't be blank") fill_in 'campaign_name', with: 'Test Campaign' fill_in 'campaign_utm_campaign', with: 'campaign' @@ -31,7 +30,7 @@ feature Campaign do # Validations expect(flash). - to eq('Campaign successfully created.') + to eq('Campaign successfully created.') expect(find('#name_1').text).to eq('Test Campaign') expect(find('#visits_1').text).to eq('0') @@ -46,7 +45,7 @@ feature Campaign do fill_in 'campaign_name', with: 'Test Campaign 42' click_button 'Update Campaign' expect(flash). - to eq("Campaign 'Test Campaign 42' successfully updated.") + to eq("Campaign 'Test Campaign 42' successfully updated.") end end diff --git a/spec/features/cfp_spec.rb b/spec/features/cfp_spec.rb index d9610dcf..a35dee2e 100644 --- a/spec/features/cfp_spec.rb +++ b/spec/features/cfp_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature Conference do - let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } let!(:organizer) { create(:user, role_ids: [organizer_role.id]) } @@ -17,14 +16,14 @@ feature Conference do click_button 'Create Call for paper' expect(flash). - to eq('Creating the call for papers failed. ' + + to eq('Creating the call for papers failed. ' + "Start date can't be blank. End date can't be blank.") today = Date.today - 1 page.execute_script( - "$('#conference-start-datepicker').val('#{today.strftime('%d/%m/%Y')}')") + "$('#conference-start-datepicker').val('#{today.strftime('%d/%m/%Y')}')") page.execute_script( - "$('#conference-end-datepicker').val('#{(today + 6).strftime('%d/%m/%Y')}')") + "$('#conference-end-datepicker').val('#{(today + 6).strftime('%d/%m/%Y')}')") fill_in 'call_for_paper_rating', with: '4' @@ -32,7 +31,7 @@ feature Conference do # Validations expect(flash). - to eq('Call for papers successfully created.') + to eq('Call for papers successfully created.') expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y')) expect(find('#end_date').text).to eq((today + 6).strftime('%A, %B %-d. %Y')) expect(find('#rating').text).to eq('4') @@ -50,10 +49,10 @@ feature Conference do # Validate update with empty start date will not saved page.execute_script( - "$('#conference-start-datepicker').val('')") + "$('#conference-start-datepicker').val('')") click_button 'Update Call for paper' expect(flash). - to eq('Updating call for papers failed. ' + + to eq('Updating call for papers failed. ' + "Start date can't be blank.") # Fill in date @@ -68,7 +67,7 @@ feature Conference do # Validations expect(flash). - to eq('Call for papers successfully updated.') + to eq('Call for papers successfully updated.') expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y')) expect(find('#end_date').text).to eq((today + 14).strftime('%A, %B %-d. %Y')) expect(find('#rating').text).to eq('0') diff --git a/spec/features/conference_spec.rb b/spec/features/conference_spec.rb index 2aa49733..7066f5e2 100644 --- a/spec/features/conference_spec.rb +++ b/spec/features/conference_spec.rb @@ -16,16 +16,16 @@ feature Conference do today = Date.today - 1 page. - execute_script("$('#conference-start-datepicker').val('" + + execute_script("$('#conference-start-datepicker').val('" + "#{today.strftime('%d/%m/%Y')}')") page. - execute_script("$('#conference-end-datepicker').val('" + + execute_script("$('#conference-end-datepicker').val('" + "#{(today + 7).strftime('%d/%m/%Y')}')") click_button 'Create Conference' expect(flash). - to eq('Conference was successfully created.') + to eq('Conference was successfully created.') expect(Conference.count).to eq(expected_count) expect(user.has_role? :organizer, Conference.last).to eq(true) @@ -46,22 +46,22 @@ feature Conference do click_button 'Update Conference' expect(flash). - to eq("Updating conference failed. Short title can't be blank.") + to eq("Updating conference failed. Short title can't be blank.") fill_in 'conference_title', with: 'New Con' fill_in 'conference_short_title', with: 'NewCon' day = Date.today + 10 page. - execute_script("$('#conference-start-datepicker').val('" + + execute_script("$('#conference-start-datepicker').val('" + "#{day.strftime('%d/%m/%Y')}')") page. - execute_script("$('#conference-end-datepicker').val('" + + execute_script("$('#conference-end-datepicker').val('" + "#{(day + 7).strftime('%d/%m/%Y')}')") click_button 'Update Conference' expect(flash). - to eq('Conference was successfully updated.') + to eq('Conference was successfully updated.') conference.reload expect(conference.title).to eq('New Con') diff --git a/spec/features/contact_spec.rb b/spec/features/contact_spec.rb index c5612c60..13ffc4bd 100644 --- a/spec/features/contact_spec.rb +++ b/spec/features/contact_spec.rb @@ -1,13 +1,11 @@ require 'spec_helper' feature Contact do - let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) } shared_examples 'update a contact' do - scenario 'sucessfully', feature: true, js: true do contact = conference.contact expected_count = Contact.count @@ -26,7 +24,7 @@ feature Contact do click_button 'Update Contact' expect(flash). - to eq('Contact details were successfully updated.') + to eq('Contact details were successfully updated.') contact.reload expect(contact.email).to eq('example@example.com') expect(contact.sponsor_email).to eq('sponsor@example.com') @@ -42,5 +40,4 @@ feature Contact do describe 'organizer' do it_behaves_like 'update a contact', :organizer end - end diff --git a/spec/features/difficulty_levels_spec.rb b/spec/features/difficulty_levels_spec.rb index d670d29a..28a42027 100644 --- a/spec/features/difficulty_levels_spec.rb +++ b/spec/features/difficulty_levels_spec.rb @@ -7,10 +7,9 @@ feature DifficultyLevel do shared_examples 'difficulty levels' do scenario 'adds difficulty level', feature: true, js: true do - sign_in organizer visit admin_conference_difficulty_levels_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Add difficulty level click_link 'Add Difficulty Level' @@ -31,11 +30,10 @@ feature DifficultyLevel do end scenario 'updates difficulty level', feature: true, js: true do - conference.difficulty_levels << create(:difficulty_level) sign_in organizer visit admin_conference_difficulty_levels_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Remove difficulty level within('table tr:nth-of-type(4)') do @@ -51,7 +49,6 @@ feature DifficultyLevel do expect(page.has_content?('Hard Events')).to be true end end - end describe 'organizer' do diff --git a/spec/features/email_spec.rb b/spec/features/email_spec.rb index e58b9680..dc1cb966 100644 --- a/spec/features/email_spec.rb +++ b/spec/features/email_spec.rb @@ -8,7 +8,6 @@ feature EmailSettings do shared_examples 'email settings' do scenario 'updates email settings', feature: true, js: true do - expected_count = EmailSettings.count sign_in organizer @@ -54,7 +53,7 @@ feature EmailSettings do click_button 'Update Email settings' expect(flash). - to eq('Settings have been successfully updated.') + to eq('Settings have been successfully updated.') expect(find('#email_settings_registration_subject'). value).to eq('Registration subject') @@ -88,7 +87,6 @@ feature EmailSettings do value).to eq('Updated conference venue template') expect(EmailSettings.count).to eq(expected_count) - end end diff --git a/spec/features/event_types_spec.rb b/spec/features/event_types_spec.rb index b47cb73e..4d7e34df 100644 --- a/spec/features/event_types_spec.rb +++ b/spec/features/event_types_spec.rb @@ -7,10 +7,9 @@ feature EventType do shared_examples 'event types' do scenario 'adds and updates event type', feature: true, js: true do - sign_in organizer visit admin_conference_event_types_path( - conference_id: conference.short_title) + conference_id: conference.short_title) within('table#event_types') do expect(page.assert_selector('tr', count: 3)).to be true diff --git a/spec/features/lodgings_spec.rb b/spec/features/lodgings_spec.rb index be6359a8..72ac0734 100644 --- a/spec/features/lodgings_spec.rb +++ b/spec/features/lodgings_spec.rb @@ -10,7 +10,7 @@ feature Lodging do sign_in organizer visit admin_conference_lodgings_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Add lodging click_link 'Add Lodging' @@ -33,7 +33,7 @@ feature Lodging do sign_in organizer visit admin_conference_lodgings_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_content?('Example Hotel')).to be true @@ -61,7 +61,7 @@ feature Lodging do sign_in organizer visit admin_conference_lodgings_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_content?('Example Hotel')).to be true diff --git a/spec/features/omniauth_spec.rb b/spec/features/omniauth_spec.rb index 93ccd4a4..ad05c533 100644 --- a/spec/features/omniauth_spec.rb +++ b/spec/features/omniauth_spec.rb @@ -2,7 +2,6 @@ require 'spec_helper' feature Openid do shared_examples 'sign in with openid' do - scenario 'has option to log in with Google account' do visit '/accounts/sign_in' expect(page.has_content?('or sign in using')).to be true diff --git a/spec/features/registration_periods_spec.rb b/spec/features/registration_periods_spec.rb index 341edbe9..5be4c554 100644 --- a/spec/features/registration_periods_spec.rb +++ b/spec/features/registration_periods_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature RegistrationPeriod do - # It is necessary to use bang version of let to build roles before user let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } @@ -11,20 +10,20 @@ feature RegistrationPeriod do scenario 'create and update registration period', js: true do sign_in organizer visit admin_conference_registration_period_path( - conference_id: conference.short_title) + conference_id: conference.short_title) click_link 'New Registration Period' click_button 'Save Registration Period' expect(flash). - to eq('An error prohibited the Registration Period from being saved: ' \ + to eq('An error prohibited the Registration Period from being saved: ' \ "Start date can't be blank. End date can't be blank.") page. - execute_script("$('#registration-period-start-datepicker').val('" + + execute_script("$('#registration-period-start-datepicker').val('" + "#{Date.today.strftime('%d/%m/%Y')}')") page. - execute_script("$('#registration-period-end-datepicker').val('" + + execute_script("$('#registration-period-end-datepicker').val('" + "#{(Date.today + 7).strftime('%d/%m/%Y')}')") click_button 'Save Registration Period' diff --git a/spec/features/rooms_spec.rb b/spec/features/rooms_spec.rb index 96480351..08b0e3c3 100644 --- a/spec/features/rooms_spec.rb +++ b/spec/features/rooms_spec.rb @@ -9,7 +9,7 @@ feature Room do scenario 'adds a room', feature: true, js: true do sign_in organizer visit admin_conference_rooms_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_no_table?('#rooms')).to be true @@ -33,7 +33,7 @@ feature Room do room = create(:room, conference_id: conference.id) sign_in organizer visit edit_admin_conference_room_path( - conference_id: conference.short_title, id: room.id) + conference_id: conference.short_title, id: room.id) fill_in 'room_name', with: 'Auditorium' fill_in 'room_size', with: '100' diff --git a/spec/features/splashpage_spec.rb b/spec/features/splashpage_spec.rb index 8b5dd122..2f3bf240 100644 --- a/spec/features/splashpage_spec.rb +++ b/spec/features/splashpage_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature Splashpage do - # It is necessary to use bang version of let to build roles before user let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } diff --git a/spec/features/sponsor_spec.rb b/spec/features/sponsor_spec.rb index eca5297a..d026adca 100644 --- a/spec/features/sponsor_spec.rb +++ b/spec/features/sponsor_spec.rb @@ -13,7 +13,7 @@ feature Sponsor do sign_in organizer visit admin_conference_sponsors_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Add sponsors click_link 'Add Sponsor' diff --git a/spec/features/sponsorship_level_spec.rb b/spec/features/sponsorship_level_spec.rb index 9df66e9a..3831b93e 100644 --- a/spec/features/sponsorship_level_spec.rb +++ b/spec/features/sponsorship_level_spec.rb @@ -9,7 +9,7 @@ feature SponsorshipLevel do scenario 'adds a sponsorship level', feature: true, js: true do sign_in organizer visit admin_conference_sponsorship_levels_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_no_table?('#sponsorship_levels')).to be true @@ -32,7 +32,7 @@ feature SponsorshipLevel do level = create(:sponsorship_level, conference_id: conference.id) sign_in organizer visit edit_admin_conference_sponsorship_level_path( - conference_id: conference.short_title, id: level.id) + conference_id: conference.short_title, id: level.id) fill_in 'sponsorship_level_title', with: 'Gold' diff --git a/spec/features/ticket_purchases_spec.rb b/spec/features/ticket_purchases_spec.rb index b8c8ecbe..c2afe1bb 100644 --- a/spec/features/ticket_purchases_spec.rb +++ b/spec/features/ticket_purchases_spec.rb @@ -15,7 +15,6 @@ feature Registration do end context 'who is not registered' do - scenario 'purchases a ticket', feature: true, js: true do visit root_path click_link 'Register' @@ -32,7 +31,7 @@ feature Registration do expect(purchase.quantity).to eq(2) expect(current_path).to eq(conference_conference_registrations_path(conference.short_title)) expect(flash). - to eq("Thank you for supporting #{conference.title} by purchasing a ticket.") + to eq("Thank you for supporting #{conference.title} by purchasing a ticket.") expect(page.has_content?('2 Business Ticket Tickets for 10')).to be true end diff --git a/spec/features/tracks_spec.rb b/spec/features/tracks_spec.rb index ecaf0789..f7dfed04 100644 --- a/spec/features/tracks_spec.rb +++ b/spec/features/tracks_spec.rb @@ -7,7 +7,6 @@ feature Track do shared_examples 'tracks' do scenario 'adds a track', feature: true, js: true do - sign_in organizer visit admin_conference_tracks_path(conference_id: conference.short_title) diff --git a/spec/features/user_spec.rb b/spec/features/user_spec.rb index 7294ec5c..ef070c4a 100644 --- a/spec/features/user_spec.rb +++ b/spec/features/user_spec.rb @@ -1,9 +1,7 @@ require 'spec_helper' feature User do - shared_examples 'admin ability' do - end describe 'admin' do diff --git a/spec/features/venues_spec.rb b/spec/features/venues_spec.rb index 8082d67e..0553807b 100644 --- a/spec/features/venues_spec.rb +++ b/spec/features/venues_spec.rb @@ -7,12 +7,11 @@ feature Conference do shared_examples 'venue' do scenario 'adds and updates venue' do - sign_in organizer # create the venue visit admin_conference_venue_path( - conference_id: conference.short_title) + conference_id: conference.short_title) click_link 'Create Venue' fill_in 'venue_name', with: 'Example University' fill_in 'venue_street', with: 'Example Street 42' @@ -25,7 +24,7 @@ feature Conference do 'sadipscing elitr, sed diam nonumy eirmod tempor' click_button 'Create Venue' expect(flash). - to eq('Venue was successfully created.') + to eq('Venue was successfully created.') venue = Conference.find(conference.id).venue expect(venue.name).to eq('Example University') expect(venue.street).to eq('Example Street 42') @@ -42,7 +41,7 @@ feature Conference do fill_in 'venue_description', with: 'new' click_button 'Update Venue' expect(flash). - to eq('Venue was successfully updated.') + to eq('Venue was successfully updated.') venue.reload expect(venue.name).to eq('Example University new') expect(venue.website).to eq('www.example.com new') @@ -53,5 +52,4 @@ feature Conference do describe 'organizer' do it_behaves_like 'venue' end - end diff --git a/spec/features/volunteers_spec.rb b/spec/features/volunteers_spec.rb index 20242781..62c86f48 100644 --- a/spec/features/volunteers_spec.rb +++ b/spec/features/volunteers_spec.rb @@ -19,16 +19,16 @@ feature Conference do select("#{Date.today.strftime('%Y')}") page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(2)'). - select("#{Date.today.strftime('%B')}") + select("#{Date.today.strftime('%B')}") page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(3)'). - select("#{Date.today.strftime('%-d')}") + select("#{Date.today.strftime('%-d')}") page. find('div.nested-fields:nth-of-type(1) div:nth-of-type(1) textarea'). - set('Example Person') + set('Example Person') click_button 'Update Conference' expect(flash). - to eq('Volunteering options were successfully updated.') + to eq('Volunteering options were successfully updated.') # Validations expect(find('div.nested-fields:nth-of-type(1) select:nth-of-type(1)'). @@ -62,7 +62,7 @@ feature Conference do expect(page.all('div.nested-fields').count == 1).to be true page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(1)'). - select("#{Date.today.strftime('%Y')}") + select("#{Date.today.strftime('%Y')}") page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(2)'). select("#{Date.today.strftime('%B')}") @@ -74,7 +74,7 @@ feature Conference do set('Example Person') click_button 'Update Conference' expect(flash). - to eq('Volunteering options were successfully updated.') + to eq('Volunteering options were successfully updated.') # Add vposition check('Use vpositions') @@ -82,16 +82,16 @@ feature Conference do expect(page.all('div.nested-fields').count == 2).to be true page.find('div.vpositions div.nested-fields:nth-of-type(1)'\ ' div:nth-of-type(1) input'). - set('Example Position') + set('Example Position') page.find('div.vpositions div.nested-fields:nth-of-type(1)'\ ' div:nth-of-type(2) textarea'). - set('Example Description') + set('Example Description') find(:css, "select[id^='conference_vpositions_attributes_']"\ "[id$='_vday_ids']"). - find(:option, "#{Date.today.strftime}").select_option + find(:option, "#{Date.today.strftime}").select_option click_button 'Update Conference' expect(flash). - to eq('Volunteering options were successfully updated.') + to eq('Volunteering options were successfully updated.') # Validations expect(find('div.vpositions div.nested-fields:nth-of-type(1)'\ diff --git a/spec/models/commercial_spec.rb b/spec/models/commercial_spec.rb index 6a176d37..767ec300 100644 --- a/spec/models/commercial_spec.rb +++ b/spec/models/commercial_spec.rb @@ -1,8 +1,6 @@ require 'spec_helper' describe Commercial do - it { should validate_presence_of(:commercial_id) } it { should validate_presence_of(:commercial_type) } - end diff --git a/spec/models/conference_spec.rb b/spec/models/conference_spec.rb index a0a5576e..a96de6df 100755 --- a/spec/models/conference_spec.rb +++ b/spec/models/conference_spec.rb @@ -3,11 +3,9 @@ require 'spec_helper' describe Conference do - let(:subject) { create(:conference, end_date: '2014-06-30') } describe '#write_event_distribution_to_db' do - it 'updates pending conferences' do create(:conference, start_date: Date.today - 2.weeks, @@ -298,7 +296,6 @@ describe Conference do expect(subject.get_top_submitter.values).to eq([3, 1]) expect(subject.get_top_submitter.keys).to eq([e2.submitter, e1.submitter]) end - end describe '#get_targets' do @@ -391,7 +388,6 @@ describe Conference do describe '#new_program_minutes' do it 'calculates correct values with events' do - create(:event, conference: subject, event_type: @long, created_at: Time.now - 3.days) create(:event, conference: subject, event_type: @long) create(:event, conference: subject, event_type: @short, created_at: Time.now - 3.days) @@ -418,7 +414,6 @@ describe Conference do end describe '#difficulty_levels_distribution' do - it 'calculates correct for different difficulty levels' do create(:event, conference: subject, difficulty_level: @easy) create(:event, conference: subject, difficulty_level: @easy) @@ -700,7 +695,6 @@ describe Conference do end describe '#get_active_conferences' do - it 'returns pending conferences' do a = create(:conference, short_title: 'a', start_date: Time.now + 14.days, @@ -744,7 +738,7 @@ describe Conference do result = [a, b, c] expect(Conference.get_conferences_without_active_for_dashboard([subject])). - to match_array(result) + to match_array(result) end it 'returns all conferences if there are no active conferences' do @@ -762,7 +756,7 @@ describe Conference do end it 'return no conferences if there are only two conferences and no pending' do - a = create(:conference, start_date: Time.now - 2.year, end_date: Time.now - 720.days) + a = create(:conference, start_date: Time.now - 2.year, end_date: Time.now - 720.days) b = create(:conference, start_date: Time.now - 1.year, end_date: Time.now - 360.days) expect(Conference.get_conferences_without_active_for_dashboard([a, b])).to match_array([]) end @@ -779,11 +773,10 @@ describe Conference do end describe '#event_distribution' do - before(:each) do @conference = create( - :conference, - email_settings: create(:email_settings)) + :conference, + email_settings: create(:email_settings)) @conference.email_settings = create(:email_settings) @options = {} @@ -947,7 +940,6 @@ describe Conference do end describe '#get_status' do - before(:each) do # Setup positive result hash @result = {} @@ -961,7 +953,7 @@ describe Conference do @result['splashpage'] = true # Setup negative result hash - @result_false = Hash.new + @result_false = {} @result.each { |key, value| @result_false[key] = !value } @result['short_title'] = @result_false['short_title'] = subject.short_title @@ -1123,7 +1115,6 @@ describe Conference do end describe '#registration_weeks' do - it 'calculates new year' do subject.registration_period = create(:registration_period, start_date: Date.new(2013, 12, 31), @@ -1154,7 +1145,6 @@ describe Conference do end describe '#cfp_weeks' do - it 'calculates new year' do cfp = create(:call_for_paper) cfp.start_date = Date.new(2013, 12, 30) @@ -1189,7 +1179,6 @@ describe Conference do end describe '#get_submissions_per_week' do - it 'does calculate correct if cfp start date is altered' do cfp = create(:call_for_paper) cfp.start_date = Date.new(2014, 05, 26) @@ -1278,7 +1267,6 @@ describe Conference do end describe '#get_registrations_per_week' do - it 'pads with zeros if there are no registrations' do subject.registration_period = create(:registration_period, start_date: Date.new(2014, 05, 26), @@ -1384,9 +1372,7 @@ describe Conference do end describe '#pending?' do - context 'is pending' do - it '#pending? is true' do subject.start_date = Date.today + 10 expect(subject.pending?).to be true @@ -1394,7 +1380,6 @@ describe Conference do end context 'is not pending' do - it '#pending? is false' do subject.start_date = Date.today - 10 expect(subject.pending?).to be false @@ -1403,16 +1388,13 @@ describe Conference do end describe '#registration_open?' do - context 'closed registration' do - it '#registration_open? is false' do expect(subject.registration_open?).to be false end end context 'open registration' do - before do enrollment = create(:registration_period, start_date: Date.today - 1, @@ -1427,17 +1409,13 @@ describe Conference do end describe '#cfp_open?' do - context 'closed cfp' do - it '#cfp_open? is false' do expect(subject.cfp_open?).to be false end - end context 'open cfp' do - before do subject.call_for_paper = create(:call_for_paper) end @@ -1449,7 +1427,6 @@ describe Conference do end describe '#user_registered?' do - # It is necessary to use bang version of let to build roles before user let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } @@ -1483,7 +1460,6 @@ describe Conference do end describe 'validations' do - it 'has a valid factory' do expect(build(:conference)).to be_valid end @@ -1517,7 +1493,6 @@ describe Conference do end describe 'before create callbacks' do - it 'has an email setting after creation' do expect(subject.email_settings).not_to be_nil end diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index 1c0865aa..175252a5 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Event do - describe 'abstract_word_count' do it 'counts words in abstract' do event = build(:event) diff --git a/spec/models/sponsorship_level_spec.rb b/spec/models/sponsorship_level_spec.rb index 1ca073e1..b87a54ed 100644 --- a/spec/models/sponsorship_level_spec.rb +++ b/spec/models/sponsorship_level_spec.rb @@ -2,7 +2,6 @@ require 'spec_helper' describe SponsorshipLevel do describe 'validations' do - it 'has a valid factory' do expect(build(:sponsorship_level)).to be_valid end diff --git a/spec/models/target_spec.rb b/spec/models/target_spec.rb index 53c46ae3..a868d813 100644 --- a/spec/models/target_spec.rb +++ b/spec/models/target_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Target do - describe 'validations' do it 'has a valid factory' do expect(build(:target)).to be_valid diff --git a/spec/models/ticket_purchase_spec.rb b/spec/models/ticket_purchase_spec.rb index 9248b52f..d0d37771 100644 --- a/spec/models/ticket_purchase_spec.rb +++ b/spec/models/ticket_purchase_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe TicketPurchase do - describe 'validations' do it 'has a valid factory' do expect(build(:ticket_purchase)).to be_valid @@ -34,7 +33,6 @@ describe TicketPurchase do it 'is valid with a quantity greater than zero' do should allow_value(1).for(:quantity) end - end describe 'self#purchase' do diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index d92a5433..60c316f6 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe User do - # It is necessary to use bang version of let to build roles before user let!(:user_admin) { create(:user) } let!(:conference) { create(:conference) } diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 972e810d..a55eed43 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -92,7 +92,6 @@ RSpec.configure do |config| # Types of tests (controller, feature, model) will # be inferred from subfolder name config.infer_spec_type_from_file_location! - end OmniAuth.config.test_mode = true diff --git a/spec/support/factory_girl.rb b/spec/support/factory_girl.rb index 031f2a19..68b44ed6 100644 --- a/spec/support/factory_girl.rb +++ b/spec/support/factory_girl.rb @@ -1,7 +1,5 @@ RSpec.configure do |config| - config.before(:suite) do FactoryGirl.lint end - end diff --git a/spec/support/flash.rb b/spec/support/flash.rb index e999decc..2b1b2ae6 100644 --- a/spec/support/flash.rb +++ b/spec/support/flash.rb @@ -5,7 +5,7 @@ module Flash return 'none' end if results.count > 1 - texts = results.map { |r| r.text } + texts = results.map(&:text) fail "One flash expected, but we had #{texts.inspect}" end results.first.text diff --git a/spec/support/omniauth_macros.rb b/spec/support/omniauth_macros.rb index 76351686..f2d3748c 100644 --- a/spec/support/omniauth_macros.rb +++ b/spec/support/omniauth_macros.rb @@ -10,33 +10,33 @@ module OmniauthMacros def mock_auth_new_user OmniAuth.config.mock_auth[:google] = OmniAuth::AuthHash.new( - provider: 'google', - uid: 'google-test-uid-1', - info: { - name: 'new user name', - email: 'test-1@gmail.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'google', + uid: 'google-test-uid-1', + info: { + name: 'new user name', + email: 'test-1@gmail.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end def mock_auth_new_user_fb OmniAuth.config.mock_auth[:facebook] = OmniAuth::AuthHash.new( - provider: 'facebook', - uid: 'facebook-test-uid-1', - info: { - name: 'new user fb name', - email: 'test-1@gmail.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'facebook', + uid: 'facebook-test-uid-1', + info: { + name: 'new user fb name', + email: 'test-1@gmail.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end def mock_auth_existing_user_participant @@ -44,17 +44,17 @@ module OmniauthMacros # authentication hashes to return during integration testing. OmniAuth.config.mock_auth[:google] = OmniAuth::AuthHash.new( - provider: 'google', - uid: 'google-test-uid-participant-1', - info: { - name: 'existing user participant name', - email: 'test-participant-1@google.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'google', + uid: 'google-test-uid-participant-1', + info: { + name: 'existing user participant name', + email: 'test-participant-1@google.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end def mock_auth_existing_user_admin @@ -62,16 +62,16 @@ module OmniauthMacros # authentication hashes to return during integration testing. OmniAuth.config.mock_auth[:google] = OmniAuth::AuthHash.new( - provider: 'google', - uid: 'google-test-uid-admin-1', - info: { - name: 'existing user admin name', - email: 'test-admin-1@google.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'google', + uid: 'google-test-uid-admin-1', + info: { + name: 'existing user admin name', + email: 'test-admin-1@google.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end end diff --git a/spec/support/save_feature_failures.rb b/spec/support/save_feature_failures.rb index 4cfb68d4..313a5207 100644 --- a/spec/support/save_feature_failures.rb +++ b/spec/support/save_feature_failures.rb @@ -3,7 +3,7 @@ RSpec.configure do |config| config.after(:each, type: :feature) do ename = RSpec.current_example.full_description - ename = ename.gsub ' ', '_' + ename = ename.tr ' ', '_' ename.downcase! ename = ename + '.html' if RSpec.current_example.exception.present? diff --git a/spec/views/admin/call_for_papers/show.html.haml_spec.rb b/spec/views/admin/call_for_papers/show.html.haml_spec.rb index de7b7fe3..0734af95 100644 --- a/spec/views/admin/call_for_papers/show.html.haml_spec.rb +++ b/spec/views/admin/call_for_papers/show.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/call_for_papers/show' do - it 'renders call for papers details' do assign :conference, create(:conference) assign :call_for_paper, create(:call_for_paper) @@ -11,5 +10,4 @@ describe 'admin/call_for_papers/show' do expect(rendered).to include(1.day.ago.strftime('%A, %B %-d. %Y')) expect(rendered).to include(6.days.from_now.strftime('%A, %B %-d. %Y')) end - end diff --git a/spec/views/admin/conference/edit.html.haml_spec.rb b/spec/views/admin/conference/edit.html.haml_spec.rb index a80e1f29..eb5ee55d 100644 --- a/spec/views/admin/conference/edit.html.haml_spec.rb +++ b/spec/views/admin/conference/edit.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/conference/edit' do - it 'renders conference details which are editable' do @conference = create(:conference, title: 'openSUSE') assign :conference, @conference diff --git a/spec/views/admin/conference/show.html.haml_spec.rb b/spec/views/admin/conference/show.html.haml_spec.rb index 383af195..f8c7c480 100644 --- a/spec/views/admin/conference/show.html.haml_spec.rb +++ b/spec/views/admin/conference/show.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/conference/show' do - it 'renders conference dashboard' do conference = create(:conference, title: 'openSUSE') assign :conference, conference diff --git a/spec/views/admin/difficulty_levels/index.html.haml_spec.rb b/spec/views/admin/difficulty_levels/index.html.haml_spec.rb index 07dc6e04..58562d9b 100644 --- a/spec/views/admin/difficulty_levels/index.html.haml_spec.rb +++ b/spec/views/admin/difficulty_levels/index.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/difficulty_levels/index' do - it 'renders difficulty levels' do @difficulty_level = create(:difficulty_level) assign :conference, @difficulty_level.conference diff --git a/spec/views/admin/emails/index.html.haml_spec.rb b/spec/views/admin/emails/index.html.haml_spec.rb index 89c3c394..3ced87cc 100644 --- a/spec/views/admin/emails/index.html.haml_spec.rb +++ b/spec/views/admin/emails/index.html.haml_spec.rb @@ -1,6 +1,5 @@ require 'spec_helper' describe 'admin/emails/index' do - it 'renders email templates' do @conference = create(:conference) assign :conference, @conference @@ -8,25 +7,25 @@ describe 'admin/emails/index' do assign :settings, @settings render expect(rendered). - to have_selector("input[type='checkbox'][value='1']", count: 9) + to have_selector("input[type='checkbox'][value='1']", count: 9) expect(rendered). - to have_selector("input[checked='checked'][type='checkbox'][value='1']", count: 6) + to have_selector("input[checked='checked'][type='checkbox'][value='1']", count: 6) expect(rendered).to include('Lorem Ipsum Dolsum') expect(rendered). - to include('Lorem ipsum dolor sit amet, consectetuer adipiscing elit') + to include('Lorem ipsum dolor sit amet, consectetuer adipiscing elit') expect(rendered). - to include('Conference dates have been updated') + to include('Conference dates have been updated') expect(rendered). - to include('Conference registration dates have been updated') + to include('Conference registration dates have been updated') expect(rendered).to include('Venue has been updated') expect(rendered).to include('Venue has been Updated to Sample Location') expect(rendered). - to include('Call for Papers dates have been updated') + to include('Call for Papers dates have been updated') expect(rendered). - to include('Please checkout the new updates to submit your proposal for Sample Conference') + to include('Please checkout the new updates to submit your proposal for Sample Conference') expect(rendered). - to include('Sample Conference Cfp schedule is Public') + to include('Sample Conference Cfp schedule is Public') expect(rendered). - to include('Call for Papers schedule is Public.Checkout the link') + to include('Call for Papers schedule is Public.Checkout the link') end end diff --git a/spec/views/admin/event_types/index.html.haml_spec.rb b/spec/views/admin/event_types/index.html.haml_spec.rb index 661f7156..ae8e7301 100644 --- a/spec/views/admin/event_types/index.html.haml_spec.rb +++ b/spec/views/admin/event_types/index.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/event_types/index' do - it 'renders event types' do @event_type = create(:event_type) assign :conference, @event_type.conference diff --git a/spec/views/admin/rooms/index.html.haml_spec.rb b/spec/views/admin/rooms/index.html.haml_spec.rb index 71caf7f4..55eacc38 100644 --- a/spec/views/admin/rooms/index.html.haml_spec.rb +++ b/spec/views/admin/rooms/index.html.haml_spec.rb @@ -1,6 +1,5 @@ require 'spec_helper' describe 'admin/rooms/index' do - it 'renders rooms list' do @room = create(:room) assign :conference, @room.conference @@ -8,5 +7,4 @@ describe 'admin/rooms/index' do expect(rendered).to include('Example Room') expect(rendered).to include('4') end - end diff --git a/spec/views/admin/sponsors/index.html.haml_spec.rb b/spec/views/admin/sponsors/index.html.haml_spec.rb index 51b845ff..a4e7171e 100644 --- a/spec/views/admin/sponsors/index.html.haml_spec.rb +++ b/spec/views/admin/sponsors/index.html.haml_spec.rb @@ -6,7 +6,7 @@ describe 'admin/sponsors/index' do @conference.sponsorship_levels << create(:sponsorship_level, conference: @conference) @conference.sponsors << create(:sponsor, conference: @conference, sponsorship_level: @conference.sponsorship_levels.first - ) + ) assign :conference, @conference render expect(rendered).to include('Example sponsor') diff --git a/spec/views/admin/tracks/index.html.haml_spec.rb b/spec/views/admin/tracks/index.html.haml_spec.rb index ae75a3a1..992df399 100644 --- a/spec/views/admin/tracks/index.html.haml_spec.rb +++ b/spec/views/admin/tracks/index.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/tracks/index' do - it 'renders tracks' do @track = create(:track) assign :conference, @track.conference diff --git a/spec/views/admin/volunteers/index.html.haml_spec.rb b/spec/views/admin/volunteers/index.html.haml_spec.rb index 7edef5e5..ddadf722 100644 --- a/spec/views/admin/volunteers/index.html.haml_spec.rb +++ b/spec/views/admin/volunteers/index.html.haml_spec.rb @@ -1,14 +1,13 @@ require 'spec_helper' describe 'admin/volunteers/index' do - it 'renders volunteers days as vdays' do @vday = create(:vday) @vday.conference.update_attributes(use_volunteers: true, use_vdays: true) assign :conference, @vday.conference render expect(rendered).to have_selector( - "input[checked='checked'][type='checkbox'][value='1']", count: 2) + "input[checked='checked'][type='checkbox'][value='1']", count: 2) expect(rendered).to include("#{Date.today.strftime('%Y')}") expect(rendered).to include("#{Date.today.strftime('%B')}") expect(rendered).to include("#{Date.today.strftime('%d')}") @@ -18,7 +17,7 @@ describe 'admin/volunteers/index' do it 'renders volunteers positions as vpositions' do @vposition = create(:vposition) @vposition.conference.update_attributes( - use_vpositions: true, use_volunteers: true, use_vdays: true) + use_vpositions: true, use_volunteers: true, use_vdays: true) assign :conference, @vposition.conference render expect(rendered).to include("#{Date.today}")