page_title 0.0.1

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.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +77 -0
  8. data/Rakefile +6 -0
  9. data/lib/page_title.rb +48 -0
  10. data/lib/page_title/engine.rb +8 -0
  11. data/lib/page_title/helpers.rb +8 -0
  12. data/lib/page_title/version.rb +3 -0
  13. data/page_title.gemspec +25 -0
  14. data/spec/controllers/application_controller_spec.rb +85 -0
  15. data/spec/dummy/README.rdoc +28 -0
  16. data/spec/dummy/Rakefile +6 -0
  17. data/spec/dummy/app/assets/images/.keep +0 -0
  18. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  19. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  20. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  21. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  22. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  23. data/spec/dummy/app/mailers/.keep +0 -0
  24. data/spec/dummy/app/models/.keep +0 -0
  25. data/spec/dummy/app/models/concerns/.keep +0 -0
  26. data/spec/dummy/app/views/application/index.html.erb +0 -0
  27. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  28. data/spec/dummy/bin/bundle +3 -0
  29. data/spec/dummy/bin/rails +4 -0
  30. data/spec/dummy/bin/rake +4 -0
  31. data/spec/dummy/config.ru +4 -0
  32. data/spec/dummy/config/application.rb +13 -0
  33. data/spec/dummy/config/boot.rb +5 -0
  34. data/spec/dummy/config/database.yml +25 -0
  35. data/spec/dummy/config/environment.rb +5 -0
  36. data/spec/dummy/config/environments/development.rb +29 -0
  37. data/spec/dummy/config/environments/production.rb +80 -0
  38. data/spec/dummy/config/environments/test.rb +31 -0
  39. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  41. data/spec/dummy/config/initializers/inflections.rb +16 -0
  42. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  43. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  44. data/spec/dummy/config/initializers/session_store.rb +3 -0
  45. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  46. data/spec/dummy/config/locales/en.yml +23 -0
  47. data/spec/dummy/config/routes.rb +56 -0
  48. data/spec/dummy/lib/assets/.keep +0 -0
  49. data/spec/dummy/log/.keep +0 -0
  50. data/spec/dummy/log/test.log +81 -0
  51. data/spec/dummy/public/404.html +58 -0
  52. data/spec/dummy/public/422.html +58 -0
  53. data/spec/dummy/public/500.html +57 -0
  54. data/spec/dummy/public/favicon.ico +0 -0
  55. data/spec/page_title_spec.rb +32 -0
  56. data/spec/spec_helper.rb +16 -0
  57. data/spec/support/helpers.rb +35 -0
  58. metadata +228 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/404.html -->
52
+ <div class="dialog">
53
+ <h1>The page you were looking for doesn't exist.</h1>
54
+ <p>You may have mistyped the address or the page may have moved.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,32 @@
1
+ require "spec_helper"
2
+
3
+ describe PageTitle do
4
+ subject(:page_title) { PageTitle::Base.new(controller) }
5
+
6
+ context "simple controller name" do
7
+ set_controller "site", "index"
8
+ set_translations "titles.site.index" => "TITLE",
9
+ "titles.base" => "%{title}"
10
+
11
+ it { expect(page_title.to_s).to eql("TITLE") }
12
+ end
13
+
14
+ context "namespace controller name" do
15
+ set_controller "admin/site", "index"
16
+ set_translations "titles.admin.site.index" => "TITLE",
17
+ "titles.base" => "%{title}"
18
+
19
+ it { expect(page_title.to_s).to eql("TITLE") }
20
+ end
21
+
22
+ context "with placeholders" do
23
+ set_controller "site", "index"
24
+ set_translations "titles.site.index" => "%{sample}",
25
+ "titles.base" => "%{title}"
26
+
27
+ it {
28
+ page_title[:sample] = "TITLE"
29
+ expect(page_title.to_s).to eql("TITLE")
30
+ }
31
+ end
32
+ end
@@ -0,0 +1,16 @@
1
+ require "bundler/setup"
2
+ Bundler.setup
3
+
4
+ ENV["RAILS_ENV"] = "test"
5
+
6
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
7
+ require "rspec/rails"
8
+ require "rspec/autorun"
9
+ require "support/helpers"
10
+
11
+ require "page_title"
12
+ I18n.locale = :en
13
+
14
+ RSpec.configure do |config|
15
+ config.extend SpecHelper::ClassMethods
16
+ end
@@ -0,0 +1,35 @@
1
+ module SpecHelper
2
+ module ClassMethods
3
+ def set_controller(name, action_name)
4
+ let(:controller) {
5
+ double(controller_name: name, action_name: action_name)
6
+ }
7
+ end
8
+
9
+ def set_translations(scopes)
10
+ translations = {}
11
+
12
+ scopes.each do |scope, value|
13
+ *parts, last_scope = scope.split(".")
14
+ context = translations
15
+
16
+ while parts.any?
17
+ scope_name = parts.shift
18
+ context[scope_name] ||= {}
19
+ context = context[scope_name]
20
+ end
21
+
22
+ context[last_scope] = value
23
+ end
24
+
25
+ before do
26
+ I18n.backend.store_translations :en, translations
27
+ end
28
+
29
+ after do
30
+ I18n.reload!
31
+ I18n.backend.send :init_translations
32
+ end
33
+ end
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,228 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: page_title
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Nando Vieira
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-rails
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-meta
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Set the page title on Rails apps
98
+ email:
99
+ - fnando.vieira@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - .gitignore
105
+ - .rspec
106
+ - .travis.yml
107
+ - Gemfile
108
+ - LICENSE.txt
109
+ - README.md
110
+ - Rakefile
111
+ - lib/page_title.rb
112
+ - lib/page_title/engine.rb
113
+ - lib/page_title/helpers.rb
114
+ - lib/page_title/version.rb
115
+ - page_title.gemspec
116
+ - spec/controllers/application_controller_spec.rb
117
+ - spec/dummy/README.rdoc
118
+ - spec/dummy/Rakefile
119
+ - spec/dummy/app/assets/images/.keep
120
+ - spec/dummy/app/assets/javascripts/application.js
121
+ - spec/dummy/app/assets/stylesheets/application.css
122
+ - spec/dummy/app/controllers/application_controller.rb
123
+ - spec/dummy/app/controllers/concerns/.keep
124
+ - spec/dummy/app/helpers/application_helper.rb
125
+ - spec/dummy/app/mailers/.keep
126
+ - spec/dummy/app/models/.keep
127
+ - spec/dummy/app/models/concerns/.keep
128
+ - spec/dummy/app/views/application/index.html.erb
129
+ - spec/dummy/app/views/layouts/application.html.erb
130
+ - spec/dummy/bin/bundle
131
+ - spec/dummy/bin/rails
132
+ - spec/dummy/bin/rake
133
+ - spec/dummy/config.ru
134
+ - spec/dummy/config/application.rb
135
+ - spec/dummy/config/boot.rb
136
+ - spec/dummy/config/database.yml
137
+ - spec/dummy/config/environment.rb
138
+ - spec/dummy/config/environments/development.rb
139
+ - spec/dummy/config/environments/production.rb
140
+ - spec/dummy/config/environments/test.rb
141
+ - spec/dummy/config/initializers/backtrace_silencers.rb
142
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
143
+ - spec/dummy/config/initializers/inflections.rb
144
+ - spec/dummy/config/initializers/mime_types.rb
145
+ - spec/dummy/config/initializers/secret_token.rb
146
+ - spec/dummy/config/initializers/session_store.rb
147
+ - spec/dummy/config/initializers/wrap_parameters.rb
148
+ - spec/dummy/config/locales/en.yml
149
+ - spec/dummy/config/routes.rb
150
+ - spec/dummy/lib/assets/.keep
151
+ - spec/dummy/log/.keep
152
+ - spec/dummy/log/test.log
153
+ - spec/dummy/public/404.html
154
+ - spec/dummy/public/422.html
155
+ - spec/dummy/public/500.html
156
+ - spec/dummy/public/favicon.ico
157
+ - spec/page_title_spec.rb
158
+ - spec/spec_helper.rb
159
+ - spec/support/helpers.rb
160
+ homepage: http://github.com/fnando/page_title
161
+ licenses:
162
+ - MIT
163
+ metadata: {}
164
+ post_install_message:
165
+ rdoc_options: []
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ required_rubygems_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ requirements: []
179
+ rubyforge_project:
180
+ rubygems_version: 2.0.3
181
+ signing_key:
182
+ specification_version: 4
183
+ summary: Set the page title on Rails apps
184
+ test_files:
185
+ - spec/controllers/application_controller_spec.rb
186
+ - spec/dummy/README.rdoc
187
+ - spec/dummy/Rakefile
188
+ - spec/dummy/app/assets/images/.keep
189
+ - spec/dummy/app/assets/javascripts/application.js
190
+ - spec/dummy/app/assets/stylesheets/application.css
191
+ - spec/dummy/app/controllers/application_controller.rb
192
+ - spec/dummy/app/controllers/concerns/.keep
193
+ - spec/dummy/app/helpers/application_helper.rb
194
+ - spec/dummy/app/mailers/.keep
195
+ - spec/dummy/app/models/.keep
196
+ - spec/dummy/app/models/concerns/.keep
197
+ - spec/dummy/app/views/application/index.html.erb
198
+ - spec/dummy/app/views/layouts/application.html.erb
199
+ - spec/dummy/bin/bundle
200
+ - spec/dummy/bin/rails
201
+ - spec/dummy/bin/rake
202
+ - spec/dummy/config.ru
203
+ - spec/dummy/config/application.rb
204
+ - spec/dummy/config/boot.rb
205
+ - spec/dummy/config/database.yml
206
+ - spec/dummy/config/environment.rb
207
+ - spec/dummy/config/environments/development.rb
208
+ - spec/dummy/config/environments/production.rb
209
+ - spec/dummy/config/environments/test.rb
210
+ - spec/dummy/config/initializers/backtrace_silencers.rb
211
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
212
+ - spec/dummy/config/initializers/inflections.rb
213
+ - spec/dummy/config/initializers/mime_types.rb
214
+ - spec/dummy/config/initializers/secret_token.rb
215
+ - spec/dummy/config/initializers/session_store.rb
216
+ - spec/dummy/config/initializers/wrap_parameters.rb
217
+ - spec/dummy/config/locales/en.yml
218
+ - spec/dummy/config/routes.rb
219
+ - spec/dummy/lib/assets/.keep
220
+ - spec/dummy/log/.keep
221
+ - spec/dummy/log/test.log
222
+ - spec/dummy/public/404.html
223
+ - spec/dummy/public/422.html
224
+ - spec/dummy/public/500.html
225
+ - spec/dummy/public/favicon.ico
226
+ - spec/page_title_spec.rb
227
+ - spec/spec_helper.rb
228
+ - spec/support/helpers.rb