so_meta 0.3 → 0.9

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
- SHA1:
3
- metadata.gz: 4e9525d7ffaeccd0d78e9ec17f5832daa58f6f02
4
- data.tar.gz: bcca4740ce7ff8523dd83cd1f8e8dd03bb787f09
2
+ SHA256:
3
+ metadata.gz: f878dbf935b23485262a863aa6974778759d837c373be66936475cbe9f005c23
4
+ data.tar.gz: 3ea053ee973cf49f0587aa663ba8f567abedf5a04378795f62c79dce0638d628
5
5
  SHA512:
6
- metadata.gz: fcf95574deea2c5b829b506bbd3fdb4e086d6662062d6f1422bc55394cfbe857db11da388ec29e0476d5a8bfd28d0788c97bf01a2db31689f1fb8bbeaa61df9f
7
- data.tar.gz: 2d82ad35a81c76722b8b2b0e794d6761be78237bbdbe3a7a8582235daeb4120eb7ffe0b33ec292b32474b5efaa1446ef033a9ffc399408ce8df7f1dcc7dda375
6
+ metadata.gz: 6ac6d9e36419581eea98388a3d455cc23060a7b5d876c8375a69dd2d07bc42c19b915429095c632e46eda97fad41db00f48472403cc3cb1cbff0b4b1b65beea6
7
+ data.tar.gz: b8740e0a09716a6cb271cfacad4551cfd6ed3e17ecd31de32c1c97b761be4376bd31b17620e65c77201c7b05ba5a725f5b861763755781513373f0aeb0333154
data/README.md CHANGED
@@ -35,7 +35,7 @@ en:
35
35
  title: "About | My Awesome New Rails Application"
36
36
  description: "Our company will blow your mind...like really."
37
37
 
38
- pages-subresource: # Controller name - Pages::SubresourceController
38
+ pages_subresource: # Controller name - Pages::SubresourceController
39
39
  about: # Action name - about
40
40
  title: "About | My Awesome New Rails Application"
41
41
  description: "Our company will blow your mind...like really."
@@ -69,6 +69,34 @@ en:
69
69
  <p>Contact us now!</p>
70
70
  ```
71
71
 
72
+ ### Usage with scoping
73
+
74
+ ```Erb
75
+ <title><%= so_meta(:title, :phone) %></title>
76
+ ```
77
+
78
+ ```YAML
79
+ # config/locales/en.yml
80
+
81
+ en:
82
+ so_meta:
83
+ defaults:
84
+ title: "My Awesome New Rails Application"
85
+ description: "This application will be so viral, your startup
86
+ friends will be JEALOUS!"
87
+
88
+ pages: # Controller name - PagesController
89
+ about: # Action name - about
90
+ title: "About | My Awesome New Rails Application"
91
+ description: "Our company will blow your mind...like really."
92
+
93
+ phone:
94
+ title: "Specific title for phone" # will choose this if the scope
95
+ matches
96
+ ```
97
+
98
+
99
+
72
100
  ## Contributing
73
101
 
74
102
  1. Fork it
@@ -1,12 +1,25 @@
1
1
  module SoMeta
2
2
  module Helper
3
- def so_meta(name)
3
+ def so_meta(name, scope = nil)
4
4
  interpolation_data = instance_variable_get("@so_meta_#{name}_interpolation") || {}
5
- t("so_meta.#{controller_path.gsub(/\//, "_")}.#{action_name}.#{name}", interpolation_data.merge(default: t("so_meta.defaults.#{name}")))
5
+
6
+ request_key = "so_meta.#{controller_path.gsub(/\//, "_")}.#{action_name}"
7
+
8
+ if scope.present?
9
+ begin
10
+ return I18n.translate!("#{request_key}.#{scope}.#{name}", interpolation_data)
11
+ rescue I18n::MissingTranslationData
12
+ nil
13
+ end
14
+ end
15
+
16
+ t("#{request_key}.#{name}", interpolation_data.merge(default: t("so_meta.defaults.#{name}")))
6
17
  end
7
18
 
8
19
  def so_meta_interpolation(name, hash)
9
- instance_variable_set("@so_meta_#{name}_interpolation", hash)
20
+ variable_name = "@so_meta_#{name}_interpolation"
21
+ interpolation = instance_variable_get(variable_name) || {}
22
+ instance_variable_set(variable_name, interpolation.merge(hash))
10
23
  end
11
24
  end
12
25
  end
@@ -1,3 +1,3 @@
1
1
  module SoMeta
2
- VERSION = "0.3"
2
+ VERSION = "0.9"
3
3
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "bundler"
22
22
  spec.add_development_dependency "rake"
23
23
  spec.add_development_dependency "rspec"
24
24
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: so_meta
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '0.9'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Hilkert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-01 00:00:00.000000000 Z
11
+ date: 2020-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.3'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -91,8 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
- rubyforge_project:
95
- rubygems_version: 2.5.1
94
+ rubygems_version: 3.1.2
96
95
  signing_key:
97
96
  specification_version: 4
98
97
  summary: A gem to simply manage meta content (title, description, canonical url, etc.)