page_title_helper 2.1.0 → 3.0.0
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/CHANGELOG.md +73 -0
- data/CODE_OF_CONDUCT.md +77 -0
- data/Gemfile +1 -1
- data/README.md +53 -38
- data/Rakefile +1 -2
- data/lib/page_title_helper/version.rb +2 -2
- data/lib/page_title_helper.rb +11 -13
- data/page_title_helper.gemspec +17 -15
- data/test/multiple_formats_test.rb +30 -30
- data/test/page_title_helper_test.rb +54 -55
- data/test/test_helper.rb +21 -14
- metadata +54 -29
- data/.gitignore +0 -3
- data/.travis.yml +0 -4
- data/Gemfile.lock +0 -98
- data/init.rb +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: eaf4875e42896ac4021c8469718d914bcacfe096
|
4
|
+
data.tar.gz: f1e3fe136f672664c97c08948834a7c8bda199f1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ee336f599ff2d0bf6f2ab1699037ea22ac9ff7da9315f3a219e2a04ec1cf477c1c98589c0a638c66b7bcb8720213970c5024fb583ef683be267bb3e6dd5dfddf
|
7
|
+
data.tar.gz: d246357b274f769704ee093cf91d94297e6499d266dfcb547dada9329c81819b451529c4a9b3b886b03bf86e182f233e525d0765dfc071a7a1a76bbf1ca90a09
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Page title helper change log
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
|
+
|
6
|
+
Read more at [Keep a CHANGELOG](http://keepachangelog.com/en/0.3.0/)
|
7
|
+
about why a change log is important.
|
8
|
+
|
9
|
+
|
10
|
+
## 3.0.0 [unreleased]
|
11
|
+
|
12
|
+
### Added
|
13
|
+
- Add Ruby 2.4.0 to the build matrix
|
14
|
+
([#68](https://github.com/lwe/page_title_helper/pull/68))
|
15
|
+
- Add a CHANGELOG.md
|
16
|
+
([#59](https://github.com/lwe/page_title_helper/pull/59))
|
17
|
+
- Add RuboCop checking to the CI
|
18
|
+
([#52](https://github.com/lwe/page_title_helper/pull/52))
|
19
|
+
- Add a CODE_OF_CONDUCT.md
|
20
|
+
([#51](https://github.com/lwe/page_title_helper/pull/51))
|
21
|
+
- Update Ruby to 2.3.3 and 2.2.6 on Travis
|
22
|
+
([#38](https://github.com/lwe/page_title_helper/pull/38))
|
23
|
+
- Add Ruby 2.3.0 to the build matrix
|
24
|
+
- Re-add Ruby 2.0.0 to the build matrix
|
25
|
+
([#29](https://github.com/lwe/page_title_helper/pull/29))
|
26
|
+
- Test against Ruby 2.2
|
27
|
+
- Use Appraisal for building with different Rails versions
|
28
|
+
([#19](https://github.com/lwe/page_title_helper/pull/19))
|
29
|
+
|
30
|
+
|
31
|
+
### Changed
|
32
|
+
- Replaced Appraisals with specific Gemfiles
|
33
|
+
([#41](https://github.com/lwe/page_title_helper/pull/41))
|
34
|
+
- Delete obsolete init.rb file
|
35
|
+
([#61](https://github.com/lwe/page_title_helper/pull/61))
|
36
|
+
- Add Rails 5.0 to the build matrix
|
37
|
+
([#42](https://github.com/lwe/page_title_helper/pull/42))
|
38
|
+
- Raise RVM and Gem minimum versions
|
39
|
+
([#3](https://github.com/lwe/page_title_helper/pull/3))
|
40
|
+
|
41
|
+
|
42
|
+
### Deprecated
|
43
|
+
|
44
|
+
|
45
|
+
### Removed
|
46
|
+
- Drop support for Rails 3.2 and 4.0
|
47
|
+
([#39](https://github.com/lwe/page_title_helper/pull/39))
|
48
|
+
- Drop support for Ruby 1.9.x
|
49
|
+
([#24](https://github.com/lwe/page_title_helper/pull/24))
|
50
|
+
|
51
|
+
|
52
|
+
### Fixed
|
53
|
+
- Fix @_page_title uninitialized warning
|
54
|
+
([#62](https://github.com/lwe/page_title_helper/pull/62))
|
55
|
+
- Fix the Travis build on Ruby 2.3.3
|
56
|
+
([#63](https://github.com/lwe/page_title_helper/pull/63))
|
57
|
+
- Do do not shell-out to `git` in Gemfile
|
58
|
+
([#49](https://github.com/lwe/page_title_helper/pull/49))
|
59
|
+
- Get the tests to run in Rails 4.2 and 5.0
|
60
|
+
([#40](https://github.com/lwe/page_title_helper/pull/40))
|
61
|
+
- Stop requiring version from the main class
|
62
|
+
([#47](https://github.com/lwe/page_title_helper/pull/47))
|
63
|
+
- Allow the Rails 3.2 build to fail only with Ruby 2.2
|
64
|
+
([#30](https://github.com/lwe/page_title_helper/pull/30))
|
65
|
+
- Allow Rails 3.2 builds to fail
|
66
|
+
([#26](https://github.com/lwe/page_title_helper/pull/26))
|
67
|
+
- Configure Travis for better performance
|
68
|
+
([#10](https://github.com/lwe/page_title_helper/pull/10))
|
69
|
+
- Remove Gemfile.lock
|
70
|
+
([#1](https://github.com/lwe/page_title_helper/pull/1))
|
71
|
+
|
72
|
+
|
73
|
+
### Security
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
## Our Pledge
|
4
|
+
|
5
|
+
In the interest of fostering an open and welcoming environment, we as
|
6
|
+
contributors and maintainers pledge to making participation in our project and
|
7
|
+
our community a harassment-free experience for everyone, regardless of age,
|
8
|
+
body size, disability, ethnicity, gender identity and expression, level of
|
9
|
+
experience, nationality, personal appearance, race, religion, or sexual
|
10
|
+
identity and orientation.
|
11
|
+
|
12
|
+
## Our Standards
|
13
|
+
|
14
|
+
Examples of behavior that contributes to creating a positive environment
|
15
|
+
include:
|
16
|
+
|
17
|
+
* Using welcoming and inclusive language
|
18
|
+
* Being respectful of differing viewpoints and experiences
|
19
|
+
* Gracefully accepting constructive criticism
|
20
|
+
* Focusing on what is best for the community
|
21
|
+
* Showing empathy towards other community members
|
22
|
+
|
23
|
+
Examples of unacceptable behavior by participants include:
|
24
|
+
|
25
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
26
|
+
advances
|
27
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
28
|
+
* Public or private harassment
|
29
|
+
* Publishing others' private information, such as a physical or electronic
|
30
|
+
address, without explicit permission
|
31
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
32
|
+
professional setting
|
33
|
+
|
34
|
+
|
35
|
+
## Our Responsibilities
|
36
|
+
|
37
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
38
|
+
behavior and are expected to take appropriate and fair corrective action in
|
39
|
+
response to any instances of unacceptable behavior.
|
40
|
+
|
41
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
42
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
43
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
44
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
45
|
+
threatening, offensive, or harmful.
|
46
|
+
|
47
|
+
## Scope
|
48
|
+
|
49
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
50
|
+
when an individual is representing the project or its community. Examples of
|
51
|
+
representing a project or community include using an official project e-mail
|
52
|
+
address, posting via an official social media account, or acting as an
|
53
|
+
appointed representative at an online or offline event. Representation of a
|
54
|
+
project may be further defined and clarified by project maintainers.
|
55
|
+
|
56
|
+
## Enforcement
|
57
|
+
|
58
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
59
|
+
reported by contacting the project team at (lukas dot westermann at gmail dot com).
|
60
|
+
All complaints will be reviewed and investigated and will result in a response
|
61
|
+
that is deemed necessary and appropriate to the circumstances. The project team
|
62
|
+
is obligated to maintain confidentiality with regard to the reporter of an
|
63
|
+
incident. Further details of specific enforcement policies may be posted
|
64
|
+
separately.
|
65
|
+
|
66
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
67
|
+
faith may face temporary or permanent repercussions as determined by other
|
68
|
+
members of the project's leadership.
|
69
|
+
|
70
|
+
## Attribution
|
71
|
+
|
72
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
73
|
+
version 1.4, available at
|
74
|
+
[http://contributor-covenant.org/version/1/4/][version].
|
75
|
+
|
76
|
+
[homepage]: http://contributor-covenant.org
|
77
|
+
[version]: http://contributor-covenant.org/version/1/4/
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,26 +1,31 @@
|
|
1
1
|
# Page title helper
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
[](https://travis-ci.org/lwe/page_title_helper)
|
4
|
+
[](http://badge.fury.io/rb/page_title_helper)
|
5
|
+
|
6
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
7
|
+
|
8
|
+
|
9
|
+
## What does this gem do?
|
6
10
|
|
7
|
-
|
8
|
-
|
11
|
+
Ever wondered if there was an easier and DRY-way to set your page titles (and/or headings),
|
12
|
+
introducing _page title helper_, a small view helper for Rails 4.2 and 5
|
13
|
+
to inflect titles from controllers and actions.
|
9
14
|
|
10
|
-
In your layout add this to your `<head>`-section:
|
15
|
+
In your layout, add this to your `<head>`-section:
|
11
16
|
|
12
17
|
...
|
13
18
|
<title><%= page_title %></title>
|
14
19
|
...
|
15
|
-
|
20
|
+
|
16
21
|
That's it. Now just add translations, in e.g. `config/locales/en.yml`:
|
17
22
|
|
18
23
|
en:
|
19
24
|
contacts:
|
20
25
|
index:
|
21
26
|
title: "Contacts"
|
22
|
-
|
23
|
-
When `/
|
27
|
+
|
28
|
+
When `/contacts/` is requested, the key `:en, :contacts, :index, :title`
|
24
29
|
is looked up and printed, together with the applications basename, like: `Contacts - My cool App`.
|
25
30
|
The format etc. is of course configurable, just head down to the options.
|
26
31
|
|
@@ -30,13 +35,9 @@ As gem (from rubygems.org):
|
|
30
35
|
|
31
36
|
# then add the following line to Gemfile
|
32
37
|
gem 'page_title_helper'
|
33
|
-
|
34
|
-
# living on the bleeding edge?
|
35
|
-
gem 'page_title_helper', :git => 'git://github.com/lwe/page_title_helper.git'
|
36
|
-
|
37
|
-
or as plain old Rails plugin:
|
38
38
|
|
39
|
-
|
39
|
+
# living on the bleeding edge?
|
40
|
+
gem 'page_title_helper', git: 'git://github.com/lwe/page_title_helper.git'
|
40
41
|
|
41
42
|
## Translated titles
|
42
43
|
|
@@ -57,13 +58,13 @@ Need a custom title, or need to fill in some placeholders? Just use the _bang_ m
|
|
57
58
|
`<title>-tag`as well as in the heading?
|
58
59
|
|
59
60
|
<h1><%= page_title!(@contact.name) %></h1>
|
60
|
-
|
61
|
+
|
61
62
|
A call to `page_title` will now return the contacts name, neat :) if for example the
|
62
63
|
`<h1>` does not match the `<title>`, then well, just do something like:
|
63
64
|
|
64
65
|
<% page_title!(@contact.name + " (" + @contact.company.name + ")") %>
|
65
66
|
<h1><%= @contact.name %></h1>
|
66
|
-
|
67
|
+
|
67
68
|
Guess, that's it. Of course it's also possible to use `translate` within `page_title!`, to
|
68
69
|
translate custom titles, like:
|
69
70
|
|
@@ -74,47 +75,47 @@ translate custom titles, like:
|
|
74
75
|
title: "Welcome back, {{name}}"
|
75
76
|
|
76
77
|
# in app/views/dashboard/index.html.erb:
|
77
|
-
<h1><%= page_title!(t('.title', :
|
78
|
+
<h1><%= page_title!(t('.title', name: @user.first_name)) %></h1>
|
78
79
|
|
79
80
|
## More fun with <tt>:format</tt>
|
80
81
|
|
81
82
|
The `:format` option is used to specify how a title is formatted, i.e. if the app name is
|
82
|
-
|
83
|
+
prepended or appended or if it contains the account name etc. It uses a similar approach as
|
83
84
|
paperclip's path interpolations:
|
84
85
|
|
85
|
-
page_title :
|
86
|
-
|
86
|
+
page_title format: ':title / :app' # => "Contacts / My cool app"
|
87
|
+
|
87
88
|
Adding custom interpolations is as easy as defining a block, for example to access the current
|
88
89
|
controller:
|
89
90
|
|
90
91
|
PageTitleHelper.interpolates :controller do |env|
|
91
92
|
env[:view].controller.controller_name.humanize
|
92
93
|
end
|
93
|
-
|
94
|
-
page_title :
|
95
|
-
|
94
|
+
|
95
|
+
page_title format: ':title / :controller / :app' # => "Welcome back / Dashboard / My cool app"
|
96
|
+
|
96
97
|
To access just the title, without any magic app stuff interpolated or appended, use:
|
97
98
|
|
98
99
|
page_title! "untitled"
|
99
|
-
page_title :
|
100
|
-
|
100
|
+
page_title format: false # => "untitled"
|
101
|
+
|
101
102
|
Need a custom format for a single title? Just return an array:
|
102
103
|
|
103
104
|
# in the view:
|
104
105
|
<h1><%= page_title!(@contact.name, ":title from :company - :app") %></h1> # => <h1>Franz Meyer</h1>
|
105
|
-
|
106
|
+
|
106
107
|
# in the <head>
|
107
108
|
<title><%= page_title %></title> # => this time it will use custom title like "Franz Meyer from ABC Corp. - My cool app"
|
108
|
-
|
109
|
+
|
109
110
|
To streamline that feature a bit and simplify reuse of often used formats, it's possible to define format aliases like:
|
110
111
|
|
111
112
|
# in an initializer, e.g. config/initializers/page_title_helper.rb:
|
112
113
|
PageTitleHelper.formats[:with_company] = ":title from :company - :app"
|
113
114
|
PageTitleHelper.formats[:promo] = ":app - :title" # show app first for promo pages :)
|
114
|
-
|
115
|
+
|
115
116
|
# then in the view to display a contact...
|
116
117
|
page_title! @contact.name, :with_company
|
117
|
-
|
118
|
+
|
118
119
|
# ...or for the promo page via config/locales/en.yml (!)
|
119
120
|
en:
|
120
121
|
pages:
|
@@ -123,7 +124,7 @@ To streamline that feature a bit and simplify reuse of often used formats, it's
|
|
123
124
|
- "Features comparison"
|
124
125
|
- !ruby/sym promo
|
125
126
|
|
126
|
-
Pretty, cool,
|
127
|
+
Pretty, cool, ain't it? The special `format: :app` works also via the `formats` hash. Then there is also a
|
127
128
|
`:default` format, which can be used to override the default format.
|
128
129
|
|
129
130
|
## All options - explained
|
@@ -165,10 +166,10 @@ To add or change formats use:
|
|
165
166
|
|
166
167
|
# change the default format used (if no format is specified):
|
167
168
|
PageTitleHelper.formats[:default] = ":title // :app"
|
168
|
-
|
169
|
-
# add a custom format alias (which can be used with page_title(:
|
169
|
+
|
170
|
+
# add a custom format alias (which can be used with page_title(format: :promo))
|
170
171
|
PageTitleHelper.formats[:promo] = ":app // :title"
|
171
|
-
|
172
|
+
|
172
173
|
_Note:_ it's recommended to add this kind of stuff to an initializer, like e.g.
|
173
174
|
`config/initializers/page_title_helper.rb`.
|
174
175
|
|
@@ -178,10 +179,24 @@ The internationalized controller name, with fallback to just display the humaniz
|
|
178
179
|
|
179
180
|
PageTitleHelper.interpolates :controller do |env|
|
180
181
|
c = env[:view].controller
|
181
|
-
I18n.t(c.controller_path.tr('/', '.') + '.controller', :
|
182
|
+
I18n.t(c.controller_path.tr('/', '.') + '.controller', default: c.controller_name.humanize)
|
182
183
|
end
|
183
|
-
|
184
|
-
_Note:_ Put this kind of stuff into an initializer, like `config/initializers/page_title_helper.rb` or
|
185
|
-
|
184
|
+
|
185
|
+
_Note:_ Put this kind of stuff into an initializer, like `config/initializers/page_title_helper.rb` or something like that.
|
186
|
+
|
187
|
+
|
188
|
+
## Contributing
|
189
|
+
|
190
|
+
Pull request are more than welcome. Please adhere to our
|
191
|
+
[CODE_OF_CONDUCT.md](code of conduct) in discussions and contributions.
|
192
|
+
Thanks!
|
193
|
+
|
194
|
+
|
195
|
+
## Maintainers
|
196
|
+
|
197
|
+
* [@lwe - Lukas Westermann](https://github.com/lwe)
|
198
|
+
* [@oliverklee - Oliver Klee](https://github.com/oliverklee)
|
199
|
+
|
200
|
+
|
186
201
|
## Licence and copyright
|
187
202
|
Copyright (c) 2009 Lukas Westermann (Zurich, Switzerland), released under the MIT license
|
data/Rakefile
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'bundler/setup'
|
3
2
|
require 'rake/testtask'
|
4
3
|
|
@@ -7,7 +6,7 @@ include Rake::DSL
|
|
7
6
|
Bundler::GemHelper.install_tasks
|
8
7
|
|
9
8
|
desc 'Default: run unit tests.'
|
10
|
-
task :
|
9
|
+
task default: :test
|
11
10
|
|
12
11
|
desc 'Test the page_title_helper plugin.'
|
13
12
|
Rake::TestTask.new(:test) do |t|
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module PageTitleHelper
|
2
|
-
VERSION =
|
3
|
-
end
|
2
|
+
VERSION = '3.0.0'.freeze
|
3
|
+
end
|
data/lib/page_title_helper.rb
CHANGED
@@ -7,25 +7,23 @@
|
|
7
7
|
#
|
8
8
|
# See documentation for +page_title+ for usage examples and more informations.
|
9
9
|
require 'active_support'
|
10
|
-
require 'page_title_helper/version'
|
11
10
|
|
12
11
|
# PageTitleHelper
|
13
12
|
module PageTitleHelper
|
14
|
-
|
15
13
|
# http://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/interpolations.rb
|
16
14
|
module Interpolations
|
17
15
|
extend self
|
18
16
|
|
19
17
|
def self.interpolate(pattern, *args)
|
20
18
|
instance_methods(false).sort.reverse.inject(pattern.to_s.dup) do |result, tag|
|
21
|
-
result.gsub(/:#{tag}/) do |
|
19
|
+
result.gsub(/:#{tag}/) do |_match|
|
22
20
|
send(tag, *args)
|
23
21
|
end
|
24
22
|
end
|
25
23
|
end
|
26
24
|
|
27
25
|
def app(env)
|
28
|
-
env[:app] || I18n.translate(
|
26
|
+
env[:app] || I18n.translate('app.name', default: File.basename(Rails.root).humanize)
|
29
27
|
end
|
30
28
|
|
31
29
|
def title(env)
|
@@ -42,17 +40,17 @@ module PageTitleHelper
|
|
42
40
|
# be changed globally, which might be useful in some cases.
|
43
41
|
def self.options
|
44
42
|
@options ||= {
|
45
|
-
:
|
46
|
-
:
|
43
|
+
format: :default,
|
44
|
+
default: :'app.tagline'
|
47
45
|
}
|
48
46
|
end
|
49
47
|
|
50
48
|
# Defined alias formats, pretty useful.
|
51
49
|
def self.formats
|
52
50
|
@formats ||= {
|
53
|
-
:
|
54
|
-
:
|
55
|
-
:
|
51
|
+
app: ':app',
|
52
|
+
default: ':title - :app',
|
53
|
+
title: ':title'
|
56
54
|
}
|
57
55
|
end
|
58
56
|
|
@@ -62,7 +60,7 @@ module PageTitleHelper
|
|
62
60
|
@_page_title.is_a?(Array) ? @_page_title.first : @_page_title
|
63
61
|
end
|
64
62
|
|
65
|
-
def page_title(options = nil
|
63
|
+
def page_title(options = nil)
|
66
64
|
return page_title!(yield) if block_given? # define title
|
67
65
|
|
68
66
|
options = PageTitleHelper.options.merge(options || {}).symbolize_keys!
|
@@ -70,7 +68,7 @@ module PageTitleHelper
|
|
70
68
|
options.assert_valid_keys(:app, :default, :format)
|
71
69
|
|
72
70
|
# read page title and split into 'real' title and customized format
|
73
|
-
title = @_page_title
|
71
|
+
title = @_page_title ||= page_title_from_translation(options[:default])
|
74
72
|
title, options[:format] = *(title << options[:format]) if title.is_a?(Array)
|
75
73
|
|
76
74
|
# handle format aliases
|
@@ -78,7 +76,7 @@ module PageTitleHelper
|
|
78
76
|
format = PageTitleHelper.formats[format] if PageTitleHelper.formats.include?(format)
|
79
77
|
|
80
78
|
# construct basic env to pass around
|
81
|
-
env = { :
|
79
|
+
env = { title: title, app: options.delete(:app), options: options, view: self }
|
82
80
|
|
83
81
|
# interpolate format
|
84
82
|
Interpolations.interpolate(format, env)
|
@@ -98,7 +96,7 @@ module PageTitleHelper
|
|
98
96
|
keys << :"#{base}.title"
|
99
97
|
keys << default
|
100
98
|
|
101
|
-
I18n.translate(keys.shift, :
|
99
|
+
I18n.translate(keys.shift, default: keys)
|
102
100
|
end
|
103
101
|
end
|
104
102
|
|
data/page_title_helper.gemspec
CHANGED
@@ -1,28 +1,30 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path(
|
3
|
-
require
|
2
|
+
$:.push File.expand_path('../lib', __FILE__)
|
3
|
+
require 'page_title_helper/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'page_title_helper'
|
7
7
|
s.version = PageTitleHelper::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
|
-
s.summary =
|
10
|
-
s.description =
|
9
|
+
s.summary = 'Simple, internationalized and DRY page titles and headings for Rails.'
|
10
|
+
s.description = 'Simple, internationalized and DRY page titles and headings for Rails.'
|
11
11
|
|
12
|
-
s.required_ruby_version =
|
13
|
-
s.required_rubygems_version =
|
12
|
+
s.required_ruby_version = '>= 2.0.0'
|
13
|
+
s.required_rubygems_version = '>= 1.3.6'
|
14
14
|
|
15
|
-
s.authors = [
|
16
|
-
s.email = [
|
17
|
-
s.homepage =
|
15
|
+
s.authors = ['Lukas Westermann']
|
16
|
+
s.email = ['lukas.westermann@gmail.com']
|
17
|
+
s.homepage = 'http://github.com/lwe/page_title_helper'
|
18
18
|
|
19
|
-
s.files =
|
20
|
-
s.test_files =
|
19
|
+
s.files = %w{Gemfile LICENSE README.md CODE_OF_CONDUCT.md CHANGELOG.md Rakefile page_title_helper.gemspec} + Dir['**/*.{rb,yml}']
|
20
|
+
s.test_files = s.files.grep(%r{^(test|spec)/})
|
21
21
|
s.require_path = 'lib'
|
22
22
|
|
23
23
|
s.license = 'MIT'
|
24
24
|
|
25
|
-
s.add_dependency 'rails', '>=
|
26
|
-
|
27
|
-
s.add_development_dependency '
|
25
|
+
s.add_dependency 'rails', '>= 4.2.0', '< 6.0'
|
26
|
+
|
27
|
+
s.add_development_dependency 'rake', '>= 10.3.2'
|
28
|
+
s.add_development_dependency 'shoulda'
|
29
|
+
s.add_development_dependency 'rubocop', '~> 0.49.0'
|
28
30
|
end
|
@@ -1,71 +1,71 @@
|
|
1
|
+
require 'minitest/autorun'
|
1
2
|
require 'test_helper'
|
2
|
-
require 'page_title_helper'
|
3
3
|
|
4
4
|
class MultipleFormatsTest < ActiveSupport::TestCase
|
5
|
-
context
|
5
|
+
context '#page_title supporting multiple formats through arrays' do
|
6
6
|
setup do
|
7
7
|
@view = TestView.new('contacts', 'list')
|
8
8
|
end
|
9
9
|
|
10
|
-
should
|
11
|
-
@view.page_title { [
|
12
|
-
assert_equal
|
10
|
+
should 'accept an array passed in the page_title block and use the second argument as format' do
|
11
|
+
@view.page_title { ['Oh my...!', ':title // :app'] }
|
12
|
+
assert_equal 'Oh my...! // Page title helper', @view.page_title
|
13
13
|
end
|
14
14
|
|
15
|
-
should
|
16
|
-
assert_equal
|
15
|
+
should 'still return title as string and not the array' do
|
16
|
+
assert_equal('Oh my...!', @view.page_title { ['Oh my...!', ':title // :app'] })
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
context
|
20
|
+
context '#page_title with format aliases' do
|
21
21
|
setup do
|
22
|
-
PageTitleHelper.formats[:myformat] =
|
22
|
+
PageTitleHelper.formats[:myformat] = ':title <-> :app'
|
23
23
|
@view = TestView.new('contacts', 'list')
|
24
24
|
end
|
25
25
|
|
26
|
-
should
|
27
|
-
assert_equal
|
26
|
+
should 'have a default alias named :app' do
|
27
|
+
assert_equal 'Page title helper', @view.page_title(format: :app)
|
28
28
|
end
|
29
29
|
|
30
|
-
should
|
31
|
-
@view.page_title {
|
32
|
-
assert_equal
|
30
|
+
should 'allow custom aliases to be defined and used' do
|
31
|
+
@view.page_title { 'Test' }
|
32
|
+
assert_equal 'Test <-> Page title helper', @view.page_title(format: :myformat)
|
33
33
|
end
|
34
34
|
|
35
|
-
should
|
36
|
-
assert_equal
|
37
|
-
assert_equal
|
35
|
+
should 'fallback to default format, if array is not big enough (i.e. only contains single element...)' do
|
36
|
+
assert_equal('Test', @view.page_title { ['Test'] })
|
37
|
+
assert_equal 'Test - Page title helper', @view.page_title
|
38
38
|
end
|
39
39
|
|
40
|
-
context
|
41
|
-
should
|
42
|
-
assert_equal
|
43
|
-
assert_equal
|
40
|
+
context 'used with the array block' do
|
41
|
+
should 'also allow aliases returned in that array thingy' do
|
42
|
+
assert_equal('Test', @view.page_title { ['Test', :myformat] })
|
43
|
+
assert_equal 'Test <-> Page title helper', @view.page_title
|
44
44
|
end
|
45
45
|
|
46
|
-
should
|
47
|
-
assert_equal
|
48
|
-
assert_equal
|
46
|
+
should 'override locally supplied :format arguments' do
|
47
|
+
assert_equal('Something', @view.page_title { ['Something', '* * * :title * * *'] })
|
48
|
+
assert_equal '* * * Something * * *', @view.page_title(format: '-= :title =-') # yeah, using x-tra ugly titles :)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
context
|
53
|
+
context '#page_title, aliases and YAML' do
|
54
54
|
setup do
|
55
|
-
I18n.load_path = [File.join(File.dirname(__FILE__),
|
55
|
+
I18n.load_path = [File.join(File.dirname(__FILE__), 'en_wohaapp.yml')]
|
56
56
|
I18n.reload!
|
57
|
-
PageTitleHelper.formats[:promo] =
|
57
|
+
PageTitleHelper.formats[:promo] = ':app > :title'
|
58
58
|
@view = TestView.new
|
59
59
|
end
|
60
60
|
|
61
|
-
should
|
61
|
+
should 'allow to overide format through YAML' do
|
62
62
|
@view.controller! 'pages', 'features'
|
63
63
|
assert_equal 'Wohaapp > Feature comparison', @view.page_title
|
64
64
|
end
|
65
65
|
|
66
|
-
should
|
66
|
+
should 'handle raw string formats from YAML as well' do
|
67
67
|
@view.controller! 'pages', 'signup'
|
68
68
|
assert_equal 'Sign up for Wohaapp now!', @view.page_title
|
69
69
|
end
|
70
70
|
end
|
71
|
-
end
|
71
|
+
end
|
@@ -1,9 +1,8 @@
|
|
1
|
+
require 'minitest/autorun'
|
1
2
|
require 'test_helper'
|
2
|
-
require 'page_title_helper'
|
3
|
-
require 'ostruct'
|
4
3
|
|
5
4
|
class PageTitleHelperTest < ActiveSupport::TestCase
|
6
|
-
context
|
5
|
+
context 'PageTitleHelper' do
|
7
6
|
setup do
|
8
7
|
I18n.load_path = [File.join(File.dirname(__FILE__), 'en.yml')]
|
9
8
|
I18n.reload!
|
@@ -11,123 +10,123 @@ class PageTitleHelperTest < ActiveSupport::TestCase
|
|
11
10
|
@view = TestView.new('contacts', 'list')
|
12
11
|
end
|
13
12
|
|
14
|
-
context
|
15
|
-
should
|
13
|
+
context '::Interpolations' do
|
14
|
+
should 'interpolate :app and :title' do
|
16
15
|
assert_equal 'Page title helper', PageTitleHelper::Interpolations.app({})
|
17
|
-
assert_equal 'Appname', PageTitleHelper::Interpolations.app(
|
18
|
-
assert_equal 'untitled', PageTitleHelper::Interpolations.title(
|
16
|
+
assert_equal 'Appname', PageTitleHelper::Interpolations.app(app: 'Appname')
|
17
|
+
assert_equal 'untitled', PageTitleHelper::Interpolations.title(title: 'untitled')
|
19
18
|
end
|
20
19
|
|
21
|
-
should
|
20
|
+
should 'allow adding custom interpolations' do
|
22
21
|
# extend Interpolations
|
23
22
|
PageTitleHelper.interpolates(:app_reverse) { |env| app(env).reverse.downcase }
|
24
23
|
|
25
|
-
assert_equal
|
26
|
-
assert_equal
|
24
|
+
assert_equal 'anna', PageTitleHelper::Interpolations.app_reverse(app: 'Anna')
|
25
|
+
assert_equal 'ppa', PageTitleHelper::Interpolations.interpolate(':app_reverse', app: 'app')
|
27
26
|
end
|
28
27
|
|
29
|
-
should
|
30
|
-
PageTitleHelper.interpolates(:foobar) { |
|
31
|
-
PageTitleHelper.interpolates(:foobar_test) { |
|
32
|
-
PageTitleHelper.interpolates(:title_foobar) { |
|
28
|
+
should 'interpolate in correct order, i.e. longest first' do
|
29
|
+
PageTitleHelper.interpolates(:foobar) { |_env| 'foobar' }
|
30
|
+
PageTitleHelper.interpolates(:foobar_test) { |_env| 'foobar_test' }
|
31
|
+
PageTitleHelper.interpolates(:title_foobar) { |_env| 'title_foobar' }
|
33
32
|
|
34
|
-
assert_equal
|
33
|
+
assert_equal 'title_foobar / foobar_test / foobar / foobar_x', PageTitleHelper::Interpolations.interpolate(':title_foobar / :foobar_test / :foobar / :foobar_x', {})
|
35
34
|
end
|
36
35
|
end
|
37
36
|
|
38
|
-
context
|
39
|
-
should
|
40
|
-
assert_equal
|
37
|
+
context '#page_title (define w/ block)' do
|
38
|
+
should 'return title from block and render with app name' do
|
39
|
+
assert_equal('foo', @view.page_title { 'foo' })
|
41
40
|
assert_equal 'foo - Page title helper', @view.page_title
|
42
41
|
end
|
43
42
|
|
44
|
-
should
|
45
|
-
assert_equal
|
46
|
-
assert_equal
|
43
|
+
should 'set custom title using a translation with a placeholder' do
|
44
|
+
assert_equal('Displaying Bella', @view.page_title { I18n.t(:placeholder, name: 'Bella') })
|
45
|
+
assert_equal 'Displaying Bella - Page title helper', @view.page_title
|
47
46
|
end
|
48
47
|
end
|
49
48
|
|
50
|
-
context
|
51
|
-
should
|
49
|
+
context '#page_title! (define)' do
|
50
|
+
should 'set page title' do
|
52
51
|
assert_equal 'test', @view.page_title!('test')
|
53
52
|
assert_equal 'test - Page title helper', @view.page_title
|
54
53
|
end
|
55
54
|
|
56
|
-
should
|
57
|
-
PageTitleHelper.formats[:bang] =
|
55
|
+
should 'set page title and interpret second argument as custom format' do
|
56
|
+
PageTitleHelper.formats[:bang] = ':title !! :app'
|
58
57
|
assert_equal 'test', @view.page_title!('test', :bang)
|
59
58
|
assert_equal 'test !! Page title helper', @view.page_title
|
60
59
|
end
|
61
60
|
end
|
62
61
|
|
63
|
-
context
|
64
|
-
should
|
62
|
+
context '#page_title (rendering)' do
|
63
|
+
should 'read default title from I18n, based on controller/action' do
|
65
64
|
assert_equal 'contacts.list.title - Page title helper', @view.page_title
|
66
65
|
end
|
67
66
|
|
68
|
-
should
|
69
|
-
assert_equal 'Page title helper', @view.page_title(:
|
67
|
+
should 'only print app name if format: :app' do
|
68
|
+
assert_equal 'Page title helper', @view.page_title(format: :app)
|
70
69
|
end
|
71
70
|
|
72
|
-
should
|
73
|
-
assert_equal
|
71
|
+
should 'print custom app name if :app defined and format: :app' do
|
72
|
+
assert_equal 'Some app', @view.page_title(app: 'Some app', format: :app)
|
74
73
|
end
|
75
74
|
|
76
|
-
should
|
77
|
-
assert_equal
|
78
|
-
assert_equal
|
79
|
-
assert_equal
|
75
|
+
should 'use custom format, if :format option is defined' do
|
76
|
+
assert_equal('test', @view.page_title { 'test' })
|
77
|
+
assert_equal 'Some app :: test', @view.page_title(app: 'Some app', format: ':app :: :title')
|
78
|
+
assert_equal 'Some app / test', @view.page_title(format: 'Some app / :title')
|
80
79
|
end
|
81
80
|
|
82
|
-
should
|
83
|
-
assert_equal
|
84
|
-
assert_equal
|
81
|
+
should 'return just title if format: false is passed' do
|
82
|
+
assert_equal('untitled', @view.page_title { 'untitled' })
|
83
|
+
assert_equal 'untitled', @view.page_title(format: false)
|
85
84
|
end
|
86
85
|
|
87
|
-
should
|
88
|
-
assert_equal
|
86
|
+
should 'return title if format: false and when using the DRY-I18n titles' do
|
87
|
+
assert_equal 'contacts.list.title', @view.page_title(format: false)
|
89
88
|
end
|
90
89
|
|
91
|
-
should
|
90
|
+
should 'render translated :"app.tagline" if no title is available' do
|
92
91
|
@view.controller! 'view/does', 'not_exist'
|
93
|
-
assert_equal
|
92
|
+
assert_equal 'Default - Page title helper', @view.page_title
|
94
93
|
end
|
95
94
|
|
96
|
-
should
|
95
|
+
should 'render use controller.title as first fallback, if no title exists' do
|
97
96
|
@view.controller! 'admin/account', 'index'
|
98
|
-
assert_equal 'Account administration - Page title helper', @view.page_title(:
|
97
|
+
assert_equal 'Account administration - Page title helper', @view.page_title(default: 'Other default')
|
99
98
|
end
|
100
99
|
|
101
|
-
should
|
100
|
+
should 'not fallback to controller.title if controller.action.title exists' do
|
102
101
|
@view.controller! 'admin/account', 'show'
|
103
|
-
assert_equal 'Account - Page title helper', @view.page_title(:
|
102
|
+
assert_equal 'Account - Page title helper', @view.page_title(default: 'Other default')
|
104
103
|
end
|
105
104
|
|
106
105
|
should 'fallback to controller.new.title if create has no title' do
|
107
106
|
@view.controller! 'admin/account', 'create'
|
108
|
-
assert_equal 'New account - Page title helper', @view.page_title(:
|
107
|
+
assert_equal 'New account - Page title helper', @view.page_title(default: 'Other default')
|
109
108
|
end
|
110
109
|
|
111
110
|
should 'fallback to controller.edit.title if update has no title' do
|
112
111
|
@view.controller! 'admin/account', 'update'
|
113
|
-
assert_equal 'Edit account - Page title helper', @view.page_title(:
|
112
|
+
assert_equal 'Edit account - Page title helper', @view.page_title(default: 'Other default')
|
114
113
|
end
|
115
114
|
|
116
|
-
should
|
115
|
+
should 'render custom "default" string, if title is not available nor controller.title' do
|
117
116
|
@view.controller! 'view/does', 'not_exist'
|
118
|
-
assert_equal 'Some default - Page title helper', @view.page_title(:
|
117
|
+
assert_equal 'Some default - Page title helper', @view.page_title(default: 'Some default')
|
119
118
|
end
|
120
119
|
|
121
|
-
should
|
120
|
+
should 'render custom default translation, if title is not available nor controller.title' do
|
122
121
|
@view.controller! 'view/does', 'not_exist'
|
123
|
-
assert_equal 'Other default - Page title helper', @view.page_title(:
|
122
|
+
assert_equal 'Other default - Page title helper', @view.page_title(default: :'app.other_tagline')
|
124
123
|
end
|
125
124
|
end
|
126
125
|
|
127
|
-
context
|
128
|
-
should
|
126
|
+
context 'README.md' do
|
127
|
+
should 'interpolate :controller' do
|
129
128
|
PageTitleHelper.interpolates(:controller) { |env| env[:view].controller.controller_name.humanize }
|
130
|
-
assert_equal
|
129
|
+
assert_equal 'contacts.list.title - Test', @view.page_title(format: ':title - :controller')
|
131
130
|
end
|
132
131
|
end
|
133
132
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,34 +1,41 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'active_support'
|
3
2
|
require 'action_view'
|
4
|
-
require
|
3
|
+
require 'page_title_helper'
|
5
4
|
|
6
5
|
unless defined?(IRB)
|
7
6
|
require 'active_support/test_case'
|
8
7
|
require 'shoulda'
|
9
8
|
end
|
10
9
|
|
11
|
-
#
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
10
|
+
# Use sorted tests. We need to change that after the tests have been converted
|
11
|
+
# to RSpec.
|
12
|
+
ActiveSupport.test_order = :sorted
|
13
|
+
|
14
|
+
# fake global Rails module
|
15
|
+
module Rails
|
16
|
+
class << self
|
17
|
+
def root
|
18
|
+
@pathname ||= Pathname.new('/this/is/just/for/testing/page_title_helper')
|
19
|
+
end
|
20
|
+
|
21
|
+
def env
|
22
|
+
'test'
|
23
|
+
end
|
24
|
+
end
|
16
25
|
end
|
17
26
|
|
18
27
|
# Mock ActionView a bit to allow easy (fake) template assignment
|
19
28
|
class TestView < ActionView::Base
|
29
|
+
attr_reader :controller
|
30
|
+
|
20
31
|
def initialize(controller_path = nil, action = nil)
|
21
32
|
@controller = ActionView::TestCase::TestController.new
|
22
33
|
@controller.controller_path = controller_path
|
23
|
-
|
34
|
+
params[:action] = action if action
|
24
35
|
end
|
25
36
|
|
26
37
|
def controller!(controller_path, action)
|
27
38
|
@controller.controller_path = controller_path
|
28
|
-
|
39
|
+
params[:action] = action
|
29
40
|
end
|
30
|
-
|
31
|
-
def controller
|
32
|
-
@controller
|
33
|
-
end
|
34
|
-
end
|
41
|
+
end
|
metadata
CHANGED
@@ -1,64 +1,90 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: page_title_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Lukas Westermann
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2018-03-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 4.2.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '6.0'
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 4.2.0
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '6.0'
|
25
33
|
- !ruby/object:Gem::Dependency
|
26
34
|
name: rake
|
27
|
-
requirement:
|
28
|
-
none: false
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
29
36
|
requirements:
|
30
|
-
- -
|
37
|
+
- - ">="
|
31
38
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
39
|
+
version: 10.3.2
|
33
40
|
type: :development
|
34
41
|
prerelease: false
|
35
|
-
version_requirements:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 10.3.2
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: shoulda
|
38
|
-
requirement:
|
39
|
-
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
57
|
requirements:
|
41
|
-
- -
|
58
|
+
- - ">="
|
42
59
|
- !ruby/object:Gem::Version
|
43
60
|
version: '0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rubocop
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.49.0
|
44
68
|
type: :development
|
45
69
|
prerelease: false
|
46
|
-
version_requirements:
|
47
|
-
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 0.49.0
|
75
|
+
description: Simple, internationalized and DRY page titles and headings for Rails.
|
48
76
|
email:
|
49
77
|
- lukas.westermann@gmail.com
|
50
78
|
executables: []
|
51
79
|
extensions: []
|
52
80
|
extra_rdoc_files: []
|
53
81
|
files:
|
54
|
-
- .
|
55
|
-
- .
|
82
|
+
- CHANGELOG.md
|
83
|
+
- CODE_OF_CONDUCT.md
|
56
84
|
- Gemfile
|
57
|
-
- Gemfile.lock
|
58
85
|
- LICENSE
|
59
86
|
- README.md
|
60
87
|
- Rakefile
|
61
|
-
- init.rb
|
62
88
|
- lib/page_title_helper.rb
|
63
89
|
- lib/page_title_helper/version.rb
|
64
90
|
- page_title_helper.gemspec
|
@@ -70,27 +96,26 @@ files:
|
|
70
96
|
homepage: http://github.com/lwe/page_title_helper
|
71
97
|
licenses:
|
72
98
|
- MIT
|
99
|
+
metadata: {}
|
73
100
|
post_install_message:
|
74
101
|
rdoc_options: []
|
75
102
|
require_paths:
|
76
103
|
- lib
|
77
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
105
|
requirements:
|
80
|
-
- -
|
106
|
+
- - ">="
|
81
107
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
108
|
+
version: 2.0.0
|
83
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
110
|
requirements:
|
86
|
-
- -
|
111
|
+
- - ">="
|
87
112
|
- !ruby/object:Gem::Version
|
88
113
|
version: 1.3.6
|
89
114
|
requirements: []
|
90
115
|
rubyforge_project:
|
91
|
-
rubygems_version:
|
116
|
+
rubygems_version: 2.6.13
|
92
117
|
signing_key:
|
93
|
-
specification_version:
|
118
|
+
specification_version: 4
|
94
119
|
summary: Simple, internationalized and DRY page titles and headings for Rails.
|
95
120
|
test_files:
|
96
121
|
- test/en.yml
|
data/.gitignore
DELETED
data/.travis.yml
DELETED
data/Gemfile.lock
DELETED
@@ -1,98 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
page_title_helper (2.1.0)
|
5
|
-
rails (>= 3.0.0)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: http://rubygems.org/
|
9
|
-
specs:
|
10
|
-
actionmailer (3.2.3)
|
11
|
-
actionpack (= 3.2.3)
|
12
|
-
mail (~> 2.4.4)
|
13
|
-
actionpack (3.2.3)
|
14
|
-
activemodel (= 3.2.3)
|
15
|
-
activesupport (= 3.2.3)
|
16
|
-
builder (~> 3.0.0)
|
17
|
-
erubis (~> 2.7.0)
|
18
|
-
journey (~> 1.0.1)
|
19
|
-
rack (~> 1.4.0)
|
20
|
-
rack-cache (~> 1.2)
|
21
|
-
rack-test (~> 0.6.1)
|
22
|
-
sprockets (~> 2.1.2)
|
23
|
-
activemodel (3.2.3)
|
24
|
-
activesupport (= 3.2.3)
|
25
|
-
builder (~> 3.0.0)
|
26
|
-
activerecord (3.2.3)
|
27
|
-
activemodel (= 3.2.3)
|
28
|
-
activesupport (= 3.2.3)
|
29
|
-
arel (~> 3.0.2)
|
30
|
-
tzinfo (~> 0.3.29)
|
31
|
-
activeresource (3.2.3)
|
32
|
-
activemodel (= 3.2.3)
|
33
|
-
activesupport (= 3.2.3)
|
34
|
-
activesupport (3.2.3)
|
35
|
-
i18n (~> 0.6)
|
36
|
-
multi_json (~> 1.0)
|
37
|
-
arel (3.0.2)
|
38
|
-
builder (3.0.0)
|
39
|
-
erubis (2.7.0)
|
40
|
-
hike (1.2.1)
|
41
|
-
i18n (0.6.0)
|
42
|
-
journey (1.0.3)
|
43
|
-
json (1.6.6)
|
44
|
-
mail (2.4.4)
|
45
|
-
i18n (>= 0.4.0)
|
46
|
-
mime-types (~> 1.16)
|
47
|
-
treetop (~> 1.4.8)
|
48
|
-
mime-types (1.18)
|
49
|
-
multi_json (1.2.0)
|
50
|
-
polyglot (0.3.3)
|
51
|
-
rack (1.4.1)
|
52
|
-
rack-cache (1.2)
|
53
|
-
rack (>= 0.4)
|
54
|
-
rack-ssl (1.3.2)
|
55
|
-
rack
|
56
|
-
rack-test (0.6.1)
|
57
|
-
rack (>= 1.0)
|
58
|
-
rails (3.2.3)
|
59
|
-
actionmailer (= 3.2.3)
|
60
|
-
actionpack (= 3.2.3)
|
61
|
-
activerecord (= 3.2.3)
|
62
|
-
activeresource (= 3.2.3)
|
63
|
-
activesupport (= 3.2.3)
|
64
|
-
bundler (~> 1.0)
|
65
|
-
railties (= 3.2.3)
|
66
|
-
railties (3.2.3)
|
67
|
-
actionpack (= 3.2.3)
|
68
|
-
activesupport (= 3.2.3)
|
69
|
-
rack-ssl (~> 1.3.2)
|
70
|
-
rake (>= 0.8.7)
|
71
|
-
rdoc (~> 3.4)
|
72
|
-
thor (~> 0.14.6)
|
73
|
-
rake (0.9.2.2)
|
74
|
-
rdoc (3.12)
|
75
|
-
json (~> 1.4)
|
76
|
-
shoulda (3.0.1)
|
77
|
-
shoulda-context (~> 1.0.0)
|
78
|
-
shoulda-matchers (~> 1.0.0)
|
79
|
-
shoulda-context (1.0.0)
|
80
|
-
shoulda-matchers (1.0.0)
|
81
|
-
sprockets (2.1.2)
|
82
|
-
hike (~> 1.2)
|
83
|
-
rack (~> 1.0)
|
84
|
-
tilt (~> 1.1, != 1.3.0)
|
85
|
-
thor (0.14.6)
|
86
|
-
tilt (1.3.3)
|
87
|
-
treetop (1.4.10)
|
88
|
-
polyglot
|
89
|
-
polyglot (>= 0.3.1)
|
90
|
-
tzinfo (0.3.33)
|
91
|
-
|
92
|
-
PLATFORMS
|
93
|
-
ruby
|
94
|
-
|
95
|
-
DEPENDENCIES
|
96
|
-
page_title_helper!
|
97
|
-
rake (>= 0.9.2)
|
98
|
-
shoulda
|
data/init.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'page_title_helper'
|