kms_seo 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/app/assets/javascripts/templates/pages/seo.html.slim +3 -0
  4. data/app/assets/javascripts/templates/settings/robots.html.slim +3 -0
  5. data/app/controllers/kms/pages_controller_decorator.rb +1 -1
  6. data/app/controllers/kms/public/robots_controller.rb +9 -0
  7. data/config/initializers/settings.rb +1 -0
  8. data/config/locales/en.yml +2 -0
  9. data/config/locales/ru.yml +2 -0
  10. data/config/routes.rb +1 -0
  11. data/db/migrate/20150727192219_add_seo_fields_to_pages.rb +1 -1
  12. data/db/migrate/20150903135219_create_redirects.rb +1 -1
  13. data/db/migrate/20170202090601_add_seo_h1_to_pages.rb +5 -0
  14. data/lib/{kms/drops → drops/kms}/seo_wrapper_drop.rb +1 -1
  15. data/lib/kms/seo/engine.rb +4 -0
  16. data/lib/kms/seo/version.rb +1 -1
  17. data/lib/kms/seo_wrapper.rb +5 -0
  18. data/spec/controllers/kms/public/robots_controller_spec.rb +22 -0
  19. data/spec/drops/kms/seo_wrapper_drop_spec.rb +43 -0
  20. data/spec/factories/pages.rb +11 -0
  21. data/spec/internal/Rakefile +2 -0
  22. data/spec/internal/config/database.yml +7 -0
  23. data/spec/internal/config/database.yml.travis +7 -0
  24. data/spec/internal/config/initializers/devise.rb +257 -0
  25. data/spec/internal/config/routes.rb +3 -0
  26. data/spec/internal/db/schema.rb +24 -0
  27. data/spec/internal/log/test.log +4283 -0
  28. data/spec/internal/public/favicon.ico +0 -0
  29. data/spec/models/kms/page_spec.rb +11 -0
  30. data/spec/models/kms/seo_wrapper_spec.rb +29 -0
  31. data/spec/services/kms/settings_service_spec.rb +10 -0
  32. data/spec/spec_helper.rb +32 -0
  33. metadata +94 -12
  34. data/test/integration/navigation_test.rb +0 -10
  35. data/test/kms_seo_test.rb +0 -7
  36. data/test/test_helper.rb +0 -19
File without changes
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ module Kms
4
+ describe Page, type: :model do
5
+ it { should have_db_column(:seo_title) }
6
+ it { should have_db_column(:seo_keywords) }
7
+ it { should have_db_column(:seo_description) }
8
+ it { should have_db_column(:seo_h1) }
9
+
10
+ end
11
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ module Kms
4
+ describe SeoWrapper do
5
+ let(:page) { FactoryGirl.create(:page) }
6
+ subject { Kms::SeoWrapper.new(page) }
7
+ describe '#title' do
8
+ it "should return seo_title of wrapped object" do
9
+ expect(subject.title).to eql(page.seo_title)
10
+ end
11
+ end
12
+ describe '#keywords' do
13
+ it "should return seo_keywords of wrapped object" do
14
+ expect(subject.keywords).to eql(page.seo_keywords)
15
+ end
16
+ end
17
+ describe '#description' do
18
+ it "should return seo_description of wrapped object" do
19
+ expect(subject.description).to eql(page.seo_description)
20
+ end
21
+ end
22
+ describe '#h1' do
23
+ it "should return seo_h1 of wrapped object" do
24
+ expect(subject.h1).to eql(page.seo_h1)
25
+ end
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ module Kms
4
+ describe SettingsService, type: :service do
5
+ it "should register SEO settings templates" do
6
+ expect(Kms::SettingsService.templates[Kms::Seo::Engine]).to include 'settings/robots.html'
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,32 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'combustion'
5
+ require 'shoulda/matchers'
6
+
7
+ Combustion.initialize! :all
8
+
9
+ require 'rspec/rails'
10
+ require 'factory_girl_rails'
11
+ require 'devise'
12
+
13
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
+
15
+ RSpec.configure do |config|
16
+ # config.include Devise::Test::ControllerHelpers, type: :controller
17
+ # config.extend ControllerMacros, type: :controller
18
+ # config.include Requests::JsonHelpers, type: :controller
19
+ config.color = true
20
+ config.mock_with :rspec
21
+ config.use_transactional_fixtures = true
22
+ config.infer_base_class_for_anonymous_controllers = false
23
+ end
24
+ Shoulda::Matchers.configure do |config|
25
+ config.integrate do |with|
26
+ # Choose a test framework:
27
+ with.test_framework :rspec
28
+
29
+ # Or, choose the following (which implies all of the above):
30
+ with.library :rails
31
+ end
32
+ end
metadata CHANGED
@@ -1,20 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kms_seo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Petrov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-29 00:00:00.000000000 Z
11
+ date: 2017-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ - - ">="
18
21
  - !ruby/object:Gem::Version
19
22
  version: 5.0.0
20
23
  type: :runtime
@@ -22,6 +25,9 @@ dependencies:
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '5.0'
30
+ - - ">="
25
31
  - !ruby/object:Gem::Version
26
32
  version: 5.0.0
27
33
  - !ruby/object:Gem::Dependency
@@ -39,19 +45,67 @@ dependencies:
39
45
  - !ruby/object:Gem::Version
40
46
  version: '0.6'
41
47
  - !ruby/object:Gem::Dependency
42
- name: sqlite3
48
+ name: combustion
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: 0.5.4
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 0.5.4
61
+ - !ruby/object:Gem::Dependency
62
+ name: factory_girl_rails
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '4.8'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '4.8'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec-rails
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.5'
45
82
  - - ">="
46
83
  - !ruby/object:Gem::Version
47
- version: '0'
84
+ version: 3.5.0
48
85
  type: :development
49
86
  prerelease: false
50
87
  version_requirements: !ruby/object:Gem::Requirement
51
88
  requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '3.5'
52
92
  - - ">="
53
93
  - !ruby/object:Gem::Version
54
- version: '0'
94
+ version: 3.5.0
95
+ - !ruby/object:Gem::Dependency
96
+ name: shoulda-matchers
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '3.1'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '3.1'
55
109
  description: Adds SEO support to KMS
56
110
  email:
57
111
  - garik.piton@gmail.com
@@ -67,9 +121,11 @@ files:
67
121
  - app/assets/javascripts/kms_seo/application/routes.coffee.erb
68
122
  - app/assets/javascripts/templates/pages/seo.html.slim
69
123
  - app/assets/javascripts/templates/redirects/index.html.slim
124
+ - app/assets/javascripts/templates/settings/robots.html.slim
70
125
  - app/assets/stylesheets/kms_seo/application.css
71
126
  - app/controllers/kms/pages_controller_decorator.rb
72
127
  - app/controllers/kms/public/pages_controller_decorator.rb
128
+ - app/controllers/kms/public/robots_controller.rb
73
129
  - app/controllers/kms/public/sitemaps_controller.rb
74
130
  - app/controllers/kms/seo/redirects_controller.rb
75
131
  - app/helpers/kms_seo/application_helper.rb
@@ -80,21 +136,35 @@ files:
80
136
  - config/initializers/externals.rb
81
137
  - config/initializers/form_customizations.rb
82
138
  - config/initializers/resources.rb
139
+ - config/initializers/settings.rb
83
140
  - config/locales/en.yml
84
141
  - config/locales/ru.yml
85
142
  - config/routes.rb
86
143
  - db/migrate/20150727192219_add_seo_fields_to_pages.rb
87
144
  - db/migrate/20150903135219_create_redirects.rb
145
+ - db/migrate/20170202090601_add_seo_h1_to_pages.rb
146
+ - lib/drops/kms/seo_wrapper_drop.rb
88
147
  - lib/generators/kms_seo/install/install_generator.rb
89
- - lib/kms/drops/seo_wrapper_drop.rb
90
148
  - lib/kms/seo/engine.rb
91
149
  - lib/kms/seo/version.rb
92
150
  - lib/kms/seo_wrapper.rb
93
151
  - lib/kms_seo.rb
94
152
  - lib/tasks/kms_seo_tasks.rake
95
- - test/integration/navigation_test.rb
96
- - test/kms_seo_test.rb
97
- - test/test_helper.rb
153
+ - spec/controllers/kms/public/robots_controller_spec.rb
154
+ - spec/drops/kms/seo_wrapper_drop_spec.rb
155
+ - spec/factories/pages.rb
156
+ - spec/internal/Rakefile
157
+ - spec/internal/config/database.yml
158
+ - spec/internal/config/database.yml.travis
159
+ - spec/internal/config/initializers/devise.rb
160
+ - spec/internal/config/routes.rb
161
+ - spec/internal/db/schema.rb
162
+ - spec/internal/log/test.log
163
+ - spec/internal/public/favicon.ico
164
+ - spec/models/kms/page_spec.rb
165
+ - spec/models/kms/seo_wrapper_spec.rb
166
+ - spec/services/kms/settings_service_spec.rb
167
+ - spec/spec_helper.rb
98
168
  homepage: http://webgradus.ru
99
169
  licenses:
100
170
  - MIT
@@ -120,6 +190,18 @@ signing_key:
120
190
  specification_version: 4
121
191
  summary: Adds SEO support to KMS
122
192
  test_files:
123
- - test/integration/navigation_test.rb
124
- - test/kms_seo_test.rb
125
- - test/test_helper.rb
193
+ - spec/controllers/kms/public/robots_controller_spec.rb
194
+ - spec/drops/kms/seo_wrapper_drop_spec.rb
195
+ - spec/factories/pages.rb
196
+ - spec/internal/config/database.yml
197
+ - spec/internal/config/database.yml.travis
198
+ - spec/internal/config/initializers/devise.rb
199
+ - spec/internal/config/routes.rb
200
+ - spec/internal/db/schema.rb
201
+ - spec/internal/log/test.log
202
+ - spec/internal/public/favicon.ico
203
+ - spec/internal/Rakefile
204
+ - spec/models/kms/page_spec.rb
205
+ - spec/models/kms/seo_wrapper_spec.rb
206
+ - spec/services/kms/settings_service_spec.rb
207
+ - spec/spec_helper.rb
@@ -1,10 +0,0 @@
1
- require 'test_helper'
2
-
3
- class NavigationTest < ActionDispatch::IntegrationTest
4
- fixtures :all
5
-
6
- # test "the truth" do
7
- # assert true
8
- # end
9
- end
10
-
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- class KmsSeoTest < ActiveSupport::TestCase
4
- test "truth" do
5
- assert_kind_of Module, KmsSeo
6
- end
7
- end
@@ -1,19 +0,0 @@
1
- # Configure Rails Environment
2
- ENV["RAILS_ENV"] = "test"
3
-
4
- require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
- ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
6
- ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
7
- require "rails/test_help"
8
-
9
- # Filter out Minitest backtrace while allowing backtrace from other libraries
10
- # to be shown.
11
- Minitest.backtrace_filter = Minitest::BacktraceFilter.new
12
-
13
- # Load support files
14
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
15
-
16
- # Load fixtures from the engine
17
- if ActiveSupport::TestCase.respond_to?(:fixture_path=)
18
- ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
19
- end