seo_rails_helpers 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e00c828025913363293db9eab7e239621ae2d2c7
4
- data.tar.gz: b4b0cd7735af4cfb4c27e5a4e46b7e055e508cf5
3
+ metadata.gz: eebedf77b63efc63415762fef1372dd98872bf18
4
+ data.tar.gz: b6a586702abac0668f5a9ce5f39875506bbea685
5
5
  SHA512:
6
- metadata.gz: 8db37a200d19a826aa5536be6c6a0eec843c88b3e21ad12660420b8f665c68106072dd64d01a0b803d841d00065523149dd07bcbee0bfccc64ba8eb8eba9c5b1
7
- data.tar.gz: 54fb4cfe7473baaec172ea9a46d48e8d54ed757cff727e4b1796973b94338be9f2152f9ac7422e49e7d898904678b10fcd7f192cbf488073ae3e12c88483119d
6
+ metadata.gz: 59bb3e5ae3bc7726993654d13c4e2d57b00a86f799f68110aa26ef79ba0cbd0664f78b91b070a0dec6d7e82a479bb06cb2e0df26864d7b8b91ab5af5fa0ad69f
7
+ data.tar.gz: ba5997307248f7645882c03e12ca353eb4431db8e7d6e97ce2f282b7f52f743cb353f66a36bcebfca35c9f46d3ffdeb03a8d262c20178221dff1cdb48891e867
data/.travis.yml CHANGED
@@ -1,3 +1,17 @@
1
1
  language: ruby
2
+
2
3
  rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.1.6
3
7
  - 2.2.2
8
+
9
+ before_install: gem install bundler
10
+
11
+ env:
12
+ - RAILS_VERSION=3.2
13
+ - RAILS_VERSION=4.0
14
+ - RAILS_VERSION=4.1
15
+ - RAILS_VERSION=4.2
16
+
17
+ sudo: false
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.2.0 (2015-07-17)
2
+
3
+ - Features:
4
+ - seo_meta_description helper
5
+
6
+ - Improvements:
7
+ - Specify required Ruby version as >= 1.9.3
8
+ - Remove bundler and rake development dependencies
9
+
1
10
  ## 0.1.0 (2015-07-16)
2
11
 
3
12
  - Initial release
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in seo_rails_helpers.gemspec
4
3
  gemspec
4
+
5
+ rails_version = ENV['RAILS_VERSION'] || '4.2'
6
+ eval_gemfile File.expand_path("../gemfiles/#{rails_version}.gemfile", __FILE__)
data/README.md CHANGED
@@ -1,9 +1,13 @@
1
1
  # SEO Rails Helpers
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/seo_rails_helpers.svg)](http://badge.fury.io/rb/seo_rails_helpers) [![Build Status](https://travis-ci.org/rubysamurai/seo_rails_helpers.svg?branch=master)](https://travis-ci.org/rubysamurai/seo_rails_helpers)
4
+
3
5
  Collection of view helpers to improve search engine optimization of Ruby on Rails application.
4
6
 
5
7
  ## Installation
6
8
 
9
+ SEO Rails Helpers requires Ruby version >=1.9.3 and Rails >= 3.2
10
+
7
11
  Add this line to your Rails application's Gemfile:
8
12
 
9
13
  ```ruby
@@ -67,6 +71,53 @@ Will produce following title element:
67
71
  <title>Example Page &gt; Example Site</title>
68
72
  ```
69
73
 
74
+ ### 2. seo_meta_description
75
+
76
+ This helper will create and insert meta element to specify description. Unlike `seo_page_title`, it produces meta description only when corresponding page explicitly sent it via either `content_for` or `provide`. Reason for such behavior - having any kind of default meta description is considered a bad SEO practice and may result in search engine ranking penalty.
77
+
78
+ Include `seo_meta_description` in the `<head>` section of your layout
79
+
80
+ ERB example:
81
+ ```erb
82
+ <head>
83
+ <%= seo_meta_description %>
84
+ <%# other elements %>
85
+ </head>
86
+ ```
87
+
88
+ Haml example:
89
+ ```haml
90
+ %head
91
+ seo_meta_description
92
+ -# other elements
93
+ ```
94
+
95
+ This will create HTML title element like:
96
+ ```html
97
+ <meta name="description" content="Example meta description" />
98
+ ```
99
+
100
+ #### seo_meta_description options
101
+
102
+ | Name | Description | Default
103
+ | ----------- | ------------------------|-----------
104
+ | ```:description```| Identifier for stored meta description. Specify symbol representing identifier in your ```provide``` or ```content_for``` method. | ```:description```
105
+
106
+ #### example seo_meta_description usage
107
+
108
+ ```ruby
109
+ provide(:meta_description, 'Custom meta description')
110
+ ```
111
+
112
+ ```ruby
113
+ seo_meta_description(description: :meta_description)
114
+ ```
115
+
116
+ Will produce following title element:
117
+ ```html
118
+ <meta name="description" content="Custom meta description" />
119
+ ```
120
+
70
121
  ## Contributing
71
122
 
72
123
  Fork the project and submit a pull request.
data/Rakefile CHANGED
@@ -1 +1,4 @@
1
1
  require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ task default: :spec
4
+ RSpec::Core::RakeTask.new
@@ -0,0 +1,2 @@
1
+ gem 'rails', '~> 3.2.0'
2
+ gem 'test-unit', platforms: :mri_22
@@ -0,0 +1 @@
1
+ gem 'rails', '~> 4.0.0'
@@ -0,0 +1 @@
1
+ gem 'rails', '~> 4.1.0'
@@ -0,0 +1 @@
1
+ gem 'rails', '~> 4.2.0'
@@ -1,5 +1,6 @@
1
1
  require 'seo_rails_helpers/version'
2
2
  require 'seo_rails_helpers/helpers/seo_page_title_helper'
3
+ require 'seo_rails_helpers/helpers/seo_meta_description_helper'
3
4
  require 'seo_rails_helpers/railtie' if defined? Rails
4
5
 
5
6
  module SeoRailsHelpers
@@ -0,0 +1,12 @@
1
+ module SeoRailsHelpers
2
+ module SeoMetaDescriptionHelper
3
+ # Produces html meta element to specify description
4
+ def seo_meta_description(options = {})
5
+ meta_description = content_for(options[:description] || :description)
6
+
7
+ if meta_description.present?
8
+ tag(:meta, name: 'description', content: meta_description)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -5,5 +5,11 @@ module SeoRailsHelpers
5
5
  include SeoRailsHelpers::SeoPageTitleHelper
6
6
  end
7
7
  end
8
+
9
+ initializer 'seo_meta_description.helper' do
10
+ ActiveSupport.on_load :action_view do
11
+ include SeoRailsHelpers::SeoMetaDescriptionHelper
12
+ end
13
+ end
8
14
  end
9
15
  end
@@ -1,3 +1,3 @@
1
1
  module SeoRailsHelpers
2
- VERSION = '0.1.0'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_development_dependency 'bundler', '~> 1.9'
23
- spec.add_development_dependency 'rake', '~> 10.0'
22
+ spec.required_ruby_version = '>= 1.9.3'
23
+
24
24
  spec.add_development_dependency 'rspec-rails', '~> 3.3'
25
25
  end
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seo_rails_helpers
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
  - Dmitriy Tarasov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-16 00:00:00.000000000 Z
11
+ date: 2015-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.9'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.9'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '10.0'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: rspec-rails
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -69,7 +41,12 @@ files:
69
41
  - Rakefile
70
42
  - bin/console
71
43
  - bin/setup
44
+ - gemfiles/3.2.gemfile
45
+ - gemfiles/4.0.gemfile
46
+ - gemfiles/4.1.gemfile
47
+ - gemfiles/4.2.gemfile
72
48
  - lib/seo_rails_helpers.rb
49
+ - lib/seo_rails_helpers/helpers/seo_meta_description_helper.rb
73
50
  - lib/seo_rails_helpers/helpers/seo_page_title_helper.rb
74
51
  - lib/seo_rails_helpers/railtie.rb
75
52
  - lib/seo_rails_helpers/version.rb
@@ -86,7 +63,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
63
  requirements:
87
64
  - - ">="
88
65
  - !ruby/object:Gem::Version
89
- version: '0'
66
+ version: 1.9.3
90
67
  required_rubygems_version: !ruby/object:Gem::Requirement
91
68
  requirements:
92
69
  - - ">="