museum 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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!