acts_as_published 0.0.9.pre → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62135febf2b68a9f24c1ca264df51f31fb7fd064
4
- data.tar.gz: 528e407103d7827f6f9b8e049bd42bb39c458826
3
+ metadata.gz: a035af6fcf73fb14c6e3eea6debb278dcb119be0
4
+ data.tar.gz: 838c9ae5de0b52ad22c27d4762cacaa701074efb
5
5
  SHA512:
6
- metadata.gz: 643159352e234be159f0fa6c918600a855d4ba5385e821a95807272b8c3b242a4e4a821e1cc6fd5bc743e1bea5de142cdc38db66d89fcff768b4da7874f5dac8
7
- data.tar.gz: 559017e7455cbd83cb40da9461b018f9e34d6f5534e922ec6b9546d574a15cdf759ad96ed05ea91dee3c218f54bd65211f59499d37148d41eb56b6e8dfd580d7
6
+ metadata.gz: 8ec754ed2b60dc7ee7281227ece1d789604dc8155dd2948c108cac6f2218396d5d5d23b6e22e828db007cda039617c1cb01a781c6eb4fc33e1c51a889fb1fc41
7
+ data.tar.gz: 876286b75d5d3251ffed168ac32cfc1db7918c18895782aacdde61bd444679963e91b36e1b6642e0128410c086354f7b49c40c34804a3569208a06d68a656629
data/README.rdoc CHANGED
@@ -18,14 +18,43 @@ You need a published_at:timestamp column
18
18
 
19
19
  In your model:
20
20
 
21
- class Post < ActiveRecord::Base
22
- # acts as published
23
- include ActsAsPublished::ActiveRecord
24
- acts_as_published
21
+ class Post < ActiveRecord::Base
22
+ # acts as published
23
+ include ActsAsPublished::ActiveRecord
24
+ acts_as_published
25
+
26
+ # ...
27
+ end
28
+
29
+ == ActiveAdmin integration
30
+
31
+ ActiveAdmin.register Post do
32
+ form do |f|
33
+ f.inputs do
34
+ f.input :title
35
+ # ...
36
+ f.input :published, :as => :boolean
37
+ # ...
38
+ end
39
+ end
40
+
41
+ index do
42
+ column :title
43
+ # ...
44
+ acts_as_published_columns
45
+ # ...
46
+ end
47
+
48
+ show do
49
+ attributes_table do
50
+ row :title
51
+ # ...
52
+ acts_as_published_rows
53
+ # ...
54
+ end
55
+ end
56
+ end if defined?(ActiveAdmin)
25
57
 
26
- # ...
27
- end
28
-
29
58
  == Scopes
30
59
 
31
60
  You get following scopes:
data/Rakefile CHANGED
@@ -36,3 +36,5 @@ end
36
36
 
37
37
 
38
38
  task :default => :test
39
+
40
+ require 'rails/dummy/tasks'
@@ -1,4 +1,9 @@
1
1
  de:
2
+ active_admin:
3
+ scopes:
4
+ all: Alle
5
+ published: Veröffentlicht
6
+ unpublished: Nicht veröffentlicht
2
7
  acts_as_published:
3
8
  actions:
4
9
  publish: Veröffentlichen
@@ -1,4 +1,9 @@
1
1
  en:
2
+ active_admin:
3
+ scopes:
4
+ all: All
5
+ published: Published
6
+ unpublished: Not published
2
7
  acts_as_published:
3
8
  actions:
4
9
  publish: Publish
@@ -1,42 +1,42 @@
1
1
  module ActsAsPublished
2
2
  module ActiveAdminHelper
3
3
  def acts_as_published_actions
4
- action_item :only => :show do
4
+ action_item :publish, :only => :show do
5
5
  if resource.published?
6
- link_to I18n.t('acts_as_published.actions.unpublish'), self.send(:"toggle_published_#{active_admin_config.namespace.name}_#{resource.class.model_name.underscore.gsub("/", "_")}_path", resource)
6
+ link_to I18n.t('acts_as_published.actions.unpublish'), self.send(:"toggle_published_#{active_admin_config.namespace.name}_#{resource.class.model_name.to_s.underscore.gsub("/", "_")}_path", resource)
7
7
  else
8
- link_to I18n.t('acts_as_published.actions.publish'), self.send(:"toggle_published_#{active_admin_config.namespace.name}_#{resource.class.model_name.underscore.gsub("/", "_")}_path", resource)
8
+ link_to I18n.t('acts_as_published.actions.publish'), self.send(:"toggle_published_#{active_admin_config.namespace.name}_#{resource.class.model_name.to_s.underscore.gsub("/", "_")}_path", resource)
9
9
  end
10
10
  end
11
-
11
+
12
12
  batch_action :toggle_published do |selection|
13
13
  active_admin_config.resource_class.find(selection).each do |item|
14
14
  item.toggle_published!
15
15
  end
16
16
  redirect_to :back
17
- end
18
-
17
+ end
18
+
19
19
  member_action :toggle_published do
20
- resource.toggle_published!
20
+ resource.toggle_published!
21
21
  if resource.published?
22
22
  redirect_to :back, :notice => I18n.t('acts_as_published.notices.published', :name => resource )
23
23
  else
24
24
  redirect_to :back, :notice => I18n.t('acts_as_published.notices.unpublished', :name => resource )
25
- end
26
- end
25
+ end
26
+ end
27
27
  end
28
-
28
+
29
29
  def acts_as_published_columns
30
30
  column :published do |resource|
31
31
  I18n.t(resource.published.to_s)
32
32
  end
33
33
  end
34
-
34
+
35
35
  def acts_as_published_rows
36
36
  row :published do |resource|
37
37
  I18n.t(resource.published.to_s)
38
38
  end
39
39
  row :published_at
40
- end
40
+ end
41
41
  end
42
- end
42
+ end
@@ -4,55 +4,61 @@ module ActsAsPublished
4
4
  klass.class_eval do
5
5
  extend ClassMethods
6
6
  include InstanceMethods
7
- end
8
- end
9
-
7
+ end
8
+ end
9
+
10
10
  module ClassMethods
11
11
  def acts_as_published
12
- attr_accessible :published # , :published_at
13
-
12
+ attr_accessible :published if Rails.version < '4'
13
+
14
14
  def published
15
15
  t = self.arel_table
16
16
  where(t[:published_at].not_eq(nil))
17
17
  end
18
-
18
+
19
19
  def unpublished
20
20
  t = self.arel_table
21
21
  where(t[:published_at].eq(nil))
22
22
  end
23
23
  end
24
24
  end
25
-
25
+
26
26
  module InstanceMethods
27
27
  def published
28
28
  !!self.published_at
29
- end
29
+ end
30
30
  alias :published? :published
31
-
31
+
32
32
  def published=(published)
33
- if ::ActiveRecord::ConnectionAdapters::Column.value_to_boolean(published)
34
- self.published_at = Time.zone.now # .to_date
35
- # write_attribute(:published_at, Time.zone.now) # .to_date
33
+ if Rails.version < '4.2'
34
+ boolean_published = ::ActiveRecord::ConnectionAdapters::Column.value_to_boolean(published)
36
35
  else
37
- self.published_at = nil
38
- # write_attribute(:published_at, nil)
36
+ boolean_published = ::ActiveRecord::Type::Boolean.new.type_cast_from_user(published)
39
37
  end
38
+ self.published_at = boolean_published ? Time.zone.now : nil
40
39
  end
41
-
40
+
42
41
  def toggle_published
43
42
  if self.published_at.nil?
44
- self.published_at = Time.zone.now # .to_date
45
- # write_attribute(:published_at, Time.zone.now) # .to_date
43
+ self.published_at = Time.zone.now
46
44
  else
47
45
  self.published_at = nil
48
- # write_attribute(:published_at, nil)
49
- end
46
+ end
50
47
  end
51
-
48
+
52
49
  def toggle_published!
53
50
  toggle_published
54
51
  save!
55
- end
52
+ end
53
+
54
+ def publish
55
+ self.published = true
56
+ end
57
+
58
+ def unpublish
59
+ self.published = false
60
+ end
56
61
  end
57
62
  end
58
- end
63
+ end
64
+
@@ -1,4 +1,8 @@
1
1
  module ActsAsPublished
2
2
  class Engine < ::Rails::Engine
3
+ config.generators do |g|
4
+ g.test_framework :rspec
5
+ g.fixture_replacement :factory_girl, :dir => 'spec/factories'
6
+ end
3
7
  end
4
- end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module ActsAsPublished
2
- VERSION = '0.0.9.pre'
3
- end
2
+ VERSION = '1.0.1'
3
+ end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_published
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9.pre
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-13 00:00:00.000000000 Z
11
+ date: 2015-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.0
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: 3.2.7
22
+ version: 5.0.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: 3.2.7
29
+ version: 3.2.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 5.0.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: sqlite3
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +44,20 @@ dependencies:
38
44
  - - ">="
39
45
  - !ruby/object:Gem::Version
40
46
  version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rails-dummy
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
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: thin
43
63
  requirement: !ruby/object:Gem::Requirement
@@ -112,32 +132,32 @@ dependencies:
112
132
  name: rspec-rails
113
133
  requirement: !ruby/object:Gem::Requirement
114
134
  requirements:
115
- - - "~>"
135
+ - - ">="
116
136
  - !ruby/object:Gem::Version
117
- version: '2.0'
137
+ version: '0'
118
138
  type: :development
119
139
  prerelease: false
120
140
  version_requirements: !ruby/object:Gem::Requirement
121
141
  requirements:
122
- - - "~>"
142
+ - - ">="
123
143
  - !ruby/object:Gem::Version
124
- version: '2.0'
144
+ version: '0'
125
145
  - !ruby/object:Gem::Dependency
126
146
  name: factory_girl_rails
127
147
  requirement: !ruby/object:Gem::Requirement
128
148
  requirements:
129
- - - "~>"
149
+ - - ">="
130
150
  - !ruby/object:Gem::Version
131
- version: '1.0'
151
+ version: '0'
132
152
  type: :development
133
153
  prerelease: false
134
154
  version_requirements: !ruby/object:Gem::Requirement
135
155
  requirements:
136
- - - "~>"
156
+ - - ">="
137
157
  - !ruby/object:Gem::Version
138
- version: '1.0'
158
+ version: '0'
139
159
  - !ruby/object:Gem::Dependency
140
- name: ffaker
160
+ name: guard-rails
141
161
  requirement: !ruby/object:Gem::Requirement
142
162
  requirements:
143
163
  - - ">="
@@ -192,20 +212,6 @@ dependencies:
192
212
  - - ">="
193
213
  - !ruby/object:Gem::Version
194
214
  version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: forgery
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - '='
200
- - !ruby/object:Gem::Version
201
- version: 0.5.0
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - '='
207
- - !ruby/object:Gem::Version
208
- version: 0.5.0
209
215
  description: Acts as published beahviour for active record models.
210
216
  email:
211
217
  - roberto@vasquez-angel.de
@@ -237,13 +243,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
237
243
  version: '0'
238
244
  required_rubygems_version: !ruby/object:Gem::Requirement
239
245
  requirements:
240
- - - ">"
246
+ - - ">="
241
247
  - !ruby/object:Gem::Version
242
- version: 1.3.1
248
+ version: '0'
243
249
  requirements: []
244
250
  rubyforge_project:
245
- rubygems_version: 2.2.2
251
+ rubygems_version: 2.4.8
246
252
  signing_key:
247
253
  specification_version: 4
248
254
  summary: Acts as published beahviour for active record models.
249
255
  test_files: []
256
+ has_rdoc: