heading_with_title 0.0.1 → 0.0.2
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.
- checksums.yaml +7 -0
- data/README.md +24 -0
- data/lib/heading_with_title/helpers.rb +12 -1
- data/lib/heading_with_title/version.rb +1 -1
- data/lib/heading_with_title.rb +22 -0
- data/spec/heading_with_title/helpers_spec.rb +25 -1
- metadata +13 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e7e75808408afc7ae455d9b6b695e5be9a57f087
|
4
|
+
data.tar.gz: 086da7a96bb02e8e3e3ca1088046151a495cedf2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b788c9bbf50703afb53e844b154174d53bbced8350ae7e685535978d830cbd73a31eb3e67e1c8c56f6cd6a2aaa557d05920b52732bc86af1bbc5cf1eaec54699
|
7
|
+
data.tar.gz: bcd32cf7dc0aeb8227ff9869858def12da7e9af672bf3e1fcaf3d43a264986ed755696c96f8c566aa377e1f88fdcad9d3cec7cb2240a32126074211a69ae2c50
|
data/README.md
CHANGED
@@ -33,6 +33,15 @@ heading, or you call `page_title('Something')` to set page title without heading
|
|
33
33
|
<span><%= heading %></span>
|
34
34
|
<% end %>
|
35
35
|
|
36
|
+
# You can also call it without arguments. In this case
|
37
|
+
# it will use I18n Lazy Lookup (http://guides.rubyonrails.org/i18n.html#lazy-lookup)
|
38
|
+
# with key defined by `default_i18n_key` setting.
|
39
|
+
<%= heading_with_title %>
|
40
|
+
|
41
|
+
# If you need to use I18n Interpolation (http://guides.rubyonrails.org/i18n.html#interpolation)
|
42
|
+
# just pass hash as argument:
|
43
|
+
<%= heading_with_title username: 'John Doe' %>
|
44
|
+
|
36
45
|
# Or you might want to set only page title
|
37
46
|
<% page_title 'Users' %>
|
38
47
|
```
|
@@ -52,8 +61,23 @@ HeadingWithTitle.configure do |config|
|
|
52
61
|
|
53
62
|
# Default heading size (h1 by default)
|
54
63
|
config.default_heading_size = :h1
|
64
|
+
|
65
|
+
# Default I18n key when call heading_with_title
|
66
|
+
# helper without arguments
|
67
|
+
# Its the same as:
|
68
|
+
#
|
69
|
+
# heading_with_title t('.heading')
|
70
|
+
#
|
71
|
+
config.default_i18n_key = '.heading'
|
55
72
|
end
|
56
73
|
```
|
74
|
+
|
75
|
+
## Changelog
|
76
|
+
|
77
|
+
### 0.0.2
|
78
|
+
* Ability to call `heading_with_title` without arguments. It uses I18n translation in this case.
|
79
|
+
* Support for I18n interpolation.
|
80
|
+
|
57
81
|
## License
|
58
82
|
|
59
83
|
[The MIT License](https://github.com/tanraya/heading_with_title/blob/master/MIT-LICENSE)
|
@@ -13,7 +13,18 @@ module HeadingWithTitle
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def heading_with_title(
|
16
|
+
def heading_with_title(arg = nil, &block)
|
17
|
+
heading = case arg
|
18
|
+
when NilClass
|
19
|
+
t(HeadingWithTitle.default_i18n_key)
|
20
|
+
when Hash
|
21
|
+
t(HeadingWithTitle.default_i18n_key, arg)
|
22
|
+
when String
|
23
|
+
arg
|
24
|
+
else
|
25
|
+
raise ArgumentError, 'Incorrect arguments for heading_with_title!'
|
26
|
+
end
|
27
|
+
|
17
28
|
page_title(heading)
|
18
29
|
heading = raw(block.call(heading)) if block_given?
|
19
30
|
content_tag(HeadingWithTitle.default_heading_size, heading)
|
data/lib/heading_with_title.rb
CHANGED
@@ -24,6 +24,15 @@ require "action_view"
|
|
24
24
|
# <span><%= heading %></span>
|
25
25
|
# <% end %>
|
26
26
|
#
|
27
|
+
# # You can also call it without arguments. In this case
|
28
|
+
# # it will use I18n Lazy Lookup (http://guides.rubyonrails.org/i18n.html#lazy-lookup)
|
29
|
+
# # with key defined by +default_i18n_key+ setting.
|
30
|
+
# <%= heading_with_title %>
|
31
|
+
#
|
32
|
+
# # If you need to use I18n Interpolation (http://guides.rubyonrails.org/i18n.html#interpolation)
|
33
|
+
# # just pass hash as argument:
|
34
|
+
# <%= heading_with_title username: 'John Doe' %>
|
35
|
+
#
|
27
36
|
# Or you might want to set only page title
|
28
37
|
# <% page_title 'Users' %>
|
29
38
|
#
|
@@ -42,6 +51,14 @@ require "action_view"
|
|
42
51
|
#
|
43
52
|
# # Default heading size (h1 by default)
|
44
53
|
# config.default_heading_size = :h1
|
54
|
+
#
|
55
|
+
# # Default I18n key when call heading_with_title
|
56
|
+
# # helper without arguments
|
57
|
+
# # Its the same as:
|
58
|
+
# #
|
59
|
+
# # heading_with_title t('.heading')
|
60
|
+
# #
|
61
|
+
# config.default_i18n_key = '.heading'
|
45
62
|
# end
|
46
63
|
#
|
47
64
|
module HeadingWithTitle
|
@@ -58,6 +75,11 @@ module HeadingWithTitle
|
|
58
75
|
mattr_accessor :default_heading_size
|
59
76
|
@@default_heading_size = :h1
|
60
77
|
|
78
|
+
# Default I18n key when call heading_with_title
|
79
|
+
# helper without arguments
|
80
|
+
mattr_accessor :default_i18n_key
|
81
|
+
@@default_i18n_key = '.heading'
|
82
|
+
|
61
83
|
def self.configure
|
62
84
|
yield self
|
63
85
|
end
|
@@ -1,11 +1,21 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require "heading_with_title"
|
3
3
|
|
4
|
+
module HeadingWithTitle
|
5
|
+
module Helpers #:nodoc:
|
6
|
+
def t(*args)
|
7
|
+
I18n.t(*args)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
4
12
|
describe HeadingWithTitle::Helpers do
|
5
13
|
include ActionView::Helpers
|
6
14
|
include HeadingWithTitle::Helpers
|
7
15
|
|
8
|
-
before
|
16
|
+
before do
|
17
|
+
Rails.stub_chain(:application, :name).and_return('AwesomeApp')
|
18
|
+
end
|
9
19
|
|
10
20
|
describe '.page_title' do
|
11
21
|
it 'sets a page title' do
|
@@ -48,5 +58,19 @@ describe HeadingWithTitle::Helpers do
|
|
48
58
|
HeadingWithTitle.default_heading_size = :h2
|
49
59
|
heading_with_title('Users').should == '<h2>Users</h2>'
|
50
60
|
end
|
61
|
+
|
62
|
+
it 'uses I18n when called without args' do
|
63
|
+
HeadingWithTitle.default_heading_size = :h1
|
64
|
+
heading_with_title.should == '<h1>translation missing: en.heading</h1>'
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'allows hash as arguments (I18n interpolation)' do
|
68
|
+
I18n.backend.store_translations :en, heading: 'Hello %{name}!'
|
69
|
+
heading_with_title(name: 'John Doe').should == '<h1>Hello John Doe!</h1>'
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'raises ArgumentError on incorrect arguments' do
|
73
|
+
expect { heading_with_title(OpenStruct.new(name: 'Weird')) }.to raise_error(ArgumentError, 'Incorrect arguments for heading_with_title!')
|
74
|
+
end
|
51
75
|
end
|
52
76
|
end
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heading_with_title
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Andrew Kozloff
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-12-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: bundler
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,33 +41,29 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
description: Setting the page heading at the same time with a page title
|
@@ -96,27 +87,26 @@ files:
|
|
96
87
|
homepage: https://github.com/rocsci/heading_with_title
|
97
88
|
licenses:
|
98
89
|
- MIT
|
90
|
+
metadata: {}
|
99
91
|
post_install_message:
|
100
92
|
rdoc_options: []
|
101
93
|
require_paths:
|
102
94
|
- lib
|
103
95
|
required_ruby_version: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
96
|
requirements:
|
106
|
-
- -
|
97
|
+
- - '>='
|
107
98
|
- !ruby/object:Gem::Version
|
108
99
|
version: '0'
|
109
100
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
-
none: false
|
111
101
|
requirements:
|
112
|
-
- -
|
102
|
+
- - '>='
|
113
103
|
- !ruby/object:Gem::Version
|
114
104
|
version: '0'
|
115
105
|
requirements: []
|
116
106
|
rubyforge_project:
|
117
|
-
rubygems_version: 1.
|
107
|
+
rubygems_version: 2.1.11
|
118
108
|
signing_key:
|
119
|
-
specification_version:
|
109
|
+
specification_version: 4
|
120
110
|
summary: A set of helpers for Rails
|
121
111
|
test_files:
|
122
112
|
- spec/heading_with_title/helpers_spec.rb
|