alchemy_cms 3.0.1 → 3.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 22899ddac5bccee25b1e3438bcec28374381edc6
4
- data.tar.gz: 92792959062f3873ff293a491a7c981e83ed2797
3
+ metadata.gz: 2bab31bb3ea923d47cdd096c29f4e389df529859
4
+ data.tar.gz: 72aba254bc066b4eb4f54dc1e8c40abdfca35278
5
5
  SHA512:
6
- metadata.gz: ec3084ada69925e12a6458ed3768d4f63e23c3b20def9ebe63543946b05ad3d4288fd040ef20c88fa2857a0c123daa8462ef2f87d2facaa8b78ff7dd4926eea7
7
- data.tar.gz: 8f0f74f54d0b903c5d02c445107ea8358927c5faa2ff4ab30ac37f0b1612f92ef63ed00d9b4bdbe6cb856200d43664e82754e4d197200a044fe84e797b8dc2c3
6
+ metadata.gz: 590ccca504b3fb42b370d11d2316fd2b748a71659d9294e13bf889fa6c47c260fd77fc0d613deac628c1d1cdc49e00af80aa7bdf9c95a496deba311b4582a10b
7
+ data.tar.gz: 6a220a27a0d560964e0be33eb649675187d3bc06c008779ef16cb2dac013698393abd6a174283a78992808243117ce23c087d9793a8a2400062a486e6bb3bd97
@@ -42,6 +42,7 @@ Gem::Specification.new do |gem|
42
42
  gem.add_runtime_dependency 'turbolinks', '~> 2.0'
43
43
  gem.add_runtime_dependency 'non-stupid-digest-assets', '~> 1.0.3'
44
44
  gem.add_runtime_dependency 'active_model_serializers', '>= 0.8.1', '< 0.10.0'
45
+ gem.add_runtime_dependency 'request_store', '~> 1.1.0'
45
46
 
46
47
  gem.add_development_dependency 'rspec-rails', '~> 2.0'
47
48
  gem.add_development_dependency 'capybara'
@@ -45,12 +45,12 @@ module Alchemy
45
45
 
46
46
  # Store the current language in the current thread.
47
47
  def current=(v)
48
- Thread.current[:alchemy_current_language] = v
48
+ RequestStore.store[:alchemy_current_language] = v
49
49
  end
50
50
 
51
51
  # Current language from current thread or default.
52
52
  def current
53
- Thread.current[:alchemy_current_language] || default
53
+ RequestStore.store[:alchemy_current_language] || default
54
54
  end
55
55
 
56
56
  # The root page of the current language.
@@ -84,6 +84,7 @@ module Alchemy
84
84
  before_save :set_language_code, if: -> { language.present? }, unless: :systempage?
85
85
  before_save :set_restrictions_to_child_pages, if: :restricted_changed?, unless: :systempage?
86
86
  before_save :inherit_restricted_status, if: -> { parent && parent.restricted? }, unless: :systempage?
87
+ before_save :update_published_at, if: -> { public && read_attribute(:published_at).nil? }, unless: :systempage?
87
88
  before_create :set_language_from_parent_or_default, if: -> { language_id.blank? }, unless: :systempage?
88
89
  after_update :create_legacy_url, if: :urlname_changed?, unless: :redirects_to_external?
89
90
 
@@ -104,13 +105,13 @@ module Alchemy
104
105
  # Used to store the current page previewed in the edit page template.
105
106
  #
106
107
  def current_preview=(page)
107
- Thread.current[:alchemy_current_preview] = page
108
+ RequestStore.store[:alchemy_current_preview] = page
108
109
  end
109
110
 
110
111
  # Returns the current page previewed in the edit page template.
111
112
  #
112
113
  def current_preview
113
- Thread.current[:alchemy_current_preview]
114
+ RequestStore.store[:alchemy_current_preview]
114
115
  end
115
116
 
116
117
  # @return the language root page for given language id.
@@ -392,5 +393,9 @@ module Alchemy
392
393
  legacy_urls.find_or_create_by(urlname: urlname_was)
393
394
  end
394
395
 
396
+ def update_published_at
397
+ self.published_at = Time.now
398
+ end
399
+
395
400
  end
396
401
  end
@@ -43,11 +43,11 @@ module Alchemy
43
43
 
44
44
  class << self
45
45
  def current=(v)
46
- Thread.current[:alchemy_current_site] = v
46
+ RequestStore.store[:alchemy_current_site] = v
47
47
  end
48
48
 
49
49
  def current
50
- Thread.current[:alchemy_current_site] || default
50
+ RequestStore.store[:alchemy_current_site] || default
51
51
  end
52
52
 
53
53
  def default
@@ -79,7 +79,7 @@ EOF
79
79
  <<-GITIGNORE
80
80
 
81
81
  # Ignore Alchemy uploads folder
82
- upload/*
82
+ uploads/*
83
83
 
84
84
  # Ignore sensitive data
85
85
  config/database.yml
@@ -12,6 +12,7 @@ require 'jquery-rails'
12
12
  require 'jquery-ui-rails'
13
13
  require 'kaminari'
14
14
  require 'non-stupid-digest-assets'
15
+ require 'request_store'
15
16
  require 'sass-rails'
16
17
  require 'sassy-buttons'
17
18
  require 'simple_form'
@@ -79,7 +80,7 @@ module Alchemy
79
80
  end
80
81
 
81
82
  initializer 'alchemy.non_digest_assets' do |app|
82
- NonStupidDigestAssets.whitelist = [/^tinymce\//]
83
+ NonStupidDigestAssets.whitelist += [/^tinymce\//]
83
84
  end
84
85
 
85
86
  config.after_initialize do
@@ -1,5 +1,5 @@
1
1
  module Alchemy
2
- VERSION = "3.0.1"
2
+ VERSION = "3.0.2"
3
3
 
4
4
  def self.version
5
5
  VERSION
@@ -180,6 +180,26 @@ module Alchemy
180
180
  page.legacy_urls.should be_empty
181
181
  end
182
182
  end
183
+
184
+ context "public has changed" do
185
+ it "should update published_at" do
186
+ page.update_attributes!(public: true)
187
+ page.read_attribute(:published_at).should be_within(1.second).of(Time.now)
188
+ end
189
+
190
+ it "should not update already set published_at" do
191
+ page.update_attributes!(published_at: 2.weeks.ago)
192
+ page.update_attributes!(public: true)
193
+ page.read_attribute(:published_at).should be_within(1.second).of(2.weeks.ago)
194
+ end
195
+ end
196
+
197
+ context "public has not changed" do
198
+ it "should not update published_at" do
199
+ page.update_attributes!(name: 'New Name')
200
+ page.read_attribute(:published_at).should be_nil
201
+ end
202
+ end
183
203
  end
184
204
 
185
205
  context 'after_move' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-09-11 00:00:00.000000000 Z
15
+ date: 2014-09-30 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rails
@@ -348,6 +348,20 @@ dependencies:
348
348
  - - "<"
349
349
  - !ruby/object:Gem::Version
350
350
  version: 0.10.0
351
+ - !ruby/object:Gem::Dependency
352
+ name: request_store
353
+ requirement: !ruby/object:Gem::Requirement
354
+ requirements:
355
+ - - "~>"
356
+ - !ruby/object:Gem::Version
357
+ version: 1.1.0
358
+ type: :runtime
359
+ prerelease: false
360
+ version_requirements: !ruby/object:Gem::Requirement
361
+ requirements:
362
+ - - "~>"
363
+ - !ruby/object:Gem::Version
364
+ version: 1.1.0
351
365
  - !ruby/object:Gem::Dependency
352
366
  name: rspec-rails
353
367
  requirement: !ruby/object:Gem::Requirement