kms_seo 0.1.0 → 0.2.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 (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