| @@ -1,6 +1,6 @@ | |||
| source 'https://rubygems.org' | |||
| gem 'rails', '4.2.5.2' | |||
| gem 'rails', '5.0.0.1' | |||
| gem 'sass-rails', '~> 5.0' | |||
| gem 'uglifier', '>= 1.3.0' | |||
| gem 'coffee-rails', '~> 4.1.0' | |||
| @@ -15,7 +15,6 @@ gem 'pg' | |||
| gem 'dotenv-rails' | |||
| gem 'font-awesome-rails' | |||
| gem 'paranoia', '~> 2.0' | |||
| gem 'paperclip', '~> 4.3' | |||
| gem 'http' | |||
| @@ -34,15 +33,14 @@ gem 'fast_blank' | |||
| gem 'htmlentities' | |||
| gem 'onebox' | |||
| gem 'simple_form' | |||
| gem 'will_paginate', '~> 3.0.6' | |||
| gem 'will_paginate' | |||
| gem 'rack-attack' | |||
| gem 'turbolinks', '~> 5.0.0.beta' | |||
| gem 'turbolinks' | |||
| gem 'sidekiq' | |||
| gem 'sinatra', :require => nil | |||
| gem 'sinatra', require: nil, github: 'sinatra' | |||
| group :development, :test do | |||
| gem 'rspec-rails' | |||
| gem 'quiet_assets' | |||
| gem 'pry-rails' | |||
| gem 'fuubar' | |||
| gem 'fabrication' | |||
| @@ -55,7 +53,6 @@ group :test do | |||
| end | |||
| group :development do | |||
| gem 'web-console', '~> 2.0' | |||
| gem 'rubocop', require: false | |||
| gem 'better_errors' | |||
| gem 'binding_of_caller' | |||
| @@ -1,44 +1,58 @@ | |||
| GIT | |||
| remote: git://github.com/sinatra/sinatra.git | |||
| revision: 6b5a0ef3a4598366138fefe3f2b696ddeb371f3c | |||
| specs: | |||
| rack-protection (2.0.0) | |||
| rack | |||
| sinatra (2.0.0.pre.alpha) | |||
| mustermann (~> 0.4) | |||
| rack (~> 2.0) | |||
| rack-protection (~> 2.0) | |||
| tilt (~> 2.0) | |||
| GEM | |||
| remote: https://rubygems.org/ | |||
| specs: | |||
| actionmailer (4.2.5.2) | |||
| actionpack (= 4.2.5.2) | |||
| actionview (= 4.2.5.2) | |||
| activejob (= 4.2.5.2) | |||
| actioncable (5.0.0.1) | |||
| actionpack (= 5.0.0.1) | |||
| nio4r (~> 1.2) | |||
| websocket-driver (~> 0.6.1) | |||
| actionmailer (5.0.0.1) | |||
| actionpack (= 5.0.0.1) | |||
| actionview (= 5.0.0.1) | |||
| activejob (= 5.0.0.1) | |||
| mail (~> 2.5, >= 2.5.4) | |||
| rails-dom-testing (~> 1.0, >= 1.0.5) | |||
| actionpack (4.2.5.2) | |||
| actionview (= 4.2.5.2) | |||
| activesupport (= 4.2.5.2) | |||
| rack (~> 1.6) | |||
| rack-test (~> 0.6.2) | |||
| rails-dom-testing (~> 1.0, >= 1.0.5) | |||
| rails-dom-testing (~> 2.0) | |||
| actionpack (5.0.0.1) | |||
| actionview (= 5.0.0.1) | |||
| activesupport (= 5.0.0.1) | |||
| rack (~> 2.0) | |||
| rack-test (~> 0.6.3) | |||
| rails-dom-testing (~> 2.0) | |||
| rails-html-sanitizer (~> 1.0, >= 1.0.2) | |||
| actionview (4.2.5.2) | |||
| activesupport (= 4.2.5.2) | |||
| actionview (5.0.0.1) | |||
| activesupport (= 5.0.0.1) | |||
| builder (~> 3.1) | |||
| erubis (~> 2.7.0) | |||
| rails-dom-testing (~> 1.0, >= 1.0.5) | |||
| rails-dom-testing (~> 2.0) | |||
| rails-html-sanitizer (~> 1.0, >= 1.0.2) | |||
| activejob (4.2.5.2) | |||
| activesupport (= 4.2.5.2) | |||
| globalid (>= 0.3.0) | |||
| activemodel (4.2.5.2) | |||
| activesupport (= 4.2.5.2) | |||
| builder (~> 3.1) | |||
| activerecord (4.2.5.2) | |||
| activemodel (= 4.2.5.2) | |||
| activesupport (= 4.2.5.2) | |||
| arel (~> 6.0) | |||
| activesupport (4.2.5.2) | |||
| activejob (5.0.0.1) | |||
| activesupport (= 5.0.0.1) | |||
| globalid (>= 0.3.6) | |||
| activemodel (5.0.0.1) | |||
| activesupport (= 5.0.0.1) | |||
| activerecord (5.0.0.1) | |||
| activemodel (= 5.0.0.1) | |||
| activesupport (= 5.0.0.1) | |||
| arel (~> 7.0) | |||
| activesupport (5.0.0.1) | |||
| concurrent-ruby (~> 1.0, >= 1.0.2) | |||
| i18n (~> 0.7) | |||
| json (~> 1.7, >= 1.7.7) | |||
| minitest (~> 5.1) | |||
| thread_safe (~> 0.3, >= 0.3.4) | |||
| tzinfo (~> 1.1) | |||
| addressable (2.4.0) | |||
| arel (6.0.3) | |||
| ast (2.2.0) | |||
| arel (7.1.1) | |||
| ast (2.3.0) | |||
| bcrypt (3.1.11) | |||
| better_errors (2.1.1) | |||
| coderay (>= 1.0.0) | |||
| @@ -47,9 +61,9 @@ GEM | |||
| binding_of_caller (0.7.2) | |||
| debug_inspector (>= 0.0.1) | |||
| builder (3.2.2) | |||
| bullet (5.0.0) | |||
| bullet (5.3.0) | |||
| activesupport (>= 3.0.0) | |||
| uniform_notifier (~> 1.9.0) | |||
| uniform_notifier (~> 1.10.0) | |||
| climate_control (0.0.3) | |||
| activesupport (>= 3.0) | |||
| cocaine (0.5.8) | |||
| @@ -62,38 +76,37 @@ GEM | |||
| coffee-script-source | |||
| execjs | |||
| coffee-script-source (1.10.0) | |||
| concurrent-ruby (1.0.1) | |||
| concurrent-ruby (1.0.2) | |||
| connection_pool (2.2.0) | |||
| crack (0.4.3) | |||
| safe_yaml (~> 1.0.0) | |||
| debug_inspector (0.0.2) | |||
| devise (3.5.6) | |||
| devise (4.2.0) | |||
| bcrypt (~> 3.0) | |||
| orm_adapter (~> 0.1) | |||
| railties (>= 3.2.6, < 5) | |||
| railties (>= 4.1.0, < 5.1) | |||
| responders | |||
| thread_safe (~> 0.1) | |||
| warden (~> 1.2.3) | |||
| diff-lcs (1.2.5) | |||
| docile (1.1.5) | |||
| domain_name (0.5.20160310) | |||
| domain_name (0.5.20160615) | |||
| unf (>= 0.0.5, < 1.0.0) | |||
| doorkeeper (3.1.0) | |||
| railties (>= 3.2) | |||
| dotenv (2.1.0) | |||
| dotenv-rails (2.1.0) | |||
| dotenv (= 2.1.0) | |||
| doorkeeper (4.1.0) | |||
| railties (>= 4.2) | |||
| dotenv (2.1.1) | |||
| dotenv-rails (2.1.1) | |||
| dotenv (= 2.1.1) | |||
| railties (>= 4.0, < 5.1) | |||
| erubis (2.7.0) | |||
| execjs (2.6.0) | |||
| fabrication (2.15.0) | |||
| execjs (2.7.0) | |||
| fabrication (2.15.2) | |||
| fast_blank (1.0.0) | |||
| font-awesome-rails (4.5.0.1) | |||
| font-awesome-rails (4.6.3.1) | |||
| railties (>= 3.2, < 5.1) | |||
| fuubar (2.0.0) | |||
| fuubar (2.1.1) | |||
| rspec (~> 3.0) | |||
| ruby-progressbar (~> 1.4) | |||
| globalid (0.3.6) | |||
| globalid (0.3.7) | |||
| activesupport (>= 4.1.0) | |||
| goldfinger (1.0.2) | |||
| addressable (~> 2.4) | |||
| @@ -125,7 +138,7 @@ GEM | |||
| http-form_data (1.0.1) | |||
| http_parser.rb (0.6.0) | |||
| i18n (0.7.0) | |||
| jbuilder (2.4.1) | |||
| jbuilder (2.6.0) | |||
| activesupport (>= 3.0.0, < 5.1) | |||
| multi_json (~> 1.2) | |||
| jquery-rails (4.1.1) | |||
| @@ -137,24 +150,30 @@ GEM | |||
| addressable (~> 2.3) | |||
| letter_opener (1.4.1) | |||
| launchy (~> 2.2) | |||
| libv8 (3.16.14.13) | |||
| libv8 (3.16.14.15) | |||
| loofah (2.0.3) | |||
| nokogiri (>= 1.5.9) | |||
| mail (2.6.3) | |||
| mime-types (>= 1.16, < 3) | |||
| mail (2.6.4) | |||
| mime-types (>= 1.16, < 4) | |||
| memory_profiler (0.9.6) | |||
| method_source (0.8.2) | |||
| mime-types (2.99.1) | |||
| mime-types (3.1) | |||
| mime-types-data (~> 3.2015) | |||
| mime-types-data (3.2016.0521) | |||
| mimemagic (0.3.0) | |||
| mini_portile2 (2.0.0) | |||
| minitest (5.8.4) | |||
| mini_portile2 (2.1.0) | |||
| minitest (5.9.0) | |||
| moneta (0.8.0) | |||
| multi_json (1.11.2) | |||
| mustache (1.0.2) | |||
| nokogiri (1.6.7.2) | |||
| mini_portile2 (~> 2.0.0.rc2) | |||
| oj (2.14.6) | |||
| onebox (1.5.35) | |||
| multi_json (1.12.1) | |||
| mustache (1.0.3) | |||
| mustermann (0.4.0) | |||
| tool (~> 0.2) | |||
| nio4r (1.2.1) | |||
| nokogiri (1.6.8) | |||
| mini_portile2 (~> 2.1.0) | |||
| pkg-config (~> 1.1.7) | |||
| oj (2.17.3) | |||
| onebox (1.5.48) | |||
| htmlentities (~> 4.3.4) | |||
| moneta (~> 0.8) | |||
| multi_json (~> 1.11) | |||
| @@ -165,55 +184,48 @@ GEM | |||
| addressable (~> 2.4) | |||
| http (~> 1.0) | |||
| nokogiri (~> 1.6) | |||
| paperclip (4.3.6) | |||
| paperclip (4.3.7) | |||
| activemodel (>= 3.2.0) | |||
| activesupport (>= 3.2.0) | |||
| cocaine (~> 0.5.5) | |||
| mime-types | |||
| mimemagic (= 0.3.0) | |||
| paranoia (2.1.5) | |||
| activerecord (~> 4.0) | |||
| parser (2.3.0.6) | |||
| parser (2.3.1.2) | |||
| ast (~> 2.2) | |||
| pg (0.18.4) | |||
| pkg-config (1.1.7) | |||
| powerpack (0.1.1) | |||
| pry (0.10.3) | |||
| pry (0.10.4) | |||
| coderay (~> 1.1.0) | |||
| method_source (~> 0.8.1) | |||
| slop (~> 3.4) | |||
| pry-rails (0.3.4) | |||
| pry (>= 0.9.10) | |||
| puma (3.2.0) | |||
| quiet_assets (1.1.0) | |||
| railties (>= 3.1, < 5.0) | |||
| rabl (0.12.0) | |||
| puma (3.6.0) | |||
| rabl (0.13.0) | |||
| activesupport (>= 2.3.14) | |||
| rack (1.6.4) | |||
| rack-attack (4.4.1) | |||
| rack (2.0.1) | |||
| rack-attack (5.0.1) | |||
| rack | |||
| rack-mini-profiler (0.9.9.2) | |||
| rack-mini-profiler (0.10.1) | |||
| rack (>= 1.2.0) | |||
| rack-protection (1.5.3) | |||
| rack | |||
| rack-test (0.6.3) | |||
| rack (>= 1.0) | |||
| rails (4.2.5.2) | |||
| actionmailer (= 4.2.5.2) | |||
| actionpack (= 4.2.5.2) | |||
| actionview (= 4.2.5.2) | |||
| activejob (= 4.2.5.2) | |||
| activemodel (= 4.2.5.2) | |||
| activerecord (= 4.2.5.2) | |||
| activesupport (= 4.2.5.2) | |||
| rails (5.0.0.1) | |||
| actioncable (= 5.0.0.1) | |||
| actionmailer (= 5.0.0.1) | |||
| actionpack (= 5.0.0.1) | |||
| actionview (= 5.0.0.1) | |||
| activejob (= 5.0.0.1) | |||
| activemodel (= 5.0.0.1) | |||
| activerecord (= 5.0.0.1) | |||
| activesupport (= 5.0.0.1) | |||
| bundler (>= 1.3.0, < 2.0) | |||
| railties (= 4.2.5.2) | |||
| 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) | |||
| railties (= 5.0.0.1) | |||
| sprockets-rails (>= 2.0.0) | |||
| rails-dom-testing (2.0.1) | |||
| activesupport (>= 4.2.0, < 6.0) | |||
| nokogiri (~> 1.6.0) | |||
| rails-deprecated_sanitizer (>= 1.0.1) | |||
| rails-html-sanitizer (1.0.3) | |||
| loofah (~> 2.0) | |||
| rails_12factor (0.0.3) | |||
| @@ -222,57 +234,58 @@ GEM | |||
| rails_autolink (1.1.6) | |||
| rails (> 3.1) | |||
| rails_serve_static_assets (0.0.5) | |||
| rails_stdout_logging (0.0.4) | |||
| railties (4.2.5.2) | |||
| actionpack (= 4.2.5.2) | |||
| activesupport (= 4.2.5.2) | |||
| rails_stdout_logging (0.0.5) | |||
| railties (5.0.0.1) | |||
| actionpack (= 5.0.0.1) | |||
| activesupport (= 5.0.0.1) | |||
| method_source | |||
| rake (>= 0.8.7) | |||
| thor (>= 0.18.1, < 2.0) | |||
| rainbow (2.1.0) | |||
| rake (11.1.1) | |||
| rake (11.2.2) | |||
| rdoc (4.2.2) | |||
| json (~> 1.4) | |||
| redis (3.2.2) | |||
| redis (3.3.1) | |||
| ref (2.0.0) | |||
| responders (2.1.1) | |||
| responders (2.3.0) | |||
| railties (>= 4.2.0, < 5.1) | |||
| rspec (3.4.0) | |||
| rspec-core (~> 3.4.0) | |||
| rspec-expectations (~> 3.4.0) | |||
| rspec-mocks (~> 3.4.0) | |||
| rspec-core (3.4.4) | |||
| rspec-support (~> 3.4.0) | |||
| rspec-expectations (3.4.0) | |||
| rspec (3.5.0) | |||
| rspec-core (~> 3.5.0) | |||
| rspec-expectations (~> 3.5.0) | |||
| rspec-mocks (~> 3.5.0) | |||
| rspec-core (3.5.2) | |||
| rspec-support (~> 3.5.0) | |||
| rspec-expectations (3.5.0) | |||
| diff-lcs (>= 1.2.0, < 2.0) | |||
| rspec-support (~> 3.4.0) | |||
| rspec-mocks (3.4.1) | |||
| rspec-support (~> 3.5.0) | |||
| rspec-mocks (3.5.0) | |||
| diff-lcs (>= 1.2.0, < 2.0) | |||
| rspec-support (~> 3.4.0) | |||
| rspec-rails (3.4.2) | |||
| actionpack (>= 3.0, < 4.3) | |||
| activesupport (>= 3.0, < 4.3) | |||
| railties (>= 3.0, < 4.3) | |||
| rspec-core (~> 3.4.0) | |||
| rspec-expectations (~> 3.4.0) | |||
| rspec-mocks (~> 3.4.0) | |||
| rspec-support (~> 3.4.0) | |||
| rspec-support (~> 3.5.0) | |||
| rspec-rails (3.5.1) | |||
| actionpack (>= 3.0) | |||
| activesupport (>= 3.0) | |||
| railties (>= 3.0) | |||
| rspec-core (~> 3.5.0) | |||
| rspec-expectations (~> 3.5.0) | |||
| rspec-mocks (~> 3.5.0) | |||
| rspec-support (~> 3.5.0) | |||
| rspec-sidekiq (2.2.0) | |||
| rspec (~> 3.0, >= 3.0.0) | |||
| sidekiq (>= 2.4.0) | |||
| rspec-support (3.4.1) | |||
| rubocop (0.38.0) | |||
| parser (>= 2.3.0.6, < 3.0) | |||
| rspec-support (3.5.0) | |||
| rubocop (0.42.0) | |||
| parser (>= 2.3.1.1, < 3.0) | |||
| powerpack (~> 0.1) | |||
| rainbow (>= 1.99.1, < 3.0) | |||
| ruby-progressbar (~> 1.7) | |||
| unicode-display_width (~> 1.0, >= 1.0.1) | |||
| ruby-progressbar (1.7.5) | |||
| ruby_parser (3.8.1) | |||
| ruby-progressbar (1.8.1) | |||
| ruby_parser (3.8.2) | |||
| sexp_processor (~> 4.1) | |||
| safe_yaml (1.0.4) | |||
| sass (3.4.21) | |||
| sass-rails (5.0.4) | |||
| railties (>= 4.0.0, < 5.0) | |||
| sass (3.4.22) | |||
| sass-rails (5.0.6) | |||
| railties (>= 4.0.0, < 6) | |||
| sass (~> 3.1) | |||
| sprockets (>= 2.8, < 4.0) | |||
| sprockets-rails (>= 2.0, < 4.0) | |||
| @@ -281,27 +294,23 @@ GEM | |||
| json (~> 1.7, >= 1.7.7) | |||
| rdoc (~> 4.0) | |||
| sexp_processor (4.7.0) | |||
| sidekiq (4.1.1) | |||
| sidekiq (4.1.2) | |||
| concurrent-ruby (~> 1.0) | |||
| connection_pool (~> 2.2, >= 2.2.0) | |||
| redis (~> 3.2, >= 3.2.1) | |||
| simple_form (3.2.1) | |||
| actionpack (> 4, < 5.1) | |||
| activemodel (> 4, < 5.1) | |||
| simplecov (0.11.2) | |||
| simplecov (0.12.0) | |||
| docile (~> 1.1.0) | |||
| json (~> 1.8) | |||
| json (>= 1.8, < 3) | |||
| simplecov-html (~> 0.10.0) | |||
| simplecov-html (0.10.0) | |||
| sinatra (1.4.7) | |||
| rack (~> 1.5) | |||
| rack-protection (~> 1.4) | |||
| tilt (>= 1.3, < 3) | |||
| slop (3.6.0) | |||
| sprockets (3.5.2) | |||
| sprockets (3.7.0) | |||
| concurrent-ruby (~> 1.0) | |||
| rack (> 1, < 3) | |||
| sprockets-rails (3.0.4) | |||
| sprockets-rails (3.1.1) | |||
| actionpack (>= 4.0) | |||
| activesupport (>= 4.0) | |||
| sprockets (>= 3.0.0) | |||
| @@ -310,32 +319,30 @@ GEM | |||
| ref | |||
| thor (0.19.1) | |||
| thread_safe (0.3.5) | |||
| tilt (2.0.2) | |||
| turbolinks (5.0.0.beta2) | |||
| turbolinks-source | |||
| turbolinks-source (5.0.0.beta3) | |||
| tilt (2.0.5) | |||
| tool (0.2.3) | |||
| turbolinks (5.0.1) | |||
| turbolinks-source (~> 5) | |||
| turbolinks-source (5.0.0) | |||
| tzinfo (1.2.2) | |||
| thread_safe (~> 0.1) | |||
| uglifier (2.7.2) | |||
| execjs (>= 0.3.0) | |||
| json (>= 1.8.0) | |||
| uglifier (3.0.1) | |||
| execjs (>= 0.3.0, < 3) | |||
| unf (0.1.4) | |||
| unf_ext | |||
| unf_ext (0.0.7.2) | |||
| unicode-display_width (1.0.2) | |||
| uniform_notifier (1.9.0) | |||
| unicode-display_width (1.1.0) | |||
| uniform_notifier (1.10.0) | |||
| warden (1.2.6) | |||
| rack (>= 1.0) | |||
| web-console (2.3.0) | |||
| activemodel (>= 4.0) | |||
| binding_of_caller (>= 0.7.2) | |||
| railties (>= 4.0) | |||
| sprockets-rails (>= 2.0, < 4.0) | |||
| webmock (1.24.2) | |||
| webmock (2.1.0) | |||
| addressable (>= 2.3.6) | |||
| crack (>= 0.3.2) | |||
| hashdiff | |||
| will_paginate (3.0.7) | |||
| websocket-driver (0.6.4) | |||
| websocket-extensions (>= 0.1.0) | |||
| websocket-extensions (0.1.2) | |||
| will_paginate (3.1.0) | |||
| PLATFORMS | |||
| ruby | |||
| @@ -367,15 +374,13 @@ DEPENDENCIES | |||
| onebox | |||
| ostatus2 | |||
| paperclip (~> 4.3) | |||
| paranoia (~> 2.0) | |||
| pg | |||
| pry-rails | |||
| puma | |||
| quiet_assets | |||
| rabl | |||
| rack-attack | |||
| rack-mini-profiler | |||
| rails (= 4.2.5.2) | |||
| rails (= 5.0.0.1) | |||
| rails_12factor | |||
| rails_autolink | |||
| redis (~> 3.2) | |||
| @@ -387,13 +392,12 @@ DEPENDENCIES | |||
| sidekiq | |||
| simple_form | |||
| simplecov | |||
| sinatra | |||
| sinatra! | |||
| therubyracer | |||
| turbolinks (~> 5.0.0.beta) | |||
| turbolinks | |||
| uglifier (>= 1.3.0) | |||
| web-console (~> 2.0) | |||
| webmock | |||
| will_paginate (~> 3.0.6) | |||
| will_paginate | |||
| BUNDLED WITH | |||
| 1.11.2 | |||
| 1.12.5 | |||
| @@ -4,7 +4,7 @@ class Api::SalmonController < ApiController | |||
| def update | |||
| ProcessInteractionService.new.(request.body.read, @account) | |||
| render nothing: true, status: 201 | |||
| head 201 | |||
| end | |||
| private | |||
| @@ -4,9 +4,9 @@ class Api::SubscriptionsController < ApiController | |||
| def show | |||
| if @account.subscription(api_subscription_url(@account.id)).valid?(params['hub.topic'], params['hub.verify_token']) | |||
| render text: HTMLEntities.new.encode(params['hub.challenge']), status: 200 | |||
| render plain: HTMLEntities.new.encode(params['hub.challenge']), status: 200 | |||
| else | |||
| render nothing: true, status: 404 | |||
| head 404 | |||
| end | |||
| end | |||
| @@ -15,9 +15,9 @@ class Api::SubscriptionsController < ApiController | |||
| if @account.subscription(api_subscription_url(@account.id)).verify(body, request.headers['HTTP_X_HUB_SIGNATURE']) | |||
| ProcessFeedService.new.(body, @account) | |||
| render nothing: true, status: 201 | |||
| head 201 | |||
| else | |||
| render nothing: true, status: 202 | |||
| head 202 | |||
| end | |||
| end | |||
| @@ -1,6 +1,6 @@ | |||
| class ApiController < ApplicationController | |||
| protect_from_forgery with: :null_session | |||
| skip_before_filter :verify_authenticity_token | |||
| skip_before_action :verify_authenticity_token | |||
| protected | |||
| @@ -11,8 +11,8 @@ class Auth::RegistrationsController < Devise::RegistrationsController | |||
| end | |||
| def configure_sign_up_params | |||
| devise_parameter_sanitizer.for(:sign_up) do |u| | |||
| u.permit(:email, :password, :password_confirmation, account_attributes: [:username]) | |||
| devise_parameter_sanitizer.permit(:sign_up) do |u| | |||
| u.permit({ account_attributes: [:username] }, :email, :password, :password_confirmation) | |||
| end | |||
| end | |||
| @@ -1,5 +1,5 @@ | |||
| class Oauth::ApplicationsController < Doorkeeper::ApplicationsController | |||
| before_filter :authenticate_user! | |||
| before_action :authenticate_user! | |||
| def index | |||
| @applications = current_user.oauth_applications | |||
| @@ -1,5 +1,5 @@ | |||
| class XrdController < ApplicationController | |||
| before_filter :set_format | |||
| before_action :set_format | |||
| def host_meta | |||
| @webfinger_template = "#{webfinger_url}?resource={uri}" | |||
| @@ -10,7 +10,7 @@ class XrdController < ApplicationController | |||
| @canonical_account_uri = "acct:#{@account.username}@#{Rails.configuration.x.local_domain}" | |||
| @magic_key = pem_to_magic_key(@account.keypair.public_key) | |||
| rescue ActiveRecord::RecordNotFound | |||
| render nothing: true, status: 404 | |||
| head 404 | |||
| end | |||
| private | |||
| @@ -1,10 +1,10 @@ | |||
| class Account < ActiveRecord::Base | |||
| class Account < ApplicationRecord | |||
| include Targetable | |||
| # Local users | |||
| has_one :user, inverse_of: :account | |||
| validates :username, uniqueness: { scope: :domain, case_sensitive: false }, if: 'local?' | |||
| validates :username, uniqueness: { scope: :domain, case_sensitive: true }, unless: 'local?' | |||
| validates :username, presence: true, uniqueness: { scope: :domain, case_sensitive: false }, if: 'local?' | |||
| validates :username, presence: true, uniqueness: { scope: :domain, case_sensitive: true }, unless: 'local?' | |||
| # Avatar upload | |||
| has_attached_file :avatar, styles: { large: '300x300#', medium: '96x96#', small: '48x48#' }, default_url: 'avatars/missing.png' | |||
| @@ -0,0 +1,3 @@ | |||
| class ApplicationRecord < ActiveRecord::Base | |||
| self.abstract_class = true | |||
| end | |||
| @@ -1,4 +1,4 @@ | |||
| class Favourite < ActiveRecord::Base | |||
| class Favourite < ApplicationRecord | |||
| include Streamable | |||
| belongs_to :account, inverse_of: :favourites | |||
| @@ -1,4 +1,4 @@ | |||
| class Follow < ActiveRecord::Base | |||
| class Follow < ApplicationRecord | |||
| include Streamable | |||
| belongs_to :account | |||
| @@ -1,4 +1,4 @@ | |||
| class Mention < ActiveRecord::Base | |||
| class Mention < ApplicationRecord | |||
| belongs_to :account, inverse_of: :mentions | |||
| belongs_to :status | |||
| @@ -1,4 +1,4 @@ | |||
| class Status < ActiveRecord::Base | |||
| class Status < ApplicationRecord | |||
| include Paginable | |||
| include Streamable | |||
| @@ -1,4 +1,4 @@ | |||
| class StreamEntry < ActiveRecord::Base | |||
| class StreamEntry < ApplicationRecord | |||
| include Paginable | |||
| belongs_to :account, inverse_of: :stream_entries | |||
| @@ -1,4 +1,4 @@ | |||
| class User < ActiveRecord::Base | |||
| class User < ApplicationRecord | |||
| devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable | |||
| belongs_to :account, inverse_of: :user | |||
| @@ -1,4 +1,4 @@ | |||
| #!/usr/bin/env ruby | |||
| APP_PATH = File.expand_path('../../config/application', __FILE__) | |||
| APP_PATH = File.expand_path('../config/application', __dir__) | |||
| require_relative '../config/boot' | |||
| require 'rails/commands' | |||
| @@ -1,29 +1,34 @@ | |||
| #!/usr/bin/env ruby | |||
| require 'pathname' | |||
| require 'fileutils' | |||
| include FileUtils | |||
| # path to your application root. | |||
| APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) | |||
| APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) | |||
| Dir.chdir APP_ROOT do | |||
| def system!(*args) | |||
| system(*args) || abort("\n== Command #{args} failed ==") | |||
| end | |||
| chdir APP_ROOT do | |||
| # This script is a starting point to setup your application. | |||
| # Add necessary setup steps to this file: | |||
| # Add necessary setup steps to this file. | |||
| puts "== Installing dependencies ==" | |||
| system "gem install bundler --conservative" | |||
| system "bundle check || bundle install" | |||
| puts '== Installing dependencies ==' | |||
| system! 'gem install bundler --conservative' | |||
| system('bundle check') || system!('bundle install') | |||
| # puts "\n== Copying sample files ==" | |||
| # unless File.exist?("config/database.yml") | |||
| # system "cp config/database.yml.sample config/database.yml" | |||
| # unless File.exist?('config/database.yml') | |||
| # cp 'config/database.yml.sample', 'config/database.yml' | |||
| # end | |||
| puts "\n== Preparing database ==" | |||
| system "bin/rake db:setup" | |||
| system! 'bin/rails db:setup' | |||
| puts "\n== Removing old logs and tempfiles ==" | |||
| system "rm -f log/*" | |||
| system "rm -rf tmp/cache" | |||
| system! 'bin/rails log:clear tmp:clear' | |||
| puts "\n== Restarting application server ==" | |||
| system "touch tmp/restart.txt" | |||
| system! 'bin/rails restart' | |||
| end | |||
| @@ -0,0 +1,29 @@ | |||
| #!/usr/bin/env ruby | |||
| require 'pathname' | |||
| require 'fileutils' | |||
| include FileUtils | |||
| # path to your application root. | |||
| APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) | |||
| def system!(*args) | |||
| system(*args) || abort("\n== Command #{args} failed ==") | |||
| end | |||
| chdir APP_ROOT do | |||
| # This script is a way to update your development environment automatically. | |||
| # Add necessary update steps to this file. | |||
| puts '== Installing dependencies ==' | |||
| system! 'gem install bundler --conservative' | |||
| system('bundle check') || system!('bundle install') | |||
| puts "\n== Updating database ==" | |||
| system! 'bin/rails db:migrate' | |||
| puts "\n== Removing old logs and tempfiles ==" | |||
| system! 'bin/rails log:clear tmp:clear' | |||
| puts "\n== Restarting application server ==" | |||
| system! 'bin/rails restart' | |||
| end | |||
| @@ -1,4 +1,4 @@ | |||
| require File.expand_path('../boot', __FILE__) | |||
| require_relative 'boot' | |||
| require 'rails/all' | |||
| @@ -22,9 +22,6 @@ module Mastodon | |||
| # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] | |||
| # config.i18n.default_locale = :de | |||
| # Do not swallow errors in after_commit/after_rollback callbacks. | |||
| config.active_record.raise_in_transactional_callbacks = true | |||
| config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb') | |||
| config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')] | |||
| @@ -1,3 +1,3 @@ | |||
| ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) | |||
| ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) | |||
| require 'bundler/setup' # Set up gems listed in the Gemfile. | |||
| @@ -0,0 +1,9 @@ | |||
| development: | |||
| adapter: async | |||
| test: | |||
| adapter: async | |||
| production: | |||
| adapter: redis | |||
| url: redis://<%= ENV['REDIS_HOST'] || 'localhost' %>:<%= ENV['REDIS_PORT'] || 6379 %>/1 | |||
| @@ -1,5 +1,5 @@ | |||
| # Load the Rails application. | |||
| require File.expand_path('../application', __FILE__) | |||
| require_relative 'application' | |||
| # Initialize the Rails application. | |||
| Rails.application.initialize! | |||
| @@ -9,12 +9,26 @@ Rails.application.configure do | |||
| # Do not eager load code on boot. | |||
| config.eager_load = false | |||
| # Show full error reports and disable caching. | |||
| config.consider_all_requests_local = true | |||
| config.action_controller.perform_caching = false | |||
| # Show full error reports. | |||
| config.consider_all_requests_local= true | |||
| # Enable/disable caching. By default caching is disabled. | |||
| if Rails.root.join('tmp/caching-dev.txt').exist? | |||
| config.action_controller.perform_caching = true | |||
| config.cache_store = :memory_store | |||
| config.public_file_server.headers = { | |||
| 'Cache-Control' => 'public, max-age=172800' | |||
| } | |||
| else | |||
| config.action_controller.perform_caching = false | |||
| config.cache_store = :null_store | |||
| end | |||
| # Don't care if the mailer can't send. | |||
| config.action_mailer.raise_delivery_errors = false | |||
| config.action_mailer.perform_caching = false | |||
| # Print deprecation notices to the Rails logger. | |||
| config.active_support.deprecation = :log | |||
| @@ -27,9 +41,8 @@ Rails.application.configure do | |||
| # number of complex assets. | |||
| config.assets.debug = true | |||
| # Asset digests allow you to set far-future HTTP expiration dates on all assets, | |||
| # yet still be able to expire them through the digest params. | |||
| config.assets.digest = true | |||
| # Suppress logger output for asset requests. | |||
| config.assets.quiet = true | |||
| # Adds additional error checking when serving assets at runtime. | |||
| # Checks for improperly declared sprockets dependencies. | |||
| @@ -39,6 +52,10 @@ Rails.application.configure do | |||
| # Raises error for missing translations | |||
| # config.action_view.raise_on_missing_translations = true | |||
| # Use an evented file watcher to asynchronously detect changes in source code, | |||
| # routes, locales, etc. This feature depends on the listen gem. | |||
| # config.file_watcher = ActiveSupport::EventedFileUpdateChecker | |||
| config.action_mailer.delivery_method = :letter_opener | |||
| config.after_initialize do | |||
| @@ -14,15 +14,9 @@ Rails.application.configure do | |||
| config.consider_all_requests_local = false | |||
| config.action_controller.perform_caching = true | |||
| # Enable Rack::Cache to put a simple HTTP cache in front of your application | |||
| # Add `rack-cache` to your Gemfile before enabling this. | |||
| # For large-scale production use, consider using a caching reverse proxy like | |||
| # NGINX, varnish or squid. | |||
| # config.action_dispatch.rack_cache = true | |||
| # Disable serving static files from the `/public` folder by default since | |||
| # Apache or NGINX already handles this. | |||
| config.serve_static_files = true | |||
| config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? | |||
| # Compress JavaScripts and CSS. | |||
| config.assets.js_compressor = :uglifier | |||
| @@ -31,10 +25,6 @@ Rails.application.configure do | |||
| # Do not fallback to assets pipeline if a precompiled asset is missed. | |||
| config.assets.compile = false | |||
| # Asset digests allow you to set far-future HTTP expiration dates on all assets, | |||
| # yet still be able to expire them through the digest params. | |||
| config.assets.digest = true | |||
| # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb | |||
| # Specifies the header that your server uses for sending files. | |||
| @@ -49,7 +39,7 @@ Rails.application.configure do | |||
| config.log_level = :debug | |||
| # Prepend all log lines with the following tags. | |||
| # config.log_tags = [ :subdomain, :uuid ] | |||
| config.log_tags = [ :request_id ] | |||
| # Use a different logger for distributed setups. | |||
| # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) | |||
| @@ -77,6 +67,8 @@ Rails.application.configure do | |||
| # Do not dump schema after migrations. | |||
| config.active_record.dump_schema_after_migration = false | |||
| config.action_mailer.perform_caching = false | |||
| # E-mails | |||
| config.action_mailer.smtp_settings = { | |||
| :port => ENV['SMTP_PORT'], | |||
| @@ -13,8 +13,10 @@ Rails.application.configure do | |||
| config.eager_load = false | |||
| # Configure static file server for tests with Cache-Control for performance. | |||
| config.serve_static_files = true | |||
| config.static_cache_control = 'public, max-age=3600' | |||
| config.public_file_server.enabled = true | |||
| config.public_file_server.headers = { | |||
| 'Cache-Control' => 'public, max-age=3600' | |||
| } | |||
| config.assets.digest = false | |||
| # Show full error reports and disable caching. | |||
| @@ -31,9 +33,7 @@ Rails.application.configure do | |||
| # The :test delivery method accumulates sent emails in the | |||
| # ActionMailer::Base.deliveries array. | |||
| config.action_mailer.delivery_method = :test | |||
| # Randomize the order test cases are executed. | |||
| config.active_support.test_order = :random | |||
| config.action_mailer.perform_caching = false | |||
| # Print deprecation notices to the stderr. | |||
| config.active_support.deprecation = :stderr | |||
| @@ -0,0 +1,6 @@ | |||
| # Be sure to restart your server when you modify this file. | |||
| # ApplicationController.renderer.defaults.merge!( | |||
| # http_host: 'example.org', | |||
| # https: false | |||
| # ) | |||
| @@ -1,3 +1,5 @@ | |||
| # Be sure to restart your server when you modify this file. | |||
| # Specify a serializer for the signed and encrypted cookie jars. | |||
| # Valid options are :json, :marshal, and :hybrid. | |||
| Rails.application.config.action_dispatch.cookies_serializer = :json | |||
| @@ -0,0 +1,23 @@ | |||
| # Be sure to restart your server when you modify this file. | |||
| # | |||
| # This file contains migration options to ease your Rails 5.0 upgrade. | |||
| # | |||
| # Once upgraded flip defaults one by one to migrate to the new default. | |||
| # | |||
| # Read the Rails 5.0 release notes for more info on each option. | |||
| # Enable per-form CSRF tokens. Previous versions had false. | |||
| Rails.application.config.action_controller.per_form_csrf_tokens = false | |||
| # Enable origin-checking CSRF mitigation. Previous versions had false. | |||
| Rails.application.config.action_controller.forgery_protection_origin_check = false | |||
| # Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`. | |||
| # Previous versions had false. | |||
| ActiveSupport.to_time_preserves_timezone = false | |||
| # Require `belongs_to` associations by default. Previous versions had false. | |||
| Rails.application.config.active_record.belongs_to_required_by_default = false | |||
| # Do not halt callback chains when a callback returns false. Previous versions had true. | |||
| ActiveSupport.halt_callback_chains_on_return_false = true | |||
| @@ -5,10 +5,10 @@ | |||
| # 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] if respond_to?(:wrap_parameters) | |||
| wrap_parameters format: [:json] | |||
| end | |||
| # To enable root element in JSON for ActiveRecord objects. | |||
| # ActiveSupport.on_load(:active_record) do | |||
| # self.include_root_in_json = true | |||
| # self.include_root_in_json = true | |||
| # end | |||
| @@ -1,13 +1,47 @@ | |||
| workers Integer(ENV['WEB_CONCURRENCY'] || 2) | |||
| threads_count = Integer(ENV['MAX_THREADS'] || 5) | |||
| # Puma can serve each request in a thread from an internal thread pool. | |||
| # The `threads` method setting takes two numbers a minimum and maximum. | |||
| # Any libraries that use thread pools should be configured to match | |||
| # the maximum value specified for Puma. Default is set to 5 threads for minimum | |||
| # and maximum, this matches the default thread size of Active Record. | |||
| # | |||
| threads_count = ENV.fetch("MAX_THREADS") { 5 }.to_i | |||
| threads threads_count, threads_count | |||
| preload_app! | |||
| # Specifies the `port` that Puma will listen on to receive requests, default is 3000. | |||
| # | |||
| port ENV.fetch("PORT") { 3000 } | |||
| rackup DefaultRackup | |||
| port ENV['PORT'] || 3000 | |||
| environment ENV['RACK_ENV'] || 'development' | |||
| # Specifies the `environment` that Puma will run in. | |||
| # | |||
| environment ENV.fetch("RAILS_ENV") { "development" } | |||
| on_worker_boot do | |||
| ActiveRecord::Base.establish_connection | |||
| end | |||
| # Specifies the number of `workers` to boot in clustered mode. | |||
| # Workers are forked webserver processes. If using threads and workers together | |||
| # the concurrency of the application would be max `threads` * `workers`. | |||
| # Workers do not work on JRuby or Windows (both of which do not support | |||
| # processes). | |||
| # | |||
| workers ENV.fetch("WEB_CONCURRENCY") { 2 } | |||
| # Use the `preload_app!` method when specifying a `workers` number. | |||
| # This directive tells Puma to first boot the application and load code | |||
| # before forking the application. This takes advantage of Copy On Write | |||
| # process behavior so workers use less memory. If you use this option | |||
| # you need to make sure to reconnect any threads in the `on_worker_boot` | |||
| # block. | |||
| # | |||
| # preload_app! | |||
| # The code in the `on_worker_boot` will be called if you are using | |||
| # clustered mode by specifying a number of `workers`. After each worker | |||
| # process is booted this block will be run, if you are using `preload_app!` | |||
| # option you will want to use this block to reconnect to any threads | |||
| # or connections that may have been created at application boot, Ruby | |||
| # cannot share connections between processes. | |||
| # | |||
| # on_worker_boot do | |||
| # ActiveRecord::Base.establish_connection if defined?(ActiveRecord) | |||
| # end | |||
| # Allow puma to be restarted by `rails restart` command. | |||
| plugin :tmp_restart | |||
| @@ -5,7 +5,7 @@ | |||
| # Make sure the secret is at least 30 characters and all random, | |||
| # no regular words or you'll be exposed to dictionary attacks. | |||
| # You can use `rake secret` to generate a secure secret key. | |||
| # You can use `rails secret` to generate a secure secret key. | |||
| # Make sure the secrets in this file are kept private | |||
| # if you're sharing your code publicly. | |||
| @@ -1,4 +1,3 @@ | |||
| # encoding: UTF-8 | |||
| # This file is auto-generated from the current state of the database. Instead | |||
| # of editing this file, please use the migrations feature of Active Record to | |||
| # incrementally modify your database, and then regenerate this schema definition. | |||
| @@ -41,37 +40,33 @@ ActiveRecord::Schema.define(version: 20160325130944) do | |||
| t.integer "header_file_size" | |||
| t.datetime "header_updated_at" | |||
| t.string "avatar_remote_url" | |||
| t.index ["username", "domain"], name: "index_accounts_on_username_and_domain", unique: true, using: :btree | |||
| end | |||
| add_index "accounts", ["username", "domain"], name: "index_accounts_on_username_and_domain", unique: true, using: :btree | |||
| create_table "favourites", force: :cascade do |t| | |||
| t.integer "account_id", null: false | |||
| t.integer "status_id", null: false | |||
| t.datetime "created_at", null: false | |||
| t.datetime "updated_at", null: false | |||
| t.index ["account_id", "status_id"], name: "index_favourites_on_account_id_and_status_id", unique: true, using: :btree | |||
| end | |||
| add_index "favourites", ["account_id", "status_id"], name: "index_favourites_on_account_id_and_status_id", unique: true, using: :btree | |||
| create_table "follows", force: :cascade do |t| | |||
| t.integer "account_id", null: false | |||
| t.integer "target_account_id", null: false | |||
| t.datetime "created_at", null: false | |||
| t.datetime "updated_at", null: false | |||
| t.index ["account_id", "target_account_id"], name: "index_follows_on_account_id_and_target_account_id", unique: true, using: :btree | |||
| end | |||
| add_index "follows", ["account_id", "target_account_id"], name: "index_follows_on_account_id_and_target_account_id", unique: true, using: :btree | |||
| create_table "mentions", force: :cascade do |t| | |||
| t.integer "account_id" | |||
| t.integer "status_id" | |||
| t.datetime "created_at", null: false | |||
| t.datetime "updated_at", null: false | |||
| t.index ["account_id", "status_id"], name: "index_mentions_on_account_id_and_status_id", unique: true, using: :btree | |||
| end | |||
| add_index "mentions", ["account_id", "status_id"], name: "index_mentions_on_account_id_and_status_id", unique: true, using: :btree | |||
| create_table "oauth_access_grants", force: :cascade do |t| | |||
| t.integer "resource_owner_id", null: false | |||
| t.integer "application_id", null: false | |||
| @@ -81,10 +76,9 @@ ActiveRecord::Schema.define(version: 20160325130944) do | |||
| t.datetime "created_at", null: false | |||
| t.datetime "revoked_at" | |||
| t.string "scopes" | |||
| t.index ["token"], name: "index_oauth_access_grants_on_token", unique: true, using: :btree | |||
| end | |||
| add_index "oauth_access_grants", ["token"], name: "index_oauth_access_grants_on_token", unique: true, using: :btree | |||
| create_table "oauth_access_tokens", force: :cascade do |t| | |||
| t.integer "resource_owner_id" | |||
| t.integer "application_id" | |||
| @@ -94,12 +88,11 @@ ActiveRecord::Schema.define(version: 20160325130944) do | |||
| t.datetime "revoked_at" | |||
| t.datetime "created_at", null: false | |||
| t.string "scopes" | |||
| t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true, using: :btree | |||
| t.index ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id", using: :btree | |||
| t.index ["token"], name: "index_oauth_access_tokens_on_token", unique: true, using: :btree | |||
| end | |||
| add_index "oauth_access_tokens", ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true, using: :btree | |||
| add_index "oauth_access_tokens", ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id", using: :btree | |||
| add_index "oauth_access_tokens", ["token"], name: "index_oauth_access_tokens_on_token", unique: true, using: :btree | |||
| create_table "oauth_applications", force: :cascade do |t| | |||
| t.string "name", null: false | |||
| t.string "uid", null: false | |||
| @@ -110,11 +103,10 @@ ActiveRecord::Schema.define(version: 20160325130944) do | |||
| t.datetime "updated_at" | |||
| t.integer "owner_id" | |||
| t.string "owner_type" | |||
| t.index ["owner_id", "owner_type"], name: "index_oauth_applications_on_owner_id_and_owner_type", using: :btree | |||
| t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true, using: :btree | |||
| end | |||
| add_index "oauth_applications", ["owner_id", "owner_type"], name: "index_oauth_applications_on_owner_id_and_owner_type", using: :btree | |||
| add_index "oauth_applications", ["uid"], name: "index_oauth_applications_on_uid", unique: true, using: :btree | |||
| create_table "statuses", force: :cascade do |t| | |||
| t.string "uri" | |||
| t.integer "account_id", null: false | |||
| @@ -124,24 +116,22 @@ ActiveRecord::Schema.define(version: 20160325130944) do | |||
| t.integer "in_reply_to_id" | |||
| t.integer "reblog_of_id" | |||
| t.string "url" | |||
| t.index ["account_id"], name: "index_statuses_on_account_id", using: :btree | |||
| t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id", using: :btree | |||
| t.index ["reblog_of_id"], name: "index_statuses_on_reblog_of_id", using: :btree | |||
| t.index ["uri"], name: "index_statuses_on_uri", unique: true, using: :btree | |||
| end | |||
| add_index "statuses", ["account_id"], name: "index_statuses_on_account_id", using: :btree | |||
| add_index "statuses", ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id", using: :btree | |||
| add_index "statuses", ["reblog_of_id"], name: "index_statuses_on_reblog_of_id", using: :btree | |||
| add_index "statuses", ["uri"], name: "index_statuses_on_uri", unique: true, using: :btree | |||
| create_table "stream_entries", force: :cascade do |t| | |||
| t.integer "account_id" | |||
| t.integer "activity_id" | |||
| t.string "activity_type" | |||
| t.datetime "created_at", null: false | |||
| t.datetime "updated_at", null: false | |||
| t.index ["account_id"], name: "index_stream_entries_on_account_id", using: :btree | |||
| t.index ["activity_id", "activity_type"], name: "index_stream_entries_on_activity_id_and_activity_type", using: :btree | |||
| end | |||
| add_index "stream_entries", ["account_id"], name: "index_stream_entries_on_account_id", using: :btree | |||
| add_index "stream_entries", ["activity_id", "activity_type"], name: "index_stream_entries_on_activity_id_and_activity_type", using: :btree | |||
| create_table "users", force: :cascade do |t| | |||
| t.string "email", default: "", null: false | |||
| t.integer "account_id", null: false | |||
| @@ -157,10 +147,9 @@ ActiveRecord::Schema.define(version: 20160325130944) do | |||
| t.inet "current_sign_in_ip" | |||
| t.inet "last_sign_in_ip" | |||
| t.boolean "admin", default: false | |||
| t.index ["account_id"], name: "index_users_on_account_id", using: :btree | |||
| t.index ["email"], name: "index_users_on_email", unique: true, using: :btree | |||
| t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree | |||
| end | |||
| add_index "users", ["account_id"], name: "index_users_on_account_id", using: :btree | |||
| add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree | |||
| add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree | |||
| end | |||
| @@ -5,26 +5,26 @@ RSpec.describe AccountsController, type: :controller do | |||
| describe 'GET #show' do | |||
| it 'returns http success' do | |||
| get :show, username: alice.username | |||
| get :show, params: { username: alice.username } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| it 'returns http success with Atom' do | |||
| get :show, username: alice.username, format: 'atom' | |||
| get :show, params: { username: alice.username }, format: 'atom' | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| describe 'GET #followers' do | |||
| it 'returns http success' do | |||
| get :followers, username: alice.username | |||
| get :followers, params: { username: alice.username } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| describe 'GET #following' do | |||
| it 'returns http success' do | |||
| get :following, username: alice.username | |||
| get :following, params: { username: alice.username } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| @@ -12,7 +12,7 @@ RSpec.describe Api::Accounts::LookupController, type: :controller do | |||
| before do | |||
| Fabricate(:account, username: 'bob') | |||
| Fabricate(:account, username: 'mcbeth') | |||
| get :index, usernames: 'alice,bob,mcbeth' | |||
| get :index, params: { usernames: 'alice,bob,mcbeth' } | |||
| end | |||
| it 'returns http success' do | |||
| @@ -10,28 +10,28 @@ RSpec.describe Api::AccountsController, type: :controller do | |||
| describe 'GET #show' do | |||
| it 'returns http success' do | |||
| get :show, id: user.account.id | |||
| get :show, params: { id: user.account.id } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| describe 'GET #statuses' do | |||
| it 'returns http success' do | |||
| get :statuses, id: user.account.id | |||
| get :statuses, params: { id: user.account.id } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| describe 'GET #followers' do | |||
| it 'returns http success' do | |||
| get :followers, id: user.account.id | |||
| get :followers, params: { id: user.account.id } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| describe 'GET #following' do | |||
| it 'returns http success' do | |||
| get :following, id: user.account.id | |||
| get :following, params: { id: user.account.id } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| @@ -40,7 +40,7 @@ RSpec.describe Api::AccountsController, type: :controller do | |||
| let(:other_account) { Fabricate(:account, username: 'bob') } | |||
| before do | |||
| post :follow, id: other_account.id | |||
| post :follow, params: { id: other_account.id } | |||
| end | |||
| it 'returns http success' do | |||
| @@ -57,7 +57,7 @@ RSpec.describe Api::AccountsController, type: :controller do | |||
| before do | |||
| user.account.follow!(other_account) | |||
| post :unfollow, id: other_account.id | |||
| post :unfollow, params: { id: other_account.id } | |||
| end | |||
| it 'returns http success' do | |||
| @@ -18,7 +18,7 @@ RSpec.describe Api::FollowsController, type: :controller do | |||
| stub_request(:post, "https://quitter.no/main/salmon/user/7477").to_return(:status => 200, :body => "", :headers => {}) | |||
| stub_request(:post, "https://pubsubhubbub.superfeedr.com/").to_return(:status => 200, :body => "", :headers => {}) | |||
| post :create, uri: 'gargron@quitter.no' | |||
| post :create, params: { uri: 'gargron@quitter.no' } | |||
| end | |||
| it 'returns http success' do | |||
| @@ -13,7 +13,7 @@ RSpec.describe Api::SalmonController, type: :controller do | |||
| describe 'POST #update' do | |||
| before do | |||
| request.env['RAW_POST_DATA'] = File.read(File.join(Rails.root, 'spec', 'fixtures', 'salmon', 'mention.xml')) | |||
| post :update, id: account.id | |||
| post :update, params: { id: account.id } | |||
| end | |||
| it 'returns http success' do | |||
| @@ -12,7 +12,7 @@ RSpec.describe Api::StatusesController, type: :controller do | |||
| let(:status) { Fabricate(:status, account: user.account) } | |||
| it 'returns http success' do | |||
| get :show, id: status.id | |||
| get :show, params: { id: status.id } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| @@ -5,7 +5,7 @@ RSpec.describe Api::SubscriptionsController, type: :controller do | |||
| describe 'GET #show' do | |||
| before do | |||
| get :show, :id => account.id, 'hub.topic' => 'topic_url', 'hub.verify_token' => 123, 'hub.challenge' => '456' | |||
| get :show, params: { :id => account.id, 'hub.topic' => 'topic_url', 'hub.verify_token' => 123, 'hub.challenge' => '456' } | |||
| end | |||
| it 'returns http success' do | |||
| @@ -26,7 +26,7 @@ RSpec.describe Api::SubscriptionsController, type: :controller do | |||
| request.env['HTTP_X_HUB_SIGNATURE'] = "sha1=#{OpenSSL::HMAC.hexdigest('sha1', 'abc', feed)}" | |||
| request.env['RAW_POST_DATA'] = feed | |||
| post :update, id: account.id | |||
| post :update, params: { id: account.id } | |||
| end | |||
| it 'returns http created' do | |||
| @@ -17,7 +17,7 @@ RSpec.describe Auth::SessionsController, type: :controller do | |||
| before do | |||
| request.env["devise.mapping"] = Devise.mappings[:user] | |||
| post :create, user: { email: user.email, password: user.password } | |||
| post :create, params: { user: { email: user.email, password: user.password } } | |||
| end | |||
| it 'redirects to home page' do | |||
| @@ -3,7 +3,7 @@ require 'rails_helper' | |||
| RSpec.describe SettingsController, type: :controller do | |||
| before do | |||
| sign_in :user, Fabricate(:user) | |||
| sign_in Fabricate(:user), scope: :user | |||
| end | |||
| describe "GET #show" do | |||
| @@ -4,13 +4,13 @@ RSpec.describe StatusesController, type: :controller do | |||
| let(:user) { Fabricate(:user) } | |||
| before do | |||
| sign_in :user, user | |||
| sign_in user, scope: :user | |||
| end | |||
| describe 'POST #create' do | |||
| before do | |||
| stub_request(:post, "https://pubsubhubbub.superfeedr.com/").to_return(:status => 200, :body => "", :headers => {}) | |||
| post :create, status: { text: 'Hello world' } | |||
| post :create, params: { status: { text: 'Hello world' } } | |||
| end | |||
| it 'redirects back to homepage' do | |||
| @@ -6,12 +6,12 @@ RSpec.describe StreamEntriesController, type: :controller do | |||
| describe 'GET #show' do | |||
| it 'returns http success with HTML' do | |||
| get :show, account_username: alice.username, id: status.stream_entry.id | |||
| get :show, params: { account_username: alice.username, id: status.stream_entry.id } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| it 'returns http success with Atom' do | |||
| get :show, account_username: alice.username, id: status.stream_entry.id, format: 'atom' | |||
| get :show, params: { account_username: alice.username, id: status.stream_entry.id }, format: 'atom' | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| end | |||
| @@ -12,12 +12,12 @@ RSpec.describe XrdController, type: :controller do | |||
| let(:alice) { Fabricate(:account, username: 'alice') } | |||
| it 'returns http success when account can be found' do | |||
| get :webfinger, resource: "acct:#{alice.username}@anything.com" | |||
| get :webfinger, params: { resource: "acct:#{alice.username}@anything.com" } | |||
| expect(response).to have_http_status(:success) | |||
| end | |||
| it 'returns http not found when account cannot be found' do | |||
| get :webfinger, resource: 'acct:not@existing.com' | |||
| get :webfinger, params: { resource: 'acct:not@existing.com' } | |||
| expect(response).to have_http_status(:not_found) | |||
| end | |||
| end | |||
| @@ -1,3 +1,3 @@ | |||
| Fabricator(:account) do | |||
| username "alice" | |||
| end | |||
| @@ -17,7 +17,7 @@ RSpec.configure do |config| | |||
| config.infer_spec_type_from_file_location! | |||
| config.filter_rails_from_backtrace! | |||
| config.include Devise::TestHelpers, type: :controller | |||
| config.include Devise::Test::ControllerHelpers, type: :controller | |||
| config.include Devise::TestHelpers, type: :view | |||
| end | |||