archiveable 0.0.3 → 0.0.5

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: 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