rails_utils 3.1.2 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.markdown +26 -1
- data/lib/rails_utils/version.rb +1 -1
- data/lib/rails_utils.rb +5 -0
- data/test/rails_utils_test.rb +28 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fc2649ebeba860870f2999dbb5ddaa99989764c
|
4
|
+
data.tar.gz: 5cbd6201a7d3d2d6d5fa22237189437141ec0099
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b60acb1cbe5f6e198764153720195b9f9283f049d95a2f98f6f6408fc873a20cb6da1b7df338d5e09a3120858ee329327fea3391e9203021044e1a7d1f3805c
|
7
|
+
data.tar.gz: 3de6f653754c0edc375b9fc855943c5e7148dad0a1eb16b14a6db86347c8b23067a3d5ffb5036cd9f425db20095975f05fcc288b5119c77a34d2ac098f29adb4
|
data/README.markdown
CHANGED
@@ -40,6 +40,26 @@ so that you only need to write CSS to target `new` and `edit`, and not all four
|
|
40
40
|
For finer grained control, you can also choose the use the 2 methods that are used to build `page_class` individually.
|
41
41
|
The two methods are `page_controller_class` and `page_action_class`.
|
42
42
|
|
43
|
+
## #`page_title`
|
44
|
+
|
45
|
+
This helper method returns page title based on controller name and action name.
|
46
|
+
|
47
|
+
When controller and action is `anime#show`
|
48
|
+
you can easily use `page_title` like
|
49
|
+
|
50
|
+
.page-title= page_title
|
51
|
+
|
52
|
+
becomes
|
53
|
+
|
54
|
+
<div class='page-title'>Anime Show</div>
|
55
|
+
|
56
|
+
Besides, it supports I18n too.
|
57
|
+
|
58
|
+
en:
|
59
|
+
anime:
|
60
|
+
show:
|
61
|
+
title: An awesome title
|
62
|
+
|
43
63
|
## #`javascript_initialization`
|
44
64
|
|
45
65
|
This helper method attempts to initialize JavaScript classes and methods based on a standard structure.
|
@@ -95,6 +115,11 @@ Minitest-ed. To run all tests, just run `rake` or `rake test`.
|
|
95
115
|
|
96
116
|
## Changelog
|
97
117
|
|
118
|
+
_Version 3.2.0_
|
119
|
+
|
120
|
+
- Add `page_title` that supports I18n - by @huynhquancam.
|
121
|
+
|
122
|
+
|
98
123
|
_Version 3.1.2_
|
99
124
|
|
100
125
|
- Add `alert-danger` class to flash error messages for Bootstrap 3 support.
|
@@ -123,4 +148,4 @@ Rails Utils is maintained by [Winston Teo](mailto:winstonyw+rails_utils@gmail.co
|
|
123
148
|
|
124
149
|
## License
|
125
150
|
|
126
|
-
Copyright ©
|
151
|
+
Copyright © 2014 Winston Teo Yong Wei. Free software, released under the MIT license.
|
data/lib/rails_utils/version.rb
CHANGED
data/lib/rails_utils.rb
CHANGED
@@ -15,6 +15,11 @@ module RailsUtils
|
|
15
15
|
"#{page_controller_class} #{page_action_class}"
|
16
16
|
end
|
17
17
|
|
18
|
+
def page_title
|
19
|
+
default_page_title = "#{page_controller_class.capitalize} #{page_action_class.capitalize}"
|
20
|
+
I18n.t("#{page_controller_class}.#{page_action_class}.title", default: default_page_title)
|
21
|
+
end
|
22
|
+
|
18
23
|
def javascript_initialization
|
19
24
|
application_name = Rails.application.class.parent_name
|
20
25
|
|
data/test/rails_utils_test.rb
CHANGED
@@ -70,6 +70,34 @@ describe "RailsUtils::ActionViewExtensions" do
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
+
describe "#page_title" do
|
74
|
+
let(:controller_name) { "anime" }
|
75
|
+
|
76
|
+
before do
|
77
|
+
view.stubs(:page_controller_class).returns(controller_name)
|
78
|
+
view.stubs(:page_action_class).returns(action_name)
|
79
|
+
end
|
80
|
+
|
81
|
+
describe 'when translation is missing' do
|
82
|
+
let(:action_name) { "random" }
|
83
|
+
let(:default_translation) { "#{controller_name.capitalize} #{action_name.capitalize}" }
|
84
|
+
|
85
|
+
it "combines page_controller_class and page_action_class" do
|
86
|
+
view.page_title.must_equal default_translation
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe 'when translation is avaiable' do
|
91
|
+
let(:action_name) { 'show' }
|
92
|
+
|
93
|
+
before { I18n.backend.store_translations("en", {controller_name.to_sym => {action_name.to_sym => {title: "An awesome title"}}}) }
|
94
|
+
|
95
|
+
it 'translates page title' do
|
96
|
+
view.page_title.must_equal 'An awesome title'
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
73
101
|
describe "#javascript_initialization" do
|
74
102
|
let(:controller_class) { "Awesome::AnimeController" }
|
75
103
|
let(:controller_name) { "awesome_anime" }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Winston Teo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
129
|
version: '0'
|
130
130
|
requirements: []
|
131
131
|
rubyforge_project:
|
132
|
-
rubygems_version: 2.
|
132
|
+
rubygems_version: 2.1.9
|
133
133
|
signing_key:
|
134
134
|
specification_version: 4
|
135
135
|
summary: Rails helpers based on opinionated project practices.
|