archiveable 0.0.3 → 0.0.5
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 +4 -4
- data/lib/archiveable/version.rb +1 -1
- data/lib/archiveable.rb +16 -0
- data/test/lib/archiveable_test.rb +35 -5
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13f645dd1e07f82c72b03fd09ae1bc2c3475c50b
|
4
|
+
data.tar.gz: 77c3d3ef675b4310dd0536c8acf1c177c06c355f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6aa150c3436c83d7f8716b21262f9790d0a663fb065dafd184863f4b3e2c94ebfab0ab353c9b0e37d6b59c07f1873325e4c0f0be29e9d77f9a09420e7c28f61
|
7
|
+
data.tar.gz: d0f9f9fbb10a0c2562240dc98de16394910338d956a0587784d5561fd86463678940843e2e71c736be185b6bdd2eb82d2726320c85b4982b0c489c53581b6cdf
|
data/lib/archiveable/version.rb
CHANGED
data/lib/archiveable.rb
CHANGED
@@ -25,4 +25,20 @@ module Archiveable
|
|
25
25
|
def archived=(value)
|
26
26
|
self.archived_at = value ? Time.now : nil
|
27
27
|
end
|
28
|
+
|
29
|
+
def archive
|
30
|
+
update archived: true
|
31
|
+
end
|
32
|
+
|
33
|
+
def archive!
|
34
|
+
update! archived: true
|
35
|
+
end
|
36
|
+
|
37
|
+
def publish
|
38
|
+
update archived: false
|
39
|
+
end
|
40
|
+
|
41
|
+
def publish!
|
42
|
+
update! archived: false
|
43
|
+
end
|
28
44
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative "../test_helper"
|
2
2
|
|
3
3
|
describe Archiveable do
|
4
|
-
class MockModel
|
4
|
+
class MockModel < MiniTest::Mock
|
5
5
|
def self.scopes
|
6
6
|
@scopes
|
7
7
|
end
|
@@ -15,6 +15,8 @@ describe Archiveable do
|
|
15
15
|
include Archiveable
|
16
16
|
end
|
17
17
|
|
18
|
+
subject { MockModel.new }
|
19
|
+
|
18
20
|
describe ".included" do
|
19
21
|
it "sets the published and archived scopes" do
|
20
22
|
MockModel.scopes.keys.must_equal [:published, :archived]
|
@@ -22,8 +24,6 @@ describe Archiveable do
|
|
22
24
|
end
|
23
25
|
|
24
26
|
describe ".archived" do
|
25
|
-
subject { MockModel.new }
|
26
|
-
|
27
27
|
it "returns true when there is an archived_at date" do
|
28
28
|
subject.archived_at = Time.now
|
29
29
|
subject.archived.must_equal true
|
@@ -49,8 +49,6 @@ describe Archiveable do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
describe ".published" do
|
52
|
-
subject { MockModel.new }
|
53
|
-
|
54
52
|
it "returns true when it is not archived" do
|
55
53
|
subject.archived = false
|
56
54
|
subject.published.must_equal true
|
@@ -66,4 +64,36 @@ describe Archiveable do
|
|
66
64
|
subject.archived.must_equal false
|
67
65
|
end
|
68
66
|
end
|
67
|
+
|
68
|
+
describe "#archive" do
|
69
|
+
it "updates the archived to true" do
|
70
|
+
subject.expect :update, true, [{archived: true}]
|
71
|
+
subject.archive
|
72
|
+
subject.verify
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe "#archive!" do
|
77
|
+
it "updates the archived to true" do
|
78
|
+
subject.expect :update!, true, [{archived: true}]
|
79
|
+
subject.archive!
|
80
|
+
subject.verify
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe "#publish" do
|
85
|
+
it "updates the archived to false" do
|
86
|
+
subject.expect :update, true, [{archived: false}]
|
87
|
+
subject.publish
|
88
|
+
subject.verify
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe "#publish!" do
|
93
|
+
it "updates the archived to false" do
|
94
|
+
subject.expect :update!, true, [{archived: false}]
|
95
|
+
subject.publish!
|
96
|
+
subject.verify
|
97
|
+
end
|
98
|
+
end
|
69
99
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: archiveable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JBailes
|
@@ -15,42 +15,42 @@ dependencies:
|
|
15
15
|
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 4.0.0
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ~>
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: 4.0.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: bundler
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ~>
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '1.5'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ~>
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '1.5'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rake
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - '>='
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '0'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
56
|
description: Archiveable concern for rails models
|
@@ -61,7 +61,7 @@ executables: []
|
|
61
61
|
extensions: []
|
62
62
|
extra_rdoc_files: []
|
63
63
|
files:
|
64
|
-
-
|
64
|
+
- .gitignore
|
65
65
|
- Gemfile
|
66
66
|
- LICENSE.txt
|
67
67
|
- README.md
|
@@ -81,17 +81,17 @@ require_paths:
|
|
81
81
|
- lib
|
82
82
|
required_ruby_version: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
|
-
- -
|
84
|
+
- - '>='
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '0'
|
87
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - '>='
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
93
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.
|
94
|
+
rubygems_version: 2.0.3
|
95
95
|
signing_key:
|
96
96
|
specification_version: 4
|
97
97
|
summary: Archiveable concern for rails models
|