seo_meta 1.4.0 → 2.0.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7a12ad76bad0bb9050cee4c444c3ac705943ee63
4
+ data.tar.gz: 9c2d5bd4718ecc53b243c2590361b195b3bd260b
5
+ SHA512:
6
+ metadata.gz: 3f4497ab31e856aefe90300d53b8e2aabbce77d8acc35d85e2694a7d04cc7f650f7e34637aa3a9fd08431784b323ee9d6299a473620fe453529b2fc78f934a17
7
+ data.tar.gz: a4ccadf7395cf6f6a3ff931cf4eefdf796322e96d25f6798e106105bc36a1da7d252ef76616d88aabe6654735803407b68d56a145babaa14e35dc1898214cd86
@@ -1,3 +1,5 @@
1
1
  class SeoMetum < ActiveRecord::Base
2
- attr_accessible :seo_meta_type, :browser_title, :meta_description
3
- end
2
+ if ActiveRecord.constants.include?(:MassAssignmentSecurity)
3
+ attr_accessible :seo_meta_type, :browser_title, :meta_description
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ ca:
2
+ seo_meta:
3
+ form:
4
+ seo: Optimització per a Cercadors (SEO)
5
+ seo_override_title: Títol del navegador
6
+ seo_override_title_help: Escriu un títol de 5 a 10 paraules que resumeixi el contingut d'aquesta publicació.
7
+ meta_description_title: Meta descripció
8
+ meta_description_help: Escriu dues o tres frases concises que descriguin de què tracta aquesta publicació.
@@ -4,5 +4,5 @@ ru:
4
4
  seo: Поисковая оптимизация
5
5
  seo_override_title: Заголовок браузера
6
6
  seo_override_title_help: "Введите заголовок из 5&ndash;10 слов, которые описывают текст на этой странице."
7
- meta_description_title: Описание
7
+ meta_description_title: Мета-описание
8
8
  meta_description_help: "Введите два-три коротких предложения, описывающих страницу."
@@ -1,5 +1,5 @@
1
1
  class SeoMetaGenerator < Rails::Generators::Base
2
2
  def rake_db
3
- rake("refinery_seo_meta:install:migrations")
3
+ rake("seo_meta:install:migrations")
4
4
  end
5
5
  end
@@ -12,19 +12,26 @@ module SeoMeta
12
12
  end
13
13
 
14
14
  class Engine < ::Rails::Engine
15
-
15
+ engine_name 'seo_meta' if Rails.version.to_s >= '3.1.0'
16
16
  end
17
17
 
18
18
  autoload :InstanceMethods, File.expand_path('../seo_meta/instance_methods', __FILE__)
19
-
20
19
  end
21
20
 
22
21
  def is_seo_meta(options = {})
23
22
  if included_modules.exclude?(::SeoMeta::InstanceMethods)
24
23
  # Let the base know about SeoMetum
25
- has_one :seo_meta, :class_name => 'SeoMetum',
26
- :foreign_key => :seo_meta_id, :dependent => :destroy,
27
- :conditions => {:seo_meta_type => self.name}
24
+ has_one_options = {
25
+ :class_name => 'SeoMetum',
26
+ :foreign_key => :seo_meta_id,
27
+ :dependent => :destroy
28
+ }.merge(options.slice(:class_name, :foreign_key, :dependent))
29
+
30
+ if ActiveRecord::VERSION::STRING >= '4.0.0'
31
+ has_one :seo_meta, proc { where(:seo_meta_type => self.name) }, has_one_options
32
+ else
33
+ has_one :seo_meta, {:conditions => {:seo_meta_type => self.name}}.merge(has_one_options)
34
+ end
28
35
 
29
36
  # Let SeoMetum know about the base
30
37
  ::SeoMetum.send :belongs_to, self.name.underscore.gsub('/', '_').to_sym,
@@ -42,4 +49,4 @@ def is_seo_meta(options = {})
42
49
 
43
50
  fields << {:to => :seo_meta}
44
51
  delegate *fields
45
- end
52
+ end
data/readme.md CHANGED
@@ -6,14 +6,18 @@
6
6
 
7
7
  Add to your project using your Bundler Gemfile:
8
8
 
9
- gem 'seo_meta'
9
+ ```ruby
10
+ gem 'seo_meta'
11
+ ```
10
12
 
11
13
  Include in your model by calling the method `is_seo_meta` in the class declaration,
12
14
  for example with `Page`:
13
15
 
14
- class Page < ActiveRecord::Base
15
- is_seo_meta
16
- end
16
+ ```ruby
17
+ class Page < ActiveRecord::Base
18
+ is_seo_meta
19
+ end
20
+ ```
17
21
 
18
22
  Run the generator:
19
23
 
@@ -31,67 +35,69 @@ At this point you could add to the migration that is generated in `db/migrate/`
31
35
  logic to migrate across your existing data and remove the columns from your model
32
36
  afterward, for example with `Page`:
33
37
 
34
- class CreateSeoMeta < ActiveRecord::Migration
35
-
36
- def self.up
37
- # ... migration logic from the seo_meta generator ...
38
-
39
- # Grab the attributes of the records that currently exist
40
- existing_pages = ::Page.all.map(&:attributes)
41
-
42
- # Remove columns
43
- ::SeoMeta.attributes.each do |field|
44
- if ::Page.column_names.map(&:to_sym).include?(field)
45
- remove_column ::Page.table_name, field
46
- end
47
- end
48
-
49
- # Reset column information because otherwise the old columns will still exist.
50
- ::Page.reset_column_information
51
-
52
- # Re-attach seo_meta
53
- ::Page.module_eval do
54
- is_seo_meta
55
- end
56
-
57
- # Migrate data
58
- existing_pages.each do |page|
59
- ::Page.find(page['id']).update_attributes({
60
- ::SeoMeta.attributes.keys.inject({}) {|attributes, name|
61
- attributes.merge(name => translation[name.to_s])
62
- }
63
- })
64
- end
38
+ ```ruby
39
+ class CreateSeoMeta < ActiveRecord::Migration
40
+
41
+ def self.up
42
+ # ... migration logic from the seo_meta generator ...
43
+
44
+ # Grab the attributes of the records that currently exist
45
+ existing_pages = ::Page.all.map(&:attributes)
46
+
47
+ # Remove columns
48
+ ::SeoMeta.attributes.each do |field|
49
+ if ::Page.column_names.map(&:to_sym).include?(field)
50
+ remove_column ::Page.table_name, field
65
51
  end
52
+ end
53
+
54
+ # Reset column information because otherwise the old columns will still exist.
55
+ ::Page.reset_column_information
66
56
 
67
- def self.down
68
- # Grab the attributes of the records that currently exist
69
- existing_pages = ::Page.all.map(&:attributes)
70
-
71
- # Add columns back to your model
72
- ::SeoMeta.attributes.each do |field, field_type|
73
- unless ::Page.column_names.map(&:to_sym).include?(field)
74
- add_column ::Page.table_name, field, field_type
75
- end
76
- end
77
-
78
- # Reset column information because otherwise the new columns won't exist yet.
79
- ::Page.reset_column_information
80
-
81
- # Migrate data
82
- existing_pages.each do |page|
83
- ::Page.find(page['id']).update_attributes({
84
- ::SeoMeta.attributes.keys.inject({}) {|attributes, name|
85
- attributes.merge(name => translation[name.to_s])
86
- }
87
- })
88
- end
89
-
90
- # ... migration logic from the seo_meta generator ...
57
+ # Re-attach seo_meta
58
+ ::Page.module_eval do
59
+ is_seo_meta
60
+ end
61
+
62
+ # Migrate data
63
+ existing_pages.each do |page|
64
+ ::Page.find(page['id']).update_attributes({
65
+ ::SeoMeta.attributes.keys.inject({}) {|attributes, name|
66
+ attributes.merge(name => translation[name.to_s])
67
+ }
68
+ })
69
+ end
70
+ end
71
+
72
+ def self.down
73
+ # Grab the attributes of the records that currently exist
74
+ existing_pages = ::Page.all.map(&:attributes)
75
+
76
+ # Add columns back to your model
77
+ ::SeoMeta.attributes.each do |field, field_type|
78
+ unless ::Page.column_names.map(&:to_sym).include?(field)
79
+ add_column ::Page.table_name, field, field_type
91
80
  end
81
+ end
82
+
83
+ # Reset column information because otherwise the new columns won't exist yet.
84
+ ::Page.reset_column_information
92
85
 
86
+ # Migrate data
87
+ existing_pages.each do |page|
88
+ ::Page.find(page['id']).update_attributes({
89
+ ::SeoMeta.attributes.keys.inject({}) {|attributes, name|
90
+ attributes.merge(name => translation[name.to_s])
91
+ }
92
+ })
93
93
  end
94
94
 
95
+ # ... migration logic from the seo_meta generator ...
96
+ end
97
+
98
+ end
99
+ ```
100
+
95
101
  Now, run:
96
102
 
97
103
  rake db:migrate
@@ -102,9 +108,11 @@ You can use the included partial if you want a ready made form for the new SEO f
102
108
  Note that the `:form` local variable is required and should be a form builder object
103
109
  from a `form_for` block, for example:
104
110
 
105
- <%= form_for @page do |f| -%>
106
- <%= render :partial => '/seo_meta/form', :locals => { :form => f } %>
107
- <% end %>
111
+ ```erb
112
+ <%= form_for @page do |f| -%>
113
+ <%= render '/seo_meta/form', :form => f %>
114
+ <% end %>
115
+ ```
108
116
 
109
117
  ## Anything else?
110
118
 
metadata CHANGED
@@ -1,82 +1,73 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seo_meta
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
5
- prerelease:
4
+ version: 2.0.0.rc.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Philip Arndt
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-28 00:00:00.000000000 Z
11
+ date: 2013-10-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: combustion
16
- prerelease: false
17
15
  requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
- none: false
23
20
  type: :development
21
+ prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
23
  requirements:
26
- - - ! '>='
24
+ - - '>='
27
25
  - !ruby/object:Gem::Version
28
26
  version: '0'
29
- none: false
30
27
  - !ruby/object:Gem::Dependency
31
- name: rspec-rails
32
- prerelease: false
28
+ name: rspec
33
29
  requirement: !ruby/object:Gem::Requirement
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
- none: false
39
34
  type: :development
35
+ prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
37
  requirements:
42
- - - ! '>='
38
+ - - '>='
43
39
  - !ruby/object:Gem::Version
44
40
  version: '0'
45
- none: false
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: sqlite3
48
- prerelease: false
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
- none: false
55
48
  type: :development
49
+ prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - ! '>='
52
+ - - '>='
59
53
  - !ruby/object:Gem::Version
60
54
  version: '0'
61
- none: false
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: railties
64
- prerelease: false
65
57
  requirement: !ruby/object:Gem::Requirement
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: 3.0.0
70
- none: false
71
62
  type: :runtime
63
+ prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
65
  requirements:
74
- - - ! '>='
66
+ - - '>='
75
67
  - !ruby/object:Gem::Version
76
68
  version: 3.0.0
77
- none: false
78
69
  description: SEO Meta tags plugin for Ruby on Rails
79
- email: parndt@gmail.com
70
+ email: p@arndt.io
80
71
  executables: []
81
72
  extensions: []
82
73
  extra_rdoc_files: []
@@ -90,6 +81,7 @@ files:
90
81
  - app/models/seo_metum.rb
91
82
  - app/views/seo_meta/_form.html.erb
92
83
  - config/locales/bg.yml
84
+ - config/locales/ca.yml
93
85
  - config/locales/cs.yml
94
86
  - config/locales/da.yml
95
87
  - config/locales/de.yml
@@ -115,30 +107,29 @@ files:
115
107
  - config/locales/zh-TW.yml
116
108
  - license.md
117
109
  - readme.md
118
- homepage: http://philiparndt.name
110
+ homepage: http://p.arndt.io
119
111
  licenses:
120
112
  - MIT
113
+ metadata: {}
121
114
  post_install_message:
122
115
  rdoc_options: []
123
116
  require_paths:
124
117
  - lib
125
118
  required_ruby_version: !ruby/object:Gem::Requirement
126
119
  requirements:
127
- - - ! '>='
120
+ - - '>='
128
121
  - !ruby/object:Gem::Version
129
122
  version: '0'
130
- none: false
131
123
  required_rubygems_version: !ruby/object:Gem::Requirement
132
124
  requirements:
133
- - - ! '>='
125
+ - - '>'
134
126
  - !ruby/object:Gem::Version
135
- version: '0'
136
- none: false
127
+ version: 1.3.1
137
128
  requirements: []
138
129
  rubyforge_project:
139
- rubygems_version: 1.8.24
130
+ rubygems_version: 2.1.0
140
131
  signing_key:
141
- specification_version: 3
132
+ specification_version: 4
142
133
  summary: SEO Meta tags plugin
143
134
  test_files: []
144
135
  has_rdoc: