publishable 1.0.2 → 1.0.3

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.
@@ -1,8 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 1.8.7
4
- - 1.9.2
5
4
  - 1.9.3
6
- - rbx-19mode
7
- - ruby-head
8
- - ree
5
+ - 2.0.0
6
+ - 2.1.1
data/Gemfile CHANGED
@@ -34,10 +34,4 @@ group :test do
34
34
 
35
35
  # Test time-dependent functionality
36
36
  gem 'timecop'
37
-
38
- if RUBY_VERSION > '1.9'
39
- gem "simplecov", :require => false
40
- else
41
- gem "rcov", ">= 0"
42
- end
43
37
  end
@@ -29,7 +29,6 @@ GEM
29
29
  json (1.7.7)
30
30
  multi_json (1.6.1)
31
31
  rake (10.0.3)
32
- rcov (1.0.0)
33
32
  rdoc (3.12.1)
34
33
  json (~> 1.4)
35
34
  rspec (2.8.0)
@@ -53,7 +52,6 @@ DEPENDENCIES
53
52
  bundler (~> 1.0)
54
53
  ffaker
55
54
  jeweler (~> 1.8.4)
56
- rcov
57
55
  rdoc (~> 3.12)
58
56
  rspec (~> 2.8.0)
59
57
  timecop
@@ -1,5 +1,6 @@
1
- Copyright (c) 2010 Martin Linkhorst
2
- Copyright (c) 2013 тιηуηυмвєяѕ
1
+ Copyright (c) 2010-2014 Martin Linkhorst
2
+ Copyright (c) 2013-2014 тιηуηυмвєяѕ
3
+ Copyright (c) 2013-2014 Andrew Janssen
3
4
 
4
5
  Permission is hereby granted, free of charge, to any person obtaining
5
6
  a copy of this software and associated documentation files (the
@@ -52,7 +52,8 @@ Or install it yourself as:
52
52
  end
53
53
 
54
54
  The column name used by *publishable* can be specified via the +:on+ option. The default used (if +:on+
55
- is not specified) is +:published+.
55
+ is not specified) is +:published+. If publishing via a Boolean column, be sure to add a default value to
56
+ the column in the migration— otherwise existing models will be neither published nor unpublished.
56
57
 
57
58
  == Usage
58
59
 
@@ -82,6 +83,7 @@ is not specified) is +:published+.
82
83
 
83
84
  == Copyright
84
85
 
85
- Copyright (c) 2010 Martin Linkhorst, released under the MIT license.
86
- Copyright (c) 2013 тιηуηυмвєяѕ. See LICENSE.txt for further details.
86
+ Copyright (c) 2010-2014 Martin Linkhorst, released under the MIT license.
87
+ Copyright (c) 2013-2014 тιηуηυмвєяѕ. See LICENSE.txt for further details.
88
+ Copyright (c) 2013-2014 Andrew Janssen. See LICENSE.txt for further details.
87
89
 
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ begin
21
21
  gem.description = 'Provides methods to publish and unpublish your active record models based on a boolean flag, a date, or a datetime. Also adds named scopes to nicely filter your records. Does not touch any controller or views.'
22
22
  gem.email = ['m.linkhorst@googlemail.com', 'info@tinynumbers.com']
23
23
  gem.homepage = 'http://github.com/linki/publishable'
24
- gem.authors = ['Martin Linkhorst', 'тιηуηυмвєяѕ']
24
+ gem.authors = ['Martin Linkhorst', 'тιηуηυмвєяѕ', 'Andrew Janssen']
25
25
  gem.version = "#{Publishable::VERSION}"
26
26
  # dependencies defined in Gemfile
27
27
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
@@ -37,11 +37,6 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
37
37
  spec.pattern = FileList['spec/**/*_spec.rb']
38
38
  end
39
39
 
40
- RSpec::Core::RakeTask.new(:rcov) do |spec|
41
- spec.pattern = 'spec/**/*_spec.rb'
42
- spec.rcov = true
43
- end
44
-
45
40
  task :default => :spec
46
41
 
47
42
  require 'yard'
@@ -11,8 +11,9 @@ require 'publishable/railtie' if defined?(Rails)
11
11
  # Provides scopes for finding published and unpublished items, and (for date/datetime published columns) for returning
12
12
  # recent or upcoming items.
13
13
  #
14
- # @author Martin Linkhorst <m.linkhorst@googlemail.com>
14
+ # @author Martin Linkhorst <m.linkhorst@gmail.com>
15
15
  # @author David Daniell / тιηуηυмвєяѕ <info@tinynumbers.com>
16
+ # @author Andrew Janssen <andrew.janssen@sardiusgroup.com>
16
17
  module Publishable
17
18
 
18
19
  # Add our features to the base class.
@@ -117,7 +118,7 @@ module Publishable
117
118
  end
118
119
 
119
120
  def unpublish()
120
- self.#{column_name} = null
121
+ self.#{column_name} = nil
121
122
  end
122
123
 
123
124
  def unpublish!()
@@ -144,7 +145,7 @@ module Publishable
144
145
  end
145
146
 
146
147
  def unpublish()
147
- self.#{column_name} = null
148
+ self.#{column_name} = nil
148
149
  end
149
150
 
150
151
  def unpublish!()
@@ -255,7 +256,7 @@ module Publishable
255
256
 
256
257
  # @!method unpublish
257
258
  # Un-publish this object, i.e. set it to not be published. For a Boolean publish field, the field is set to
258
- # false; for a Date/DateTime field, the field is set to null.
259
+ # false; for a Date/DateTime field, the field is cleared.
259
260
  # @!scope instance
260
261
 
261
262
  # @!method unpublish!
@@ -18,7 +18,7 @@ module Publishable
18
18
  MINOR = 0
19
19
 
20
20
  # The patch-level, incremented for minor bug fixes / patches.
21
- PATCH = 2
21
+ PATCH = 3
22
22
 
23
23
  # Prerelease specification for e.g. "alpha", "beta.1", etc
24
24
  PRERELEASE = nil
@@ -12,11 +12,10 @@ Gem::Specification.new do |s|
12
12
  s.version = Publishable::VERSION.to_s
13
13
 
14
14
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
15
- s.authors = ["Martin Linkhorst", "\321\202\316\271\316\267\321\203\316\267\317\205\320\274\320\262\321\224\321\217\321\225"]
16
- s.date = "2013-02-22"
17
- s.date = "2013-04-30"
15
+ s.authors = ["Martin Linkhorst", "\321\202\316\271\316\267\321\203\316\267\317\205\320\274\320\262\321\224\321\217\321\225", "Andrew Janssen"]
16
+ s.date = "2014-03-04"
18
17
  s.description = "Provides methods to publish and unpublish your active record models based on a boolean flag, a date, or a datetime. Also adds named scopes to nicely filter your records. Does not touch any controller or views."
19
- s.email = ["m.linkhorst@googlemail.com", "info@tinynumbers.com"]
18
+ s.email = ["m.linkhorst@googlemail.com", "info@tinynumbers.com", "andrew.janssen@sardiusgroup.com"]
20
19
  s.extra_rdoc_files = [
21
20
  "LICENSE.txt",
22
21
  "README.rdoc"
@@ -52,20 +51,17 @@ Gem::Specification.new do |s|
52
51
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
53
52
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
54
53
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
55
- s.add_development_dependency(%q<rcov>, [">= 0"])
56
54
  else
57
55
  s.add_dependency(%q<yard>, ["~> 0.7"])
58
56
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
59
57
  s.add_dependency(%q<bundler>, ["~> 1.0"])
60
58
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
61
- s.add_dependency(%q<rcov>, [">= 0"])
62
59
  end
63
60
  else
64
61
  s.add_dependency(%q<yard>, ["~> 0.7"])
65
62
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
66
63
  s.add_dependency(%q<bundler>, ["~> 1.0"])
67
64
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
68
- s.add_dependency(%q<rcov>, [">= 0"])
69
65
  end
70
66
  end
71
67
 
@@ -78,6 +78,13 @@ describe Publishable do
78
78
  @post.published.should <= Date.current
79
79
  end
80
80
 
81
+ it 'can be unpublished' do
82
+ @post.published = Date.current
83
+ @post.should be_published
84
+ @post.unpublish!
85
+ @post.should_not be_published
86
+ end
87
+
81
88
  end
82
89
 
83
90
  context 'with a DateTime publish attribute' do
@@ -119,6 +126,13 @@ describe Publishable do
119
126
  @post.published.should <= DateTime.now
120
127
  end
121
128
 
129
+ it 'can be unpublished' do
130
+ @post.published = DateTime.now - 1.minute
131
+ @post.should be_published
132
+ @post.unpublish!
133
+ @post.should_not be_published
134
+ end
135
+
122
136
  end
123
137
 
124
138
  describe 'querying for all upcoming items' do
@@ -1,10 +1,5 @@
1
1
  ENV['RAILS_ENV'] ||= 'test'
2
2
 
3
- if RUBY_VERSION > '1.9'
4
- require 'simplecov'
5
- SimpleCov.start
6
- end
7
-
8
3
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
10
5
 
metadata CHANGED
@@ -1,82 +1,110 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: publishable
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.3
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Martin Linkhorst
8
- - !binary |
9
- 0YLOuc630YPOt8+F0LzQstGU0Y/RlQ==
10
-
9
+ - тιηуηυмвєяѕ
10
+ - Andrew Janssen
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
-
15
- date: 2013-04-30 00:00:00 Z
16
- dependencies:
17
- - !ruby/object:Gem::Dependency
14
+ date: 2014-03-04 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
18
17
  name: yard
19
- prerelease: false
20
- requirement: &id001 !ruby/object:Gem::Requirement
21
- requirements:
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
22
21
  - - ~>
23
- - !ruby/object:Gem::Version
24
- version: "0.7"
22
+ - !ruby/object:Gem::Version
23
+ version: '0.7'
25
24
  type: :development
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: rdoc
29
25
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
31
- requirements:
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: '0.7'
32
+ - !ruby/object:Gem::Dependency
33
+ name: rdoc
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
32
37
  - - ~>
33
- - !ruby/object:Gem::Version
34
- version: "3.12"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.12'
35
40
  type: :development
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: bundler
39
41
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
41
- requirements:
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '3.12'
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
42
53
  - - ~>
43
- - !ruby/object:Gem::Version
44
- version: "1.0"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.0'
45
56
  type: :development
46
- version_requirements: *id003
47
- - !ruby/object:Gem::Dependency
48
- name: jeweler
49
57
  prerelease: false
50
- requirement: &id004 !ruby/object:Gem::Requirement
51
- requirements:
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
52
61
  - - ~>
53
- - !ruby/object:Gem::Version
62
+ - !ruby/object:Gem::Version
63
+ version: '1.0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: jeweler
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
54
71
  version: 1.8.4
55
72
  type: :development
56
- version_requirements: *id004
57
- - !ruby/object:Gem::Dependency
58
- name: rcov
59
73
  prerelease: false
60
- requirement: &id005 !ruby/object:Gem::Requirement
61
- requirements:
62
- - &id006
63
- - ">="
64
- - !ruby/object:Gem::Version
65
- version: "0"
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 1.8.4
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 2.8.0
66
88
  type: :development
67
- version_requirements: *id005
68
- description: Provides methods to publish and unpublish your active record models based on a boolean flag, a date, or a datetime. Also adds named scopes to nicely filter your records. Does not touch any controller or views.
69
- email:
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 2.8.0
96
+ description: Provides methods to publish and unpublish your active record models based
97
+ on a boolean flag, a date, or a datetime. Also adds named scopes to nicely filter
98
+ your records. Does not touch any controller or views.
99
+ email:
70
100
  - m.linkhorst@googlemail.com
71
101
  - info@tinynumbers.com
72
102
  executables: []
73
-
74
103
  extensions: []
75
-
76
- extra_rdoc_files:
104
+ extra_rdoc_files:
77
105
  - LICENSE.txt
78
106
  - README.rdoc
79
- files:
107
+ files:
80
108
  - .document
81
109
  - .rspec
82
110
  - .travis.yml
@@ -93,30 +121,31 @@ files:
93
121
  - spec/spec_helper.rb
94
122
  - spec/support/matcher_each.rb
95
123
  homepage: http://github.com/linki/publishable
96
- licenses:
124
+ licenses:
97
125
  - MIT
98
- metadata: {}
99
-
100
126
  post_install_message:
101
127
  rdoc_options: []
102
-
103
- require_paths:
128
+ require_paths:
104
129
  - lib
105
- required_ruby_version: !ruby/object:Gem::Requirement
106
- requirements:
107
- - *id006
108
- required_rubygems_version: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - ">"
111
- - !ruby/object:Gem::Version
112
- version: 1.3.1
130
+ required_ruby_version: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ segments:
137
+ - 0
138
+ hash: -3050157289836478071
139
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ! '>='
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
113
145
  requirements: []
114
-
115
146
  rubyforge_project:
116
- rubygems_version: 2.0.3
147
+ rubygems_version: 1.8.23.2
117
148
  signing_key:
118
149
  specification_version: 3
119
150
  summary: Adds publishing functionality to your active record model
120
151
  test_files: []
121
-
122
- has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 199486df5736d6d10673c9fa5b7fa8ca0b914927
4
- data.tar.gz: 240ca5dfe93d47c8caa60de6c63366f93c395c9b
5
- SHA512:
6
- metadata.gz: 85e1707cc27d01e497e4e494f3d7b0657d6c632e8db6221b4dca286469d0eab52e83f9683b6fb98f7f241cbe2e44fed445d8ec2e6c79b40abbe8e5709a9bbeab
7
- data.tar.gz: e14f17c5830f578289c8e179ae28963deea9e1e59d4aa4ef2a6f921d84a5915cc5eee2c465b5d0b11c57bf3d40398ebb4e03870f86bc522b865e7397e8c07672