boole_time 0.1.0 → 0.2.0
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.
- data/README.md +2 -51
- data/boole_time.gemspec +1 -1
- data/lib/boole_time.rb +2 -5
- data/lib/boole_time/version.rb +1 -1
- metadata +18 -39
- data/lib/boole_time/railtie.rb +0 -9
data/README.md
CHANGED
@@ -5,12 +5,12 @@ a date or datetime column.
|
|
5
5
|
|
6
6
|
## Getting Started
|
7
7
|
|
8
|
-
```ruby
|
8
|
+
``` ruby
|
9
9
|
# Gemfile
|
10
10
|
gem 'boole_time'
|
11
11
|
```
|
12
12
|
|
13
|
-
```bash
|
13
|
+
``` bash
|
14
14
|
$ bundle install
|
15
15
|
$ rails generate model Post published_at:datetime
|
16
16
|
# Or any model with a datetime column
|
@@ -32,55 +32,6 @@ post.published_at
|
|
32
32
|
# => nil
|
33
33
|
```
|
34
34
|
|
35
|
-
## Documentation
|
36
|
-
|
37
|
-
BooleTime considers a datetime attribute truthy if it is in the past.
|
38
|
-
If the attribute is nil or in the future, it is considered false:
|
39
|
-
|
40
|
-
```ruby
|
41
|
-
post = Post.new
|
42
|
-
post.published
|
43
|
-
# => false
|
44
|
-
post.published_at = 2.weeks.ago
|
45
|
-
post.published
|
46
|
-
# => true
|
47
|
-
post.published_at = 2.weeks.from_now
|
48
|
-
post.published
|
49
|
-
# => false
|
50
|
-
# Time travel to 3 weeks from now...
|
51
|
-
post.published
|
52
|
-
# => true
|
53
|
-
```
|
54
|
-
|
55
|
-
### Other Methods
|
56
|
-
|
57
|
-
BooleTime also adds some query methods along with a negative version of the virtual attribute:
|
58
|
-
|
59
|
-
```ruby
|
60
|
-
post.published
|
61
|
-
# => false
|
62
|
-
post.published?
|
63
|
-
# => false
|
64
|
-
post.unpublished
|
65
|
-
# => true
|
66
|
-
post.unpublished?
|
67
|
-
# => true
|
68
|
-
```
|
69
|
-
|
70
|
-
### Scopes
|
71
|
-
|
72
|
-
BooleTime automatically adds named scopes that correspond to the positive and negative versions of the virtual attribute:
|
73
|
-
|
74
|
-
```ruby
|
75
|
-
Post.create published_at: nil
|
76
|
-
Post.create published_at: 2.weeks.ago
|
77
|
-
Post.create published_at: 2.weeks.from_now
|
78
|
-
Post.published
|
79
|
-
# => [#<Post id: 2, published_at: "(2 weeks ago)">]
|
80
|
-
Post.unpublished
|
81
|
-
# => [#<Post id: 1, published_at: nil>, #<Post id: 3, published_at: "(2 weeks from now)">]
|
82
|
-
```
|
83
|
-
|
84
35
|
## Copyright
|
85
36
|
|
86
37
|
Copyright (c) 2012 [Pete Browne](http://petebrowne.com). See LICENSE for details.
|
data/boole_time.gemspec
CHANGED
@@ -17,8 +17,8 @@ a date or datetime column.}
|
|
17
17
|
gem.require_paths = ['lib']
|
18
18
|
gem.version = BooleTime::VERSION
|
19
19
|
|
20
|
+
gem.add_dependency 'activerecord', '~> 3.2'
|
20
21
|
gem.add_development_dependency 'rspec', '~> 2.11'
|
21
22
|
gem.add_development_dependency 'timecop', '~> 0.4'
|
22
|
-
gem.add_development_dependency 'activerecord', '~> 3.2'
|
23
23
|
gem.add_development_dependency 'sqlite3', '~> 1.3'
|
24
24
|
end
|
data/lib/boole_time.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'active_record'
|
1
2
|
require 'boole_time/version'
|
2
3
|
|
3
4
|
module BooleTime
|
@@ -69,8 +70,4 @@ module BooleTime
|
|
69
70
|
end
|
70
71
|
end
|
71
72
|
|
72
|
-
|
73
|
-
ActiveRecord::Base.extend BooleTime
|
74
|
-
elsif defined?(Rails)
|
75
|
-
require 'boole_time/railtie'
|
76
|
-
end
|
73
|
+
ActiveRecord::Base.extend BooleTime
|
data/lib/boole_time/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boole_time
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,59 +9,44 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
15
|
+
name: activerecord
|
16
|
+
requirement: &70306412921060 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '2
|
22
|
-
type: :
|
21
|
+
version: '3.2'
|
22
|
+
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '2.11'
|
24
|
+
version_requirements: *70306412921060
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
26
|
+
name: rspec
|
27
|
+
requirement: &70306412904820 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ~>
|
36
31
|
- !ruby/object:Gem::Version
|
37
|
-
version: '
|
32
|
+
version: '2.11'
|
38
33
|
type: :development
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0.4'
|
35
|
+
version_requirements: *70306412904820
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
37
|
+
name: timecop
|
38
|
+
requirement: &70306412903940 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ~>
|
52
42
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
43
|
+
version: '0.4'
|
54
44
|
type: :development
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '3.2'
|
46
|
+
version_requirements: *70306412903940
|
62
47
|
- !ruby/object:Gem::Dependency
|
63
48
|
name: sqlite3
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &70306412902820 !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
51
|
requirements:
|
67
52
|
- - ~>
|
@@ -69,12 +54,7 @@ dependencies:
|
|
69
54
|
version: '1.3'
|
70
55
|
type: :development
|
71
56
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '1.3'
|
57
|
+
version_requirements: *70306412902820
|
78
58
|
description: ! 'ActiveRecord plugin for creating a boolean virtual attribute from
|
79
59
|
|
80
60
|
a datetime column.'
|
@@ -91,7 +71,6 @@ files:
|
|
91
71
|
- Rakefile
|
92
72
|
- boole_time.gemspec
|
93
73
|
- lib/boole_time.rb
|
94
|
-
- lib/boole_time/railtie.rb
|
95
74
|
- lib/boole_time/version.rb
|
96
75
|
- spec/boole_time_spec.rb
|
97
76
|
- spec/spec_helper.rb
|
@@ -115,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
94
|
version: '0'
|
116
95
|
requirements: []
|
117
96
|
rubyforge_project:
|
118
|
-
rubygems_version: 1.8.
|
97
|
+
rubygems_version: 1.8.11
|
119
98
|
signing_key:
|
120
99
|
specification_version: 3
|
121
100
|
summary: ActiveRecord plugin for creating a boolean virtual attribute and scopes from
|