publishing_logic 0.2.0 → 0.3.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/.document +1 -1
- data/.gitignore +9 -23
- data/.rspec +2 -0
- data/.specification.example +34 -34
- data/.travis.yml +4 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/Gemfile +4 -0
- data/LICENSE +1 -1
- data/README.md +65 -0
- data/Rakefile +3 -49
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/generators/publishing_logic/fields_generator.rb +13 -0
- data/lib/generators/publishing_logic/templates/migration.erb +10 -0
- data/lib/locale/en.yml +9 -0
- data/lib/locale/hu.yml +9 -0
- data/lib/publishing_logic.rb +7 -1
- data/lib/publishing_logic/model_logic.rb +51 -0
- data/lib/publishing_logic/version.rb +3 -0
- data/publishing_logic.gemspec +29 -0
- metadata +114 -176
- data/README.rdoc +0 -29
- data/VERSION +0 -1
- data/lib/model_logic.rb +0 -82
- data/rails_generators/publishing_logic_fields/USAGE +0 -2
- data/rails_generators/publishing_logic_fields/publishing_logic_fields_generator.rb +0 -34
- data/rails_generators/publishing_logic_fields/templates/app/views/publishing_logic_fields.html.erb +0 -12
- data/rails_generators/publishing_logic_fields/templates/db/migrate/add_publishing_logic_fields.rb.erb +0 -18
- data/spec/general_model_logic.rb +0 -93
- data/spec/models_with_all_fields_spec.rb +0 -85
- data/spec/models_with_no_published_until_field_spec.rb +0 -68
- data/spec/spec.opts +0 -1
- data/spec/spec_helper.rb +0 -55
- data/spec/support/database_cleanliness.rb +0 -14
- data/spec/support/database_connection.rb +0 -4
- data/spec/support/database_migrations.rb +0 -56
- data/spec/support/factories.rb +0 -10
- data/spec/support/logging.rb +0 -2
- data/spec/support/models/article.rb +0 -3
- data/spec/support/models/programme.rb +0 -3
@@ -0,0 +1,51 @@
|
|
1
|
+
module PublishingLogic
|
2
|
+
module ModelLogic
|
3
|
+
def self.included(base)
|
4
|
+
base.class_eval do
|
5
|
+
validates_presence_of :published_at, if: :publishing_enabled?
|
6
|
+
validate :published_until_is_not_before_published_at
|
7
|
+
validate :publishing_until_in_future
|
8
|
+
|
9
|
+
# If objects have identical published_at values, order by created_at. If these are
|
10
|
+
# identical as well, then order by id. This is done to ensure there is a unique
|
11
|
+
# ordering of objects, ordering by newest and oldest should result in arrays that are
|
12
|
+
# the inverse of the other.
|
13
|
+
scope :by_publication_date_oldest_first, lambda {
|
14
|
+
order("#{base.table_name}.published_at ASC, #{base.table_name}.created_at ASC, #{base.table_name}.id ASC")
|
15
|
+
}
|
16
|
+
|
17
|
+
scope :by_publication_date_newest_first, lambda {
|
18
|
+
order("#{base.table_name}.published_at DESC, #{base.table_name}.created_at DESC, #{base.table_name}.id DESC")
|
19
|
+
}
|
20
|
+
|
21
|
+
scope :published, lambda { where("#{base.table_name}.publishing_enabled = ? AND \
|
22
|
+
(#{base.table_name}.published_until IS NULL or #{base.table_name}.published_until > ?) AND \
|
23
|
+
(#{base.table_name}.published_at IS NULL or #{base.table_name}.published_at < ?)",
|
24
|
+
true, Time.now.utc, Time.now.utc) } do
|
25
|
+
def newest
|
26
|
+
order("#{table_name}.published_at DESC").first
|
27
|
+
end
|
28
|
+
|
29
|
+
def oldest
|
30
|
+
order("#{table_name}.published_at DESC").last
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def published?
|
35
|
+
return false if published_at && Time.now < published_at
|
36
|
+
return false if published_until && Time.now > published_until
|
37
|
+
publishing_enabled?
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
def published_until_is_not_before_published_at
|
42
|
+
errors.add(:published_until, :must_be_before_publishing_at) if published_until.present? && published_at.present? && published_until < published_at
|
43
|
+
end
|
44
|
+
|
45
|
+
def publishing_until_in_future
|
46
|
+
errors.add(:published_until, :must_be_in_the_future) if published_until && !published_until.future?
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'publishing_logic/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "publishing_logic"
|
8
|
+
spec.version = PublishingLogic::VERSION
|
9
|
+
spec.authors = ["Unboxed Consulting", "Attila Györffy"]
|
10
|
+
spec.email = ["enquiries@unboxedconsulting.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{Publishing logic for ActiveRecord models}
|
13
|
+
spec.description = %q{Publishing logic for ActiveRecord models}
|
14
|
+
spec.homepage = "https://github.com/unboxed/publishing_logic"
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
+
spec.bindir = "exe"
|
19
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.add_dependency 'activerecord', ">= 3.0.0"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.11"
|
25
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
27
|
+
spec.add_development_dependency 'database_cleaner', ">= 0.5.0"
|
28
|
+
spec.add_development_dependency 'sqlite3'
|
29
|
+
end
|
metadata
CHANGED
@@ -1,211 +1,149 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: publishing_logic
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 0.2.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Unboxed Consulting
|
8
|
+
- Attila Györffy
|
14
9
|
autorequire:
|
15
|
-
bindir:
|
10
|
+
bindir: exe
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
prerelease: false
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
12
|
+
date: 2016-04-12 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: activerecord
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
27
18
|
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
31
|
-
- 1
|
32
|
-
- 2
|
33
|
-
- 9
|
34
|
-
version: 1.2.9
|
35
|
-
type: :development
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: cucumber
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 3.0.0
|
21
|
+
type: :runtime
|
39
22
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
requirements:
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
43
25
|
- - ">="
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 3.0.0
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.11'
|
49
35
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: rspec-rails
|
53
36
|
prerelease: false
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '1.11'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '10.0'
|
65
49
|
type: :development
|
66
|
-
version_requirements: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: factory_girl
|
69
50
|
prerelease: false
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '10.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rspec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '3.0'
|
81
63
|
type: :development
|
82
|
-
version_requirements: *id004
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: activesupport
|
85
64
|
prerelease: false
|
86
|
-
|
87
|
-
|
88
|
-
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '3.0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: database_cleaner
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
89
74
|
- - ">="
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
|
92
|
-
segments:
|
93
|
-
- 2
|
94
|
-
- 3
|
95
|
-
- 0
|
96
|
-
version: 2.3.0
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.5.0
|
97
77
|
type: :development
|
98
|
-
version_requirements: *id005
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
|
-
name: activerecord
|
101
78
|
prerelease: false
|
102
|
-
|
103
|
-
|
104
|
-
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 0.5.0
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: sqlite3
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
105
88
|
- - ">="
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
|
108
|
-
segments:
|
109
|
-
- 2
|
110
|
-
- 3
|
111
|
-
- 0
|
112
|
-
version: 2.3.0
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
113
91
|
type: :development
|
114
|
-
version_requirements: *id006
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: database_cleaner
|
117
92
|
prerelease: false
|
118
|
-
|
119
|
-
|
120
|
-
requirements:
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
121
95
|
- - ">="
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
|
124
|
-
segments:
|
125
|
-
- 0
|
126
|
-
- 5
|
127
|
-
- 0
|
128
|
-
version: 0.5.0
|
129
|
-
type: :development
|
130
|
-
version_requirements: *id007
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
131
98
|
description: Publishing logic for ActiveRecord models
|
132
|
-
email:
|
99
|
+
email:
|
100
|
+
- enquiries@unboxedconsulting.com
|
133
101
|
executables: []
|
134
|
-
|
135
102
|
extensions: []
|
136
|
-
|
137
|
-
|
138
|
-
-
|
139
|
-
-
|
140
|
-
|
141
|
-
- .
|
142
|
-
- .
|
143
|
-
- .
|
103
|
+
extra_rdoc_files: []
|
104
|
+
files:
|
105
|
+
- ".document"
|
106
|
+
- ".gitignore"
|
107
|
+
- ".rspec"
|
108
|
+
- ".specification.example"
|
109
|
+
- ".travis.yml"
|
110
|
+
- CODE_OF_CONDUCT.md
|
111
|
+
- Gemfile
|
144
112
|
- LICENSE
|
145
|
-
- README.
|
113
|
+
- README.md
|
146
114
|
- Rakefile
|
147
|
-
-
|
148
|
-
-
|
115
|
+
- bin/console
|
116
|
+
- bin/setup
|
117
|
+
- lib/generators/publishing_logic/fields_generator.rb
|
118
|
+
- lib/generators/publishing_logic/templates/migration.erb
|
119
|
+
- lib/locale/en.yml
|
120
|
+
- lib/locale/hu.yml
|
149
121
|
- lib/publishing_logic.rb
|
150
|
-
-
|
151
|
-
-
|
152
|
-
-
|
153
|
-
|
154
|
-
|
155
|
-
-
|
156
|
-
|
157
|
-
- spec/spec.opts
|
158
|
-
- spec/spec_helper.rb
|
159
|
-
- spec/support/database_cleanliness.rb
|
160
|
-
- spec/support/database_connection.rb
|
161
|
-
- spec/support/database_migrations.rb
|
162
|
-
- spec/support/factories.rb
|
163
|
-
- spec/support/logging.rb
|
164
|
-
- spec/support/models/article.rb
|
165
|
-
- spec/support/models/programme.rb
|
166
|
-
has_rdoc: true
|
167
|
-
homepage: http://github.com/unboxed/publishing_logic
|
168
|
-
licenses: []
|
169
|
-
|
122
|
+
- lib/publishing_logic/model_logic.rb
|
123
|
+
- lib/publishing_logic/version.rb
|
124
|
+
- publishing_logic.gemspec
|
125
|
+
homepage: https://github.com/unboxed/publishing_logic
|
126
|
+
licenses:
|
127
|
+
- MIT
|
128
|
+
metadata: {}
|
170
129
|
post_install_message:
|
171
|
-
rdoc_options:
|
172
|
-
|
173
|
-
require_paths:
|
130
|
+
rdoc_options: []
|
131
|
+
require_paths:
|
174
132
|
- lib
|
175
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
176
|
-
|
177
|
-
requirements:
|
133
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
178
135
|
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
version: "0"
|
184
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
|
-
requirements:
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
187
140
|
- - ">="
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
|
190
|
-
segments:
|
191
|
-
- 0
|
192
|
-
version: "0"
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
193
143
|
requirements: []
|
194
|
-
|
195
144
|
rubyforge_project:
|
196
|
-
rubygems_version:
|
145
|
+
rubygems_version: 2.4.5.1
|
197
146
|
signing_key:
|
198
|
-
specification_version:
|
147
|
+
specification_version: 4
|
199
148
|
summary: Publishing logic for ActiveRecord models
|
200
|
-
test_files:
|
201
|
-
- spec/general_model_logic.rb
|
202
|
-
- spec/models_with_all_fields_spec.rb
|
203
|
-
- spec/models_with_no_published_until_field_spec.rb
|
204
|
-
- spec/spec_helper.rb
|
205
|
-
- spec/support/database_cleanliness.rb
|
206
|
-
- spec/support/database_connection.rb
|
207
|
-
- spec/support/database_migrations.rb
|
208
|
-
- spec/support/factories.rb
|
209
|
-
- spec/support/logging.rb
|
210
|
-
- spec/support/models/article.rb
|
211
|
-
- spec/support/models/programme.rb
|
149
|
+
test_files: []
|
data/README.rdoc
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
= publishing_logic
|
2
|
-
|
3
|
-
Publishing logic for ActiveRecord models
|
4
|
-
* Generates a migration with fields required for publishing
|
5
|
-
logic. Fields are:
|
6
|
-
* publishing_enabled:boolean
|
7
|
-
* published_at:datetime
|
8
|
-
* published_until:datetime (optional)
|
9
|
-
* Defines logic on models that include PublishingLogic::ModelLogic
|
10
|
-
* published named scope
|
11
|
-
* published? method
|
12
|
-
* ordering by published_at
|
13
|
-
|
14
|
-
The source for this gem can be found on http://github.com/unboxed/publishing_logic
|
15
|
-
|
16
|
-
== Note on Patches/Pull Requests
|
17
|
-
|
18
|
-
* Fork the project.
|
19
|
-
* Make your feature addition or bug fix.
|
20
|
-
* Add tests for it. This is important so I don't break it in a
|
21
|
-
future version unintentionally.
|
22
|
-
* Commit, do not mess with rakefile, version, or history.
|
23
|
-
(if you want to have your own version, that is fine but
|
24
|
-
bump version in a commit by itself I can ignore when I pull)
|
25
|
-
* Send me a pull request. Bonus points for topic branches.
|
26
|
-
|
27
|
-
== Copyright
|
28
|
-
|
29
|
-
Copyright (c) 2009 Unboxed Consulting and Channel 5 Broadcasting Ltd. See LICENSE for details.
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.2.0
|
data/lib/model_logic.rb
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
module PublishingLogic
|
2
|
-
module ModelLogic
|
3
|
-
|
4
|
-
def self.included(base)
|
5
|
-
module_to_include = if base.column_names.include?('published_until')
|
6
|
-
WithPublishedUntilField
|
7
|
-
else
|
8
|
-
WithoutPublishedUntilField
|
9
|
-
end
|
10
|
-
base.class_eval do
|
11
|
-
# If objects have identical published_at values, order by created_at. If these are
|
12
|
-
# identical as well, then order by id. This is done to ensure there is a unique
|
13
|
-
# ordering of objects, ordering by newest and oldest should result in arrays that are
|
14
|
-
# the inverse of the other.
|
15
|
-
named_scope :by_publication_date_oldest_first, :order => "#{base.table_name}.published_at ASC, #{base.table_name}.created_at ASC, #{base.table_name}.id ASC"
|
16
|
-
named_scope :by_publication_date_newest_first, :order => "#{base.table_name}.published_at DESC, #{base.table_name}.created_at DESC, #{base.table_name}.id DESC"
|
17
|
-
|
18
|
-
include module_to_include
|
19
|
-
|
20
|
-
class << self
|
21
|
-
def by_date_oldest_first
|
22
|
-
::ActiveSupport::Deprecation.warn("by_date_oldest_first is deprecated and will be removed in the next version of this gem (use by_publication_date_oldest_first instead, it's more intention revealing).", caller)
|
23
|
-
by_publication_date_oldest_first
|
24
|
-
end
|
25
|
-
|
26
|
-
def by_date_newest_first
|
27
|
-
::ActiveSupport::Deprecation.warn("by_date_newest_first is deprecated and will be removed in the next version of this gem (use by_publication_date_newest_first instead, it's more intention revealing).", caller)
|
28
|
-
by_publication_date_newest_first
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
module WithoutPublishedUntilField
|
35
|
-
def self.included(base)
|
36
|
-
base.class_eval do
|
37
|
-
named_scope :published, lambda {{ :conditions => ["#{base.table_name}.publishing_enabled = ? AND \
|
38
|
-
(#{base.table_name}.published_at is null or #{base.table_name}.published_at < ?)",
|
39
|
-
true, Time.now.utc] }} do
|
40
|
-
def newest
|
41
|
-
find(:first, :order => "#{proxy_scope.table_name}.published_at DESC")
|
42
|
-
end
|
43
|
-
|
44
|
-
def oldest
|
45
|
-
find(:last, :order => "#{proxy_scope.table_name}.published_at DESC")
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def published?
|
50
|
-
return false if published_at && Time.now < published_at
|
51
|
-
publishing_enabled?
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
module WithPublishedUntilField
|
58
|
-
def self.included(base)
|
59
|
-
base.class_eval do
|
60
|
-
named_scope :published, lambda {{ :conditions => ["#{base.table_name}.publishing_enabled = ? AND \
|
61
|
-
(#{base.table_name}.published_until is null or #{base.table_name}.published_until > ?) AND \
|
62
|
-
(#{base.table_name}.published_at is null or #{base.table_name}.published_at < ?)",
|
63
|
-
true, Time.now.utc, Time.now.utc] }} do
|
64
|
-
def newest
|
65
|
-
find(:first, :order => "#{proxy_scope.table_name}.published_at DESC")
|
66
|
-
end
|
67
|
-
|
68
|
-
def oldest
|
69
|
-
find(:last, :order => "#{proxy_scope.table_name}.published_at DESC")
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def published?
|
74
|
-
return false if published_at && Time.now < published_at
|
75
|
-
return false if published_until && Time.now > published_until
|
76
|
-
publishing_enabled?
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|