museum 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-gemset +1 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +18 -15
  5. data/README.md +3 -1
  6. data/Rakefile +10 -1
  7. data/VERSION +1 -1
  8. data/app/controllers/museum/cases_controller.rb +9 -17
  9. data/app/models/museum/case.rb +6 -3
  10. data/app/models/museum/case_detail.rb +1 -1
  11. data/app/models/museum/loupe.rb +1 -1
  12. data/app/views/application/404.html.haml +2 -0
  13. data/lib/museum.rb +7 -6
  14. data/museum.gemspec +70 -39
  15. data/spec/controllers/cases_controller_spec.rb +12 -14
  16. data/spec/dummy/.rspec +1 -0
  17. data/spec/dummy/Rakefile +8 -1
  18. data/spec/dummy/app/controllers/application_controller.rb +4 -0
  19. data/spec/dummy/app/models/application_record.rb +3 -0
  20. data/spec/dummy/bin/rails +1 -1
  21. data/spec/dummy/bin/setup +34 -0
  22. data/spec/dummy/bin/update +29 -0
  23. data/spec/dummy/config/application.rb +4 -14
  24. data/spec/dummy/config/boot.rb +3 -3
  25. data/spec/dummy/config/cable.yml +9 -0
  26. data/spec/dummy/config/environment.rb +2 -2
  27. data/spec/dummy/config/environments/development.rb +31 -6
  28. data/spec/dummy/config/environments/production.rb +37 -31
  29. data/spec/dummy/config/environments/test.rb +11 -5
  30. data/spec/dummy/config/initializers/application_controller_renderer.rb +6 -0
  31. data/spec/dummy/config/initializers/assets.rb +11 -0
  32. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  33. data/spec/dummy/config/initializers/mime_types.rb +0 -1
  34. data/spec/dummy/config/initializers/new_framework_defaults.rb +23 -0
  35. data/spec/dummy/config/initializers/session_store.rb +1 -1
  36. data/spec/dummy/config/initializers/wrap_parameters.rb +2 -2
  37. data/spec/dummy/config/locales/en.yml +23 -0
  38. data/spec/dummy/config/puma.rb +47 -0
  39. data/spec/dummy/config/routes.rb +1 -56
  40. data/spec/dummy/config/secrets.yml +22 -0
  41. data/spec/dummy/config/spring.rb +6 -0
  42. data/spec/dummy/db/development.sqlite3 +0 -0
  43. data/spec/dummy/db/schema.rb +3 -3
  44. data/spec/dummy/db/seeds/cases.seeds.rb +24 -0
  45. data/spec/dummy/db/seeds/loupes.seeds.rb +15 -0
  46. data/spec/dummy/db/seeds.rb +0 -1
  47. data/spec/dummy/db/test.sqlite3 +0 -0
  48. data/spec/features/cases_spec.rb +29 -0
  49. data/spec/helpers/cases_helper_spec.rb +1 -1
  50. data/spec/models/case_detail_spec.rb +33 -29
  51. data/spec/models/case_spec.rb +5 -5
  52. data/spec/models/loupe_spec.rb +1 -1
  53. data/spec/museum_spec.rb +1 -1
  54. data/spec/rails_helper.rb +88 -0
  55. data/spec/routing/engine_routes_spec.rb +1 -1
  56. data/spec/spec_helper.rb +79 -59
  57. data/spec/support/case_support.rb +5 -5
  58. data/spec/support/controller_behaviors.rb +116 -0
  59. data/spec/support/loupe_support.rb +2 -2
  60. metadata +140 -32
  61. data/coverage/.last_run.json +0 -5
  62. data/coverage/.resultset.json +0 -548
  63. data/coverage/.resultset.json.lock +0 -0
  64. data/db/seeds/museum_cases.yml +0 -15
  65. data/db/seeds/museum_loupes.yml +0 -13
  66. data/db/seeds.rb +0 -7
  67. data/spec/dummy/coverage/.last_run.json +0 -5
  68. data/spec/dummy/coverage/.resultset.json +0 -114
  69. data/spec/views/cases/index.html.haml_spec.rb +0 -18
  70. data/spec/views/cases/show.html.haml_spec.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e8b98455cc05b4614d75f311c6a1dade55c2937
4
- data.tar.gz: d5fff582de2cb6a4009c53fc85f307f11a0045fb
3
+ metadata.gz: 4d560f0d0a10273baa5d824cd566c00dbf2b20ae
4
+ data.tar.gz: 35c16fa18c54188e5a1d1d4301bf0795ad5abe15
5
5
  SHA512:
6
- metadata.gz: 822a2919cf1c6165e824b6b99663519fd4dfec59a3639434c224aaf4521f6dc0220fc62789f6638c9810b976a9bcf771120dfaed932c43920743546f8b2f5e69
7
- data.tar.gz: 509a62b76b11105733ba25f15f6e626d52486893a68f643210b1cf1bbeaf2975f18a1aa40924b7694934cf89e115e318d46e445c8e68b060c964711f5147cb1f
6
+ metadata.gz: 72777590772e0f6cd3ae6b5bdf7e8d50ec4bc4da68d45fe32ffe6fd377be3cc7aa5722f7e75e1bbac5e6e60988bae78776d4aeb662ceee3767f40d4994b2b257
7
+ data.tar.gz: cbeca294bc51e98bf4796cac5a281a23de1c3a88fe132da2c54380fd2c7832f6bc9c9ac4c4ec6d4d73b993b544abd90d1e3fa013910ff57c8a9f0df90aa68795
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ museum
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.2.3
data/Gemfile CHANGED
@@ -4,25 +4,28 @@ source "https://rubygems.org"
4
4
  # Bundler will treat runtime dependencies like base dependencies, and
5
5
  # development dependencies will be added by default to the :development group.
6
6
 
7
- gem 'rails', '~> 4.1'
8
- gem 'rails-i18n', '~> 4'
9
- gem 'jquery-rails', '~> 3.1'
10
- gem 'haml-rails', '~> 0.5'
11
- gem 'friendly_id', '~> 5'
12
- gem 'yaml_seeder', '~> 0.1'
13
- gem 'jeweler', '~> 2'
7
+ gem 'rails', '~> 5.0'
8
+ gem 'rails-i18n', '~> 4.0'
9
+ gem 'jquery-rails', '~> 4.0'
10
+ gem 'haml-rails', '~> 0.9'
11
+ gem 'friendly_id', '~> 5.1'
12
+ gem 'jeweler', '~> 2.0'
14
13
 
15
14
  group :test do
16
- gem 'rspec-rails', '~> 3.1'
17
- gem 'rspec-its', '~> 1'
18
- gem 'shoulda-matchers', '~> 2.7'
19
- gem 'database_cleaner', '~> 1.3'
20
- gem 'factory_girl_rails', '~> 4.4'
21
- gem 'coveralls', '~> 0.7'
22
- gem 'sqlite3', '~> 1.3'
15
+ gem 'shoulda-matchers', '~> 3.0', require: false
23
16
  end
24
17
 
25
- gemspec
18
+ group :test, :development do
19
+ gem 'rspec-rails', '~> 3.5'
20
+ gem 'rails-controller-testing'
21
+ gem 'capybara', '~> 2.5'
22
+ gem 'rspec-its', '~> 1.2'
23
+ gem 'database_cleaner', '~> 1.5'
24
+ gem 'factory_girl_rails', '~> 4.5'
25
+ gem 'coveralls', '~> 0.8'
26
+ gem 'sqlite3', '~> 1.3'
27
+ gem 'seedbank', '~> 0.3'
28
+ end
26
29
 
27
30
  # Declare any dependencies that are still in development here instead of in
28
31
  # your gemspec. These might include edge Rails or gems from your path or
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  Museum
2
2
  ===========
3
3
 
4
+ **Updated for Rails 5**
5
+
4
6
  [![Gem Version](https://badge.fury.io/rb/museum.svg)](http://badge.fury.io/rb/museum)
5
7
  [![Build Status](https://travis-ci.org/gemvein/museum.svg)](https://travis-ci.org/gemvein/museum)
6
8
  [![Coverage Status](https://coveralls.io/repos/gemvein/museum/badge.png)](https://coveralls.io/r/gemvein/museum)
@@ -36,5 +38,5 @@ Contributing to Museum
36
38
  Copyright
37
39
  ---------
38
40
 
39
- Copyright (c) 2014 Gem Vein. See LICENSE.txt for further details.
41
+ Copyright (c) 2014-2016 Gem Vein. See LICENSE.txt for further details.
40
42
 
data/Rakefile CHANGED
@@ -24,5 +24,14 @@ RSpec::Core::RakeTask.new(:spec)
24
24
 
25
25
  task :default => :spec
26
26
 
27
- # Bundler::GemHelper.install_tasks
27
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
28
+ load 'rails/tasks/engine.rake'
28
29
 
30
+ # Bundler::GemHelper.install_tasks
31
+ namespace :museum do
32
+ desc "Recreate database from seeds"
33
+ task :clean do
34
+ dummy_app_path = Museum::Engine.root.join('spec', 'dummy')
35
+ system "bundle exec rake -f #{dummy_app_path.join('Rakefile')} db:drop db:create db:migrate db:seed db:test:prepare"
36
+ end
37
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.5.0
@@ -1,38 +1,30 @@
1
1
  module Museum
2
2
  class CasesController < ApplicationController
3
+ before_action :load_case, except: [:index]
3
4
 
4
5
  # GET /cases
5
6
  def index
6
7
  @cases = Museum::Case.all
7
8
  end
8
9
 
9
- # GET /cases/1
10
+ # GET /cases/gem-name
10
11
  def show
11
- if load_case
12
- @case.freshen_if_expired
13
- end
12
+ @case.freshen_if_expired
14
13
  end
15
14
 
16
- # PATCH/PUT /cases/1/refresh
15
+ # PATCH/PUT /cases/gem-name/refresh
17
16
  def refresh
18
- if load_case
19
- if @case.freshen
20
- redirect_to @case.reload, notice: :success.l
21
- else
22
- redirect_to @case, error: :failure.l
23
- end
17
+ if @case.freshen
18
+ redirect_to @case.reload, notice: :success.l
19
+ else
20
+ redirect_to @case, error: :failure.l
24
21
  end
25
22
  end
26
23
 
27
24
  private
28
25
 
29
- def not_found
30
- render :file => "#{Rails.root}/public/404", :status => :not_found
31
- false #return false so things will fail
32
- end
33
-
34
26
  def load_case
35
- @case = Museum::Case.find_by(name: params[:id]) or not_found
27
+ @case = Museum::Case.find_by!(name: params[:id])
36
28
  end
37
29
 
38
30
  end
@@ -1,15 +1,17 @@
1
1
  module Museum
2
- class Case < ActiveRecord::Base
2
+ class Case < ::ApplicationRecord
3
3
  validates_presence_of :name
4
4
 
5
5
  has_many :case_details, class_name: 'Museum::CaseDetail', foreign_key: :museum_case_id
6
6
 
7
- before_create :freshen
8
- before_update :freshen_if_expired
7
+ after_create :freshen
8
+ after_update :freshen_if_expired
9
9
 
10
10
  def freshen_if_expired
11
11
  if expired?
12
12
  freshen
13
+ else
14
+ self
13
15
  end
14
16
  end
15
17
 
@@ -19,6 +21,7 @@ module Museum
19
21
 
20
22
  def freshen
21
23
  for lens in Museum::Loupe.all
24
+ # puts lens.magnify(self).inspect
22
25
  lens.magnify(self).each do |key, value|
23
26
  case_details.update_or_create_by( {museum_loupe_id: lens.id, key: key}, {value: value.to_s} )
24
27
  end
@@ -1,5 +1,5 @@
1
1
  module Museum
2
- class CaseDetail < ActiveRecord::Base
2
+ class CaseDetail < ::ApplicationRecord
3
3
  validates_presence_of :key, :case, :loupe
4
4
 
5
5
  belongs_to :case, class_name: 'Museum::Case', foreign_key: :museum_case_id
@@ -1,5 +1,5 @@
1
1
  module Museum
2
- class Loupe < ActiveRecord::Base
2
+ class Loupe < ::ApplicationRecord
3
3
  extend ::FriendlyId
4
4
  friendly_id :title, use: :slugged
5
5
 
@@ -0,0 +1,2 @@
1
+ %h1
2
+ 404 - Page Not Found
data/lib/museum.rb CHANGED
@@ -1,10 +1,11 @@
1
- require 'rails/all'
2
- require 'rails-i18n'
3
- require 'haml-rails'
4
- require 'friendly_id'
5
- require 'yaml_seeder'
6
-
7
1
  module Museum
2
+ require "active_record/railtie"
3
+ require "action_controller/railtie"
4
+ require "action_view/railtie"
5
+ require "sprockets/railtie"
6
+
7
+ require 'rails-i18n'
8
+ require 'friendly_id'
8
9
 
9
10
  require 'museum/methods'
10
11
  require 'museum/configuration'
data/museum.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: museum 0.3.0 ruby lib
5
+ # stub: museum 0.5.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "museum"
9
- s.version = "0.3.0"
9
+ s.version = "0.5.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Karen Lundgren"]
14
- s.date = "2014-10-06"
14
+ s.date = "2016-10-11"
15
15
  s.description = "For organizations that want to market a gem in style, Museum uses APIs to provide you with an ever-fresh marketing site for your gems."
16
16
  s.email = "karen.e.lundgren@gmail.com"
17
17
  s.executables = ["rails"]
@@ -23,6 +23,8 @@ Gem::Specification.new do |s|
23
23
  ".coveralls.yml",
24
24
  ".document",
25
25
  ".rspec",
26
+ ".ruby-gemset",
27
+ ".ruby-version",
26
28
  ".travis.yml",
27
29
  "Gemfile",
28
30
  "LICENSE.txt",
@@ -34,21 +36,16 @@ Gem::Specification.new do |s|
34
36
  "app/models/museum/case.rb",
35
37
  "app/models/museum/case_detail.rb",
36
38
  "app/models/museum/loupe.rb",
39
+ "app/views/application/404.html.haml",
37
40
  "app/views/museum/cases/_widget.html.haml",
38
41
  "app/views/museum/cases/index.html.haml",
39
42
  "app/views/museum/cases/show.html.haml",
40
43
  "bin/rails",
41
44
  "config/locales/en.yml",
42
45
  "config/routes.rb",
43
- "coverage/.last_run.json",
44
- "coverage/.resultset.json",
45
- "coverage/.resultset.json.lock",
46
46
  "db/migrate/20140516193656_create_museum_loupes.rb",
47
47
  "db/migrate/20140516193657_create_museum_case_details.rb",
48
48
  "db/migrate/20140516193658_create_museum_cases.rb",
49
- "db/seeds.rb",
50
- "db/seeds/museum_cases.yml",
51
- "db/seeds/museum_loupes.yml",
52
49
  "lib/generators/museum/install/install_generator.rb",
53
50
  "lib/generators/museum/install/templates/initializer.rb",
54
51
  "lib/generators/museum/utils.rb",
@@ -66,35 +63,47 @@ Gem::Specification.new do |s|
66
63
  "spec/dummy/Rakefile",
67
64
  "spec/dummy/app/controllers/application_controller.rb",
68
65
  "spec/dummy/app/helpers/application_helper.rb",
66
+ "spec/dummy/app/models/application_record.rb",
69
67
  "spec/dummy/app/views/layouts/application.html.haml",
70
68
  "spec/dummy/bin/bundle",
71
69
  "spec/dummy/bin/rails",
72
70
  "spec/dummy/bin/rake",
71
+ "spec/dummy/bin/setup",
72
+ "spec/dummy/bin/update",
73
73
  "spec/dummy/config.ru",
74
74
  "spec/dummy/config/application.rb",
75
75
  "spec/dummy/config/boot.rb",
76
+ "spec/dummy/config/cable.yml",
76
77
  "spec/dummy/config/database.yml",
77
78
  "spec/dummy/config/environment.rb",
78
79
  "spec/dummy/config/environments/development.rb",
79
80
  "spec/dummy/config/environments/production.rb",
80
81
  "spec/dummy/config/environments/test.rb",
82
+ "spec/dummy/config/initializers/application_controller_renderer.rb",
83
+ "spec/dummy/config/initializers/assets.rb",
81
84
  "spec/dummy/config/initializers/backtrace_silencers.rb",
85
+ "spec/dummy/config/initializers/cookies_serializer.rb",
82
86
  "spec/dummy/config/initializers/filter_parameter_logging.rb",
83
87
  "spec/dummy/config/initializers/inflections.rb",
84
88
  "spec/dummy/config/initializers/mime_types.rb",
85
89
  "spec/dummy/config/initializers/museum.rb",
90
+ "spec/dummy/config/initializers/new_framework_defaults.rb",
86
91
  "spec/dummy/config/initializers/secret_token.rb",
87
92
  "spec/dummy/config/initializers/session_store.rb",
88
93
  "spec/dummy/config/initializers/wrap_parameters.rb",
94
+ "spec/dummy/config/locales/en.yml",
95
+ "spec/dummy/config/puma.rb",
89
96
  "spec/dummy/config/routes.rb",
90
- "spec/dummy/coverage/.last_run.json",
91
- "spec/dummy/coverage/.resultset.json",
97
+ "spec/dummy/config/secrets.yml",
98
+ "spec/dummy/config/spring.rb",
92
99
  "spec/dummy/db/development.sqlite3",
93
100
  "spec/dummy/db/migrate/20140519231103_create_museum_loupes.museum.rb",
94
101
  "spec/dummy/db/migrate/20140519231104_create_museum_case_details.museum.rb",
95
102
  "spec/dummy/db/migrate/20140519231105_create_museum_cases.museum.rb",
96
103
  "spec/dummy/db/schema.rb",
97
104
  "spec/dummy/db/seeds.rb",
105
+ "spec/dummy/db/seeds/cases.seeds.rb",
106
+ "spec/dummy/db/seeds/loupes.seeds.rb",
98
107
  "spec/dummy/db/test.sqlite3",
99
108
  "spec/dummy/lib/assets/.keep",
100
109
  "spec/dummy/lib/tasks/.keep",
@@ -105,54 +114,76 @@ Gem::Specification.new do |s|
105
114
  "spec/dummy/public/robots.txt",
106
115
  "spec/factories/case.rb",
107
116
  "spec/factories/loupe.rb",
117
+ "spec/features/cases_spec.rb",
108
118
  "spec/helpers/cases_helper_spec.rb",
109
119
  "spec/models/case_detail_spec.rb",
110
120
  "spec/models/case_spec.rb",
111
121
  "spec/models/loupe_spec.rb",
112
122
  "spec/museum_spec.rb",
123
+ "spec/rails_helper.rb",
113
124
  "spec/routing/engine_routes_spec.rb",
114
125
  "spec/spec_helper.rb",
115
126
  "spec/support/case_support.rb",
116
- "spec/support/loupe_support.rb",
117
- "spec/views/cases/index.html.haml_spec.rb",
118
- "spec/views/cases/show.html.haml_spec.rb"
127
+ "spec/support/controller_behaviors.rb",
128
+ "spec/support/loupe_support.rb"
119
129
  ]
120
130
  s.homepage = "http://www.gemvein.com/museum/cases/museum"
121
131
  s.licenses = ["MIT"]
122
- s.rubygems_version = "2.2.2"
132
+ s.rubygems_version = "2.5.1"
123
133
  s.summary = "Rails 4 Engine for displaying information about a set of gems."
124
134
 
125
135
  if s.respond_to? :specification_version then
126
136
  s.specification_version = 4
127
137
 
128
138
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
129
- s.add_runtime_dependency(%q<rails>, ["~> 4.1"])
130
- s.add_runtime_dependency(%q<rails-i18n>, ["~> 4"])
131
- s.add_runtime_dependency(%q<jquery-rails>, ["~> 3.1"])
132
- s.add_runtime_dependency(%q<haml-rails>, ["~> 0.5"])
133
- s.add_runtime_dependency(%q<friendly_id>, ["~> 5"])
134
- s.add_runtime_dependency(%q<yaml_seeder>, ["~> 0.1"])
135
- s.add_runtime_dependency(%q<jeweler>, ["~> 2"])
136
- s.add_runtime_dependency(%q<museum>, [">= 0"])
139
+ s.add_runtime_dependency(%q<rails>, ["~> 5.0"])
140
+ s.add_runtime_dependency(%q<rails-i18n>, ["~> 4.0"])
141
+ s.add_runtime_dependency(%q<jquery-rails>, ["~> 4.0"])
142
+ s.add_runtime_dependency(%q<haml-rails>, ["~> 0.9"])
143
+ s.add_runtime_dependency(%q<friendly_id>, ["~> 5.1"])
144
+ s.add_runtime_dependency(%q<jeweler>, ["~> 2.0"])
145
+ s.add_development_dependency(%q<rspec-rails>, ["~> 3.5"])
146
+ s.add_development_dependency(%q<rails-controller-testing>, [">= 0"])
147
+ s.add_development_dependency(%q<capybara>, ["~> 2.5"])
148
+ s.add_development_dependency(%q<rspec-its>, ["~> 1.2"])
149
+ s.add_development_dependency(%q<database_cleaner>, ["~> 1.5"])
150
+ s.add_development_dependency(%q<factory_girl_rails>, ["~> 4.5"])
151
+ s.add_development_dependency(%q<coveralls>, ["~> 0.8"])
152
+ s.add_development_dependency(%q<sqlite3>, ["~> 1.3"])
153
+ s.add_development_dependency(%q<seedbank>, ["~> 0.3"])
137
154
  else
138
- s.add_dependency(%q<rails>, ["~> 4.1"])
139
- s.add_dependency(%q<rails-i18n>, ["~> 4"])
140
- s.add_dependency(%q<jquery-rails>, ["~> 3.1"])
141
- s.add_dependency(%q<haml-rails>, ["~> 0.5"])
142
- s.add_dependency(%q<friendly_id>, ["~> 5"])
143
- s.add_dependency(%q<yaml_seeder>, ["~> 0.1"])
144
- s.add_dependency(%q<jeweler>, ["~> 2"])
145
- s.add_dependency(%q<museum>, [">= 0"])
155
+ s.add_dependency(%q<rails>, ["~> 5.0"])
156
+ s.add_dependency(%q<rails-i18n>, ["~> 4.0"])
157
+ s.add_dependency(%q<jquery-rails>, ["~> 4.0"])
158
+ s.add_dependency(%q<haml-rails>, ["~> 0.9"])
159
+ s.add_dependency(%q<friendly_id>, ["~> 5.1"])
160
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
161
+ s.add_dependency(%q<rspec-rails>, ["~> 3.5"])
162
+ s.add_dependency(%q<rails-controller-testing>, [">= 0"])
163
+ s.add_dependency(%q<capybara>, ["~> 2.5"])
164
+ s.add_dependency(%q<rspec-its>, ["~> 1.2"])
165
+ s.add_dependency(%q<database_cleaner>, ["~> 1.5"])
166
+ s.add_dependency(%q<factory_girl_rails>, ["~> 4.5"])
167
+ s.add_dependency(%q<coveralls>, ["~> 0.8"])
168
+ s.add_dependency(%q<sqlite3>, ["~> 1.3"])
169
+ s.add_dependency(%q<seedbank>, ["~> 0.3"])
146
170
  end
147
171
  else
148
- s.add_dependency(%q<rails>, ["~> 4.1"])
149
- s.add_dependency(%q<rails-i18n>, ["~> 4"])
150
- s.add_dependency(%q<jquery-rails>, ["~> 3.1"])
151
- s.add_dependency(%q<haml-rails>, ["~> 0.5"])
152
- s.add_dependency(%q<friendly_id>, ["~> 5"])
153
- s.add_dependency(%q<yaml_seeder>, ["~> 0.1"])
154
- s.add_dependency(%q<jeweler>, ["~> 2"])
155
- s.add_dependency(%q<museum>, [">= 0"])
172
+ s.add_dependency(%q<rails>, ["~> 5.0"])
173
+ s.add_dependency(%q<rails-i18n>, ["~> 4.0"])
174
+ s.add_dependency(%q<jquery-rails>, ["~> 4.0"])
175
+ s.add_dependency(%q<haml-rails>, ["~> 0.9"])
176
+ s.add_dependency(%q<friendly_id>, ["~> 5.1"])
177
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
178
+ s.add_dependency(%q<rspec-rails>, ["~> 3.5"])
179
+ s.add_dependency(%q<rails-controller-testing>, [">= 0"])
180
+ s.add_dependency(%q<capybara>, ["~> 2.5"])
181
+ s.add_dependency(%q<rspec-its>, ["~> 1.2"])
182
+ s.add_dependency(%q<database_cleaner>, ["~> 1.5"])
183
+ s.add_dependency(%q<factory_girl_rails>, ["~> 4.5"])
184
+ s.add_dependency(%q<coveralls>, ["~> 0.8"])
185
+ s.add_dependency(%q<sqlite3>, ["~> 1.3"])
186
+ s.add_dependency(%q<seedbank>, ["~> 0.3"])
156
187
  end
157
188
  end
158
189
 
@@ -1,34 +1,32 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe Museum::CasesController do
4
4
  include_context 'loupe support'
5
5
  include_context 'case support'
6
+ routes { Museum::Engine.routes }
6
7
 
7
8
  describe 'GET index' do
8
- before(:each) { get :index, { use_route: 'museum' } }
9
- it { should respond_with(:success) }
10
- it { should render_template(:index) }
9
+ before(:each) { get :index }
10
+ it_should_behave_like 'a successful page', which_renders: :index
11
11
  end
12
12
  describe 'GET show' do
13
13
  context 'with an invalid gem name' do
14
- before(:each) { get :show, { use_route: 'museum', id: 'bad' } }
15
- it { should respond_with(:not_found) }
14
+ before(:each) { get :show, params: { id: 'bad' } }
15
+ it_should_behave_like 'a 404 Not Found error'
16
16
  end
17
17
  context 'with a valid gem name' do
18
- before(:each) { get :show, { use_route: 'museum', id: 'bootswitch' } }
19
- it { should respond_with(:success) }
20
- it { should render_template(:show) }
18
+ before(:each) { get :show, params: { id: 'bootswitch' } }
19
+ it_should_behave_like 'a successful page', which_renders: :show
21
20
  end
22
21
  end
23
22
  describe 'GET refresh' do
24
23
  context 'with an invalid gem name' do
25
- before(:each) { get :refresh, { use_route: 'museum', id: 'bad' } }
26
- it { should respond_with(:not_found) }
24
+ before(:each) { get :refresh, params: { id: 'bad' } }
25
+ it_should_behave_like 'a 404 Not Found error'
27
26
  end
28
27
  context 'with a valid gem name' do
29
- before(:each) { get :refresh, { use_route: 'museum', id: 'bootswitch' } }
30
- it { should respond_with(:redirect) }
31
- it { should set_the_flash }
28
+ before(:each) { get :refresh, params: { id: 'bootswitch' } }
29
+ it_should_behave_like 'a redirect with a message', '/museum/cases/bootswitch', notice: 'Case was successfully refreshed.'
32
30
  end
33
31
  end
34
32
  end
data/spec/dummy/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --color
2
+ --require spec_helper
data/spec/dummy/Rakefile CHANGED
@@ -4,4 +4,11 @@
4
4
 
5
5
  require File.expand_path('../config/application', __FILE__)
6
6
 
7
- MuseumDummy::Application.load_tasks
7
+ Rails.application.load_tasks
8
+ namespace :db do
9
+ namespace :test do
10
+ task prepare: :environment do
11
+ system("bundle exec rake db:reset RAILS_ENV=test")
12
+ end
13
+ end
14
+ end
@@ -1,4 +1,8 @@
1
1
  class ApplicationController < ActionController::Base
2
+ rescue_from ActiveRecord::RecordNotFound do
3
+ render '404', status: :not_found
4
+ end
5
+
2
6
  # Prevent CSRF attacks by raising an exception.
3
7
  # For APIs, you may want to use :null_session instead.
4
8
  protect_from_forgery with: :exception
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
data/spec/dummy/bin/rails CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
3
  require_relative '../config/boot'
4
4
  require 'rails/commands'
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a starting point to setup your application.
15
+ # Add necessary setup steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+ # puts "\n== Copying sample files =="
22
+ # unless File.exist?('config/database.yml')
23
+ # cp 'config/database.yml.sample', 'config/database.yml'
24
+ # end
25
+
26
+ puts "\n== Preparing database =="
27
+ system! 'bin/rails db:setup'
28
+
29
+ puts "\n== Removing old logs and tempfiles =="
30
+ system! 'bin/rails log:clear tmp:clear'
31
+
32
+ puts "\n== Restarting application server =="
33
+ system! 'bin/rails restart'
34
+ end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a way to update your development environment automatically.
15
+ # Add necessary update steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+ puts "\n== Updating database =="
22
+ system! 'bin/rails db:migrate'
23
+
24
+ puts "\n== Removing old logs and tempfiles =="
25
+ system! 'bin/rails log:clear tmp:clear'
26
+
27
+ puts "\n== Restarting application server =="
28
+ system! 'bin/rails restart'
29
+ end
@@ -1,31 +1,21 @@
1
- require File.expand_path('../boot', __FILE__)
1
+ require_relative 'boot'
2
2
 
3
3
  # Pick the frameworks you want:
4
4
  require "active_record/railtie"
5
5
  require "action_controller/railtie"
6
- require "action_mailer/railtie"
6
+ # require "action_mailer/railtie"
7
7
  require "sprockets/railtie"
8
8
  # require "rails/test_unit/railtie"
9
9
 
10
- Bundler.require
11
- # require "museum"
12
-
13
10
  # Require the gems listed in Gemfile, including any gems
14
11
  # you've limited to :test, :development, or :production.
15
- Bundler.require(:default, Rails.env)
12
+ Bundler.require(*Rails.groups)
13
+ require "museum"
16
14
 
17
15
  module MuseumDummy
18
16
  class Application < Rails::Application
19
17
  # Settings in config/environments/* take precedence over those specified here.
20
18
  # Application configuration should go into files in config/initializers
21
19
  # -- all .rb files in that directory are automatically loaded.
22
-
23
- # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
24
- # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
25
- # config.time_zone = 'Central Time (US & Canada)'
26
-
27
- # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
28
- # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
29
- # config.i18n.default_locale = :de
30
20
  end
31
21
  end
@@ -1,4 +1,4 @@
1
- # Set up gems listed in the Gemfile.
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
1
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
3
2
 
4
- require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
3
+ require 'bundler/setup' # Set up gems listed in the Gemfile.
4
+ $LOAD_PATH.unshift File.expand_path('../../../lib', __dir__)
@@ -0,0 +1,9 @@
1
+ development:
2
+ adapter: async
3
+
4
+ test:
5
+ adapter: async
6
+
7
+ production:
8
+ adapter: redis
9
+ url: redis://localhost:6379/1
@@ -1,5 +1,5 @@
1
1
  # Load the Rails application.
2
- require File.expand_path('../application', __FILE__)
2
+ require_relative 'application'
3
3
 
4
4
  # Initialize the Rails application.
5
- MuseumDummy::Application.initialize!
5
+ Rails.application.initialize!