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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29821dd12fad6910ab2bc6e9cfe5c282d0ad529f
4
- data.tar.gz: 09a29e1bc5e40684b711ff8640695942ef68cc76
3
+ metadata.gz: 13f645dd1e07f82c72b03fd09ae1bc2c3475c50b
4
+ data.tar.gz: 77c3d3ef675b4310dd0536c8acf1c177c06c355f
5
5
  SHA512:
6
- metadata.gz: f1db5456a51d250eaf5c30e8530f3505340ffa7420710253bd792a9b422ebbd61aa272471c69a101d37f37f1d0bb0662767ebaa1796aca5399f515afe08766c5
7
- data.tar.gz: c15267553261767433a3e80267a47a88379701b1d09ca65679c84fe2d2e7ead258088e7fa1eb583c8770122d9a90015d8286dc9cfdfeefad4ca44e5d6d0f8a10
6
+ metadata.gz: c6aa150c3436c83d7f8716b21262f9790d0a663fb065dafd184863f4b3e2c94ebfab0ab353c9b0e37d6b59c07f1873325e4c0f0be29e9d77f9a09420e7c28f61
7
+ data.tar.gz: d0f9f9fbb10a0c2562240dc98de16394910338d956a0587784d5561fd86463678940843e2e71c736be185b6bdd2eb82d2726320c85b4982b0c489c53581b6cdf
@@ -1,3 +1,3 @@
1
1
  module Archiveable
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.5"
3
3
  end
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.3
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
- - ".gitignore"
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.2.0
94
+ rubygems_version: 2.0.3
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: Archiveable concern for rails models