static_content 2.0.0 → 2.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.
- checksums.yaml +7 -0
- data/README.md +13 -18
- data/Rakefile +1 -0
- data/app/helpers/static_content/content_helper.rb +14 -0
- data/app/models/static_content/content.rb +32 -0
- data/db/migrate/20130927193859_create_static_content_contents.rb +10 -0
- data/lib/static_content/engine.rb +9 -0
- data/lib/static_content/version.rb +1 -1
- metadata +42 -44
- data/app/helpers/content_helper.rb +0 -12
- data/app/models/content.rb +0 -33
- data/db/migrate/20120705141451_create_contents.rb +0 -10
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9b96b29f32e5ec682af8ef897b4946e0e45672d4
|
4
|
+
data.tar.gz: da75498713b5be45fe10a6edd40e1890916adf88
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: aa11dbfffa985a41e41471588c52165d985ae6501df659e19aa57b037c99773d53f9aeadce1402d11ded41028e6cfa83e4150e3b9387dc96b6c20b02e3a62ee3
|
7
|
+
data.tar.gz: 29824092fca7e251b4c11a57002ebb108dd46c00c588b37d8083b4abd0b0d73057741c8d8b8d9b5942e10c8c9307c8c03acfd9f1950ed8119a126040961bf81c
|
data/README.md
CHANGED
@@ -31,21 +31,9 @@ After install the gem, you just need run the install generator:
|
|
31
31
|
|
32
32
|
The content we create can be normal text or a markdown. Let`s see the way we can create a content.
|
33
33
|
|
34
|
-
|
34
|
+
Use the `StaticContent::Content.from_slug` like:
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
Content.create({slug: :about_title, text: "My awesome about page"}, as: :admin)
|
39
|
-
|
40
|
-
special attention to the `as: :admin`, the fields is only acessible to `admin`.
|
41
|
-
|
42
|
-
This is intended to be used with admin panels such as Typus or ActiveAdmin.
|
43
|
-
|
44
|
-
#### The better way
|
45
|
-
|
46
|
-
The better way is to use the `Content.from_slug` like:
|
47
|
-
|
48
|
-
Content.from_slug(:about_title, default: "My awesome about page")
|
36
|
+
StaticContent::Content.from_slug(:about_title, default: "My awesome about page")
|
49
37
|
|
50
38
|
as this uses `find_or_initialize`, if is a new `slug` its create, if a old one its only return the value not raising a error.
|
51
39
|
|
@@ -85,10 +73,6 @@ no change the value as
|
|
85
73
|
|
86
74
|
Please note that a `default` option is required. If it hasn't been created, it will be created upon the first request.
|
87
75
|
|
88
|
-
## Warning
|
89
|
-
|
90
|
-
Static Content generates a model [`Content`](https://github.com/Helabs/static_content/blob/master/app/models/content.rb) and a table [`contents`](https://github.com/Helabs/static_content/blob/master/db/migrate/20120705141451_create_contents.rb), so your app should not contain this model and table.
|
91
|
-
|
92
76
|
## Versioning
|
93
77
|
|
94
78
|
Static Content follow the [Semantic Versioning](http://semver.org/).
|
@@ -101,6 +85,17 @@ If you have problems, please create a [Github Issue](https://github.com/Helabs/s
|
|
101
85
|
|
102
86
|
Please see [CONTRIBUTING.md](https://github.com/Helabs/static_content/blob/master/CONTRIBUTING.md) for details.
|
103
87
|
|
88
|
+
## Release
|
89
|
+
|
90
|
+
Follow this steps to release a new version of the gem.
|
91
|
+
|
92
|
+
1. Test if everything is running ok;
|
93
|
+
1. Change version of the gem on `VERSION` constant;
|
94
|
+
1. Add the release date on the `CHANGELOG`;
|
95
|
+
1. Do a commit "Bump version x.x.x", follow the semantic version;
|
96
|
+
1. Run `$ rake release`, this will send the gem to the rubygems;
|
97
|
+
1. Check if the gem is on the rubygems and the tags are correct on the github;
|
98
|
+
|
104
99
|
## Credits
|
105
100
|
|
106
101
|
Static Content is maintained and funded by [HE:labs](http://helabs.com.br/opensource/).
|
data/Rakefile
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
module StaticContent
|
2
|
+
module ContentHelper
|
3
|
+
|
4
|
+
def content(*args)
|
5
|
+
StaticContent::Content.from_slug(*args).parsed_text
|
6
|
+
end
|
7
|
+
alias :c :content
|
8
|
+
|
9
|
+
def raw_content(*args)
|
10
|
+
StaticContent::Content.from_slug(*args).raw_text
|
11
|
+
end
|
12
|
+
alias :rc :raw_content
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'rdiscount' #TODO: Fix this stupid require statement.
|
2
|
+
module StaticContent
|
3
|
+
class Content < ActiveRecord::Base
|
4
|
+
|
5
|
+
validates :slug, :text, presence: true
|
6
|
+
validates :slug, uniqueness: true
|
7
|
+
|
8
|
+
def self.from_slug(slug, options={})
|
9
|
+
raise ArgumentError.new("You must provide a default text for a content.") if options[:default].nil?
|
10
|
+
where(slug: slug).first_or_initialize.tap do |content|
|
11
|
+
if content.new_record?
|
12
|
+
content.text = options[:default]
|
13
|
+
content.save
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def parsed_text
|
19
|
+
markdown.to_html.html_safe
|
20
|
+
end
|
21
|
+
|
22
|
+
def raw_text
|
23
|
+
text.html_safe
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def markdown
|
29
|
+
@content ||= RDiscount.new(text)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -1,5 +1,14 @@
|
|
1
1
|
module StaticContent
|
2
2
|
class Engine < ::Rails::Engine
|
3
|
+
isolate_namespace StaticContent
|
3
4
|
engine_name "static_content"
|
5
|
+
|
6
|
+
initializer 'static_content.action_controller' do |app|
|
7
|
+
ActiveSupport.on_load :action_controller do
|
8
|
+
ActionView::Base.send :include, StaticContent::ContentHelper
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
|
4
13
|
end
|
5
14
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: static_content
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Pedro Nascimento
|
@@ -12,28 +11,31 @@ authors:
|
|
12
11
|
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date:
|
14
|
+
date: 2014-01-31 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: rails
|
19
18
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
19
|
requirements:
|
22
|
-
- -
|
20
|
+
- - '>='
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: 3.2.6
|
23
|
+
- - <
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '5'
|
25
26
|
type: :runtime
|
26
27
|
prerelease: false
|
27
28
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 3.2.6
|
33
|
+
- - <
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '5'
|
33
36
|
- !ruby/object:Gem::Dependency
|
34
37
|
name: rdiscount
|
35
38
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
39
|
requirements:
|
38
40
|
- - ~>
|
39
41
|
- !ruby/object:Gem::Version
|
@@ -41,7 +43,6 @@ dependencies:
|
|
41
43
|
type: :runtime
|
42
44
|
prerelease: false
|
43
45
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
46
|
requirements:
|
46
47
|
- - ~>
|
47
48
|
- !ruby/object:Gem::Version
|
@@ -49,81 +50,85 @@ dependencies:
|
|
49
50
|
- !ruby/object:Gem::Dependency
|
50
51
|
name: sqlite3
|
51
52
|
requirement: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - '>='
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '0'
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
60
|
requirements:
|
62
|
-
- -
|
61
|
+
- - '>='
|
63
62
|
- !ruby/object:Gem::Version
|
64
63
|
version: '0'
|
65
64
|
- !ruby/object:Gem::Dependency
|
66
65
|
name: coveralls
|
67
66
|
requirement: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
67
|
requirements:
|
70
|
-
- -
|
68
|
+
- - '>='
|
71
69
|
- !ruby/object:Gem::Version
|
72
70
|
version: '0'
|
73
71
|
type: :development
|
74
72
|
prerelease: false
|
75
73
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
74
|
requirements:
|
78
|
-
- -
|
75
|
+
- - '>='
|
79
76
|
- !ruby/object:Gem::Version
|
80
77
|
version: '0'
|
81
78
|
- !ruby/object:Gem::Dependency
|
82
79
|
name: rspec-rails
|
83
80
|
requirement: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
81
|
requirements:
|
86
|
-
- -
|
82
|
+
- - '>='
|
87
83
|
- !ruby/object:Gem::Version
|
88
84
|
version: '0'
|
89
85
|
type: :development
|
90
86
|
prerelease: false
|
91
87
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
88
|
requirements:
|
94
|
-
- -
|
89
|
+
- - '>='
|
95
90
|
- !ruby/object:Gem::Version
|
96
91
|
version: '0'
|
97
92
|
- !ruby/object:Gem::Dependency
|
98
93
|
name: factory_girl_rails
|
99
94
|
requirement: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
95
|
requirements:
|
102
|
-
- -
|
96
|
+
- - '>='
|
103
97
|
- !ruby/object:Gem::Version
|
104
98
|
version: '0'
|
105
99
|
type: :development
|
106
100
|
prerelease: false
|
107
101
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
102
|
requirements:
|
110
|
-
- -
|
103
|
+
- - '>='
|
111
104
|
- !ruby/object:Gem::Version
|
112
105
|
version: '0'
|
113
106
|
- !ruby/object:Gem::Dependency
|
114
107
|
name: shoulda-matchers
|
115
108
|
requirement: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
109
|
requirements:
|
118
|
-
- -
|
110
|
+
- - '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
type: :development
|
114
|
+
prerelease: false
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - '>='
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
name: appraisal
|
122
|
+
requirement: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - '>='
|
119
125
|
- !ruby/object:Gem::Version
|
120
126
|
version: '0'
|
121
127
|
type: :development
|
122
128
|
prerelease: false
|
123
129
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
130
|
requirements:
|
126
|
-
- -
|
131
|
+
- - '>='
|
127
132
|
- !ruby/object:Gem::Version
|
128
133
|
version: '0'
|
129
134
|
description: static_content provides a simple way of outputting static content in
|
@@ -134,10 +139,10 @@ executables: []
|
|
134
139
|
extensions: []
|
135
140
|
extra_rdoc_files: []
|
136
141
|
files:
|
137
|
-
- app/helpers/content_helper.rb
|
138
|
-
- app/models/content.rb
|
142
|
+
- app/helpers/static_content/content_helper.rb
|
143
|
+
- app/models/static_content/content.rb
|
139
144
|
- config/routes.rb
|
140
|
-
- db/migrate/
|
145
|
+
- db/migrate/20130927193859_create_static_content_contents.rb
|
141
146
|
- lib/generators/static_content/install/install_generator.rb
|
142
147
|
- lib/static_content/engine.rb
|
143
148
|
- lib/static_content/version.rb
|
@@ -148,33 +153,26 @@ files:
|
|
148
153
|
- README.md
|
149
154
|
homepage: https://github.com/Helabs/static_content
|
150
155
|
licenses: []
|
156
|
+
metadata: {}
|
151
157
|
post_install_message:
|
152
158
|
rdoc_options: []
|
153
159
|
require_paths:
|
154
160
|
- lib
|
155
161
|
required_ruby_version: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
162
|
requirements:
|
158
|
-
- -
|
163
|
+
- - '>='
|
159
164
|
- !ruby/object:Gem::Version
|
160
165
|
version: '0'
|
161
|
-
segments:
|
162
|
-
- 0
|
163
|
-
hash: -4120352764059079523
|
164
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
167
|
requirements:
|
167
|
-
- -
|
168
|
+
- - '>='
|
168
169
|
- !ruby/object:Gem::Version
|
169
170
|
version: '0'
|
170
|
-
segments:
|
171
|
-
- 0
|
172
|
-
hash: -4120352764059079523
|
173
171
|
requirements: []
|
174
172
|
rubyforge_project:
|
175
|
-
rubygems_version:
|
173
|
+
rubygems_version: 2.0.3
|
176
174
|
signing_key:
|
177
|
-
specification_version:
|
175
|
+
specification_version: 4
|
178
176
|
summary: static_content provides a simple way of outputting static content in your
|
179
177
|
app.
|
180
178
|
test_files: []
|
data/app/models/content.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'rdiscount' #TODO: Fix this stupid require statement.
|
2
|
-
class Content < ActiveRecord::Base
|
3
|
-
|
4
|
-
attr_accessible :slug, :text, as: :admin
|
5
|
-
|
6
|
-
validates :slug, :text, presence: true
|
7
|
-
validates :slug, uniqueness: true
|
8
|
-
|
9
|
-
def self.from_slug(slug, options={})
|
10
|
-
raise ArgumentError.new("You must provide a default text for a content.") if options[:default].nil?
|
11
|
-
find_or_initialize_by_slug(slug).tap do |content|
|
12
|
-
if content.new_record?
|
13
|
-
content.text = options[:default]
|
14
|
-
content.save
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def parsed_text
|
20
|
-
markdown.to_html.html_safe
|
21
|
-
end
|
22
|
-
|
23
|
-
def raw_text
|
24
|
-
text.html_safe
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def markdown
|
30
|
-
@content ||= RDiscount.new(text)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|