date_flag 1.0.6 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2f87ff83f7472a41926177eeda114f0ce788aa6c7266e261f64d9141e0a539c
4
- data.tar.gz: adf62732c8e0bc79ea336ea2432e01aa4f36fa22d9dab9835388e326ebdfae12
3
+ metadata.gz: bd2b8410f5a17d35acb3de9dad84680d1597e4aa7ce6ea46157cb77ed6d7515f
4
+ data.tar.gz: 4e260a4e0b54286e2646b14cfb001bfcc2dd3ea96e7f97583a9d51d5d5c49583
5
5
  SHA512:
6
- metadata.gz: 8ce6d90f028b2042fcc8a19897a60a20f210394716c3835a8baf77fa6f11c4f18aaa8738c45ae2c0d737d01a604e796aa24fad09808793f12f6133777e654e3a
7
- data.tar.gz: 4689c21005853f5fb89ec303ea3686e8395557c8c0a1c0bba7a3e5293a0e258ee3b48ebb16b19da8e2efbef96abd46452be71fcbce22d0a4e04411fcfa4050fe
6
+ metadata.gz: 9e1c6bb6be598ed0f4e6a821ffed09ce68b93ff93e2d1f44e2ea6ae20e31654c2946d357ea431a679c4509ea7bf46ce39ac1f7492d2645b4673caa5daaa99b98
7
+ data.tar.gz: 4477728da3967cee94af6e4d5de2e2364ad786cda6bdd4866e8b6d068d39ed281b630ae8e4c9a9d69b01526ffcc3c2e168f67bd0dcdfacb706807e7bdd8bf10f
@@ -1,71 +1,71 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- actioncable (6.0.2.1)
5
- actionpack (= 6.0.2.1)
4
+ actioncable (6.0.3.4)
5
+ actionpack (= 6.0.3.4)
6
6
  nio4r (~> 2.0)
7
7
  websocket-driver (>= 0.6.1)
8
- actionmailbox (6.0.2.1)
9
- actionpack (= 6.0.2.1)
10
- activejob (= 6.0.2.1)
11
- activerecord (= 6.0.2.1)
12
- activestorage (= 6.0.2.1)
13
- activesupport (= 6.0.2.1)
8
+ actionmailbox (6.0.3.4)
9
+ actionpack (= 6.0.3.4)
10
+ activejob (= 6.0.3.4)
11
+ activerecord (= 6.0.3.4)
12
+ activestorage (= 6.0.3.4)
13
+ activesupport (= 6.0.3.4)
14
14
  mail (>= 2.7.1)
15
- actionmailer (6.0.2.1)
16
- actionpack (= 6.0.2.1)
17
- actionview (= 6.0.2.1)
18
- activejob (= 6.0.2.1)
15
+ actionmailer (6.0.3.4)
16
+ actionpack (= 6.0.3.4)
17
+ actionview (= 6.0.3.4)
18
+ activejob (= 6.0.3.4)
19
19
  mail (~> 2.5, >= 2.5.4)
20
20
  rails-dom-testing (~> 2.0)
21
- actionpack (6.0.2.1)
22
- actionview (= 6.0.2.1)
23
- activesupport (= 6.0.2.1)
21
+ actionpack (6.0.3.4)
22
+ actionview (= 6.0.3.4)
23
+ activesupport (= 6.0.3.4)
24
24
  rack (~> 2.0, >= 2.0.8)
25
25
  rack-test (>= 0.6.3)
26
26
  rails-dom-testing (~> 2.0)
27
27
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
28
- actiontext (6.0.2.1)
29
- actionpack (= 6.0.2.1)
30
- activerecord (= 6.0.2.1)
31
- activestorage (= 6.0.2.1)
32
- activesupport (= 6.0.2.1)
28
+ actiontext (6.0.3.4)
29
+ actionpack (= 6.0.3.4)
30
+ activerecord (= 6.0.3.4)
31
+ activestorage (= 6.0.3.4)
32
+ activesupport (= 6.0.3.4)
33
33
  nokogiri (>= 1.8.5)
34
- actionview (6.0.2.1)
35
- activesupport (= 6.0.2.1)
34
+ actionview (6.0.3.4)
35
+ activesupport (= 6.0.3.4)
36
36
  builder (~> 3.1)
37
37
  erubi (~> 1.4)
38
38
  rails-dom-testing (~> 2.0)
39
39
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
40
- activejob (6.0.2.1)
41
- activesupport (= 6.0.2.1)
40
+ activejob (6.0.3.4)
41
+ activesupport (= 6.0.3.4)
42
42
  globalid (>= 0.3.6)
43
- activemodel (6.0.2.1)
44
- activesupport (= 6.0.2.1)
45
- activerecord (6.0.2.1)
46
- activemodel (= 6.0.2.1)
47
- activesupport (= 6.0.2.1)
48
- activestorage (6.0.2.1)
49
- actionpack (= 6.0.2.1)
50
- activejob (= 6.0.2.1)
51
- activerecord (= 6.0.2.1)
43
+ activemodel (6.0.3.4)
44
+ activesupport (= 6.0.3.4)
45
+ activerecord (6.0.3.4)
46
+ activemodel (= 6.0.3.4)
47
+ activesupport (= 6.0.3.4)
48
+ activestorage (6.0.3.4)
49
+ actionpack (= 6.0.3.4)
50
+ activejob (= 6.0.3.4)
51
+ activerecord (= 6.0.3.4)
52
52
  marcel (~> 0.3.1)
53
- activesupport (6.0.2.1)
53
+ activesupport (6.0.3.4)
54
54
  concurrent-ruby (~> 1.0, >= 1.0.2)
55
55
  i18n (>= 0.7, < 2)
56
56
  minitest (~> 5.1)
57
57
  tzinfo (~> 1.1)
58
- zeitwerk (~> 2.2)
58
+ zeitwerk (~> 2.2, >= 2.2.2)
59
59
  addressable (2.4.0)
60
60
  builder (3.2.4)
61
- concurrent-ruby (1.1.6)
61
+ concurrent-ruby (1.1.7)
62
62
  crass (1.0.6)
63
63
  descendants_tracker (0.0.4)
64
64
  thread_safe (~> 0.3, >= 0.3.1)
65
- erubi (1.9.0)
65
+ erubi (1.10.0)
66
66
  faraday (0.9.2)
67
67
  multipart-post (>= 1.2, < 3)
68
- git (1.6.0)
68
+ git (1.7.0)
69
69
  rchardet (~> 1.8)
70
70
  github_api (0.16.0)
71
71
  addressable (~> 2.4.0)
@@ -78,7 +78,7 @@ GEM
78
78
  activesupport (>= 4.2.0)
79
79
  hashie (4.1.0)
80
80
  highline (2.0.3)
81
- i18n (1.8.2)
81
+ i18n (1.8.5)
82
82
  concurrent-ruby (~> 1.0)
83
83
  jeweler (2.3.9)
84
84
  builder
@@ -91,25 +91,25 @@ GEM
91
91
  rake
92
92
  rdoc
93
93
  semver2
94
- jwt (2.2.1)
95
- loofah (2.4.0)
94
+ jwt (2.2.2)
95
+ loofah (2.8.0)
96
96
  crass (~> 1.0.2)
97
97
  nokogiri (>= 1.5.9)
98
98
  mail (2.7.1)
99
99
  mini_mime (>= 0.1.1)
100
100
  marcel (0.3.3)
101
101
  mimemagic (~> 0.3.2)
102
- method_source (0.9.2)
102
+ method_source (1.0.0)
103
103
  mime-types (2.99.3)
104
- mimemagic (0.3.4)
104
+ mimemagic (0.3.5)
105
105
  mini_mime (1.0.2)
106
106
  mini_portile2 (2.4.0)
107
- minitest (5.14.0)
108
- multi_json (1.14.1)
107
+ minitest (5.14.2)
108
+ multi_json (1.15.0)
109
109
  multi_xml (0.6.0)
110
110
  multipart-post (2.1.1)
111
- nio4r (2.5.2)
112
- nokogiri (1.10.8)
111
+ nio4r (2.5.4)
112
+ nokogiri (1.10.10)
113
113
  mini_portile2 (~> 2.4.0)
114
114
  oauth2 (1.4.4)
115
115
  faraday (>= 0.8, < 2.0)
@@ -117,33 +117,33 @@ GEM
117
117
  multi_json (~> 1.3)
118
118
  multi_xml (~> 0.5)
119
119
  rack (>= 1.2, < 3)
120
- psych (3.1.0)
121
- rack (2.2.2)
120
+ psych (3.2.0)
121
+ rack (2.2.3)
122
122
  rack-test (1.1.0)
123
123
  rack (>= 1.0, < 3)
124
- rails (6.0.2.1)
125
- actioncable (= 6.0.2.1)
126
- actionmailbox (= 6.0.2.1)
127
- actionmailer (= 6.0.2.1)
128
- actionpack (= 6.0.2.1)
129
- actiontext (= 6.0.2.1)
130
- actionview (= 6.0.2.1)
131
- activejob (= 6.0.2.1)
132
- activemodel (= 6.0.2.1)
133
- activerecord (= 6.0.2.1)
134
- activestorage (= 6.0.2.1)
135
- activesupport (= 6.0.2.1)
124
+ rails (6.0.3.4)
125
+ actioncable (= 6.0.3.4)
126
+ actionmailbox (= 6.0.3.4)
127
+ actionmailer (= 6.0.3.4)
128
+ actionpack (= 6.0.3.4)
129
+ actiontext (= 6.0.3.4)
130
+ actionview (= 6.0.3.4)
131
+ activejob (= 6.0.3.4)
132
+ activemodel (= 6.0.3.4)
133
+ activerecord (= 6.0.3.4)
134
+ activestorage (= 6.0.3.4)
135
+ activesupport (= 6.0.3.4)
136
136
  bundler (>= 1.3.0)
137
- railties (= 6.0.2.1)
137
+ railties (= 6.0.3.4)
138
138
  sprockets-rails (>= 2.0.0)
139
139
  rails-dom-testing (2.0.3)
140
140
  activesupport (>= 4.2.0)
141
141
  nokogiri (>= 1.6)
142
142
  rails-html-sanitizer (1.3.0)
143
143
  loofah (~> 2.3)
144
- railties (6.0.2.1)
145
- actionpack (= 6.0.2.1)
146
- activesupport (= 6.0.2.1)
144
+ railties (6.0.3.4)
145
+ actionpack (= 6.0.3.4)
146
+ activesupport (= 6.0.3.4)
147
147
  method_source
148
148
  rake (>= 0.8.7)
149
149
  thor (>= 0.20.3, < 2.0)
@@ -151,22 +151,22 @@ GEM
151
151
  rchardet (1.8.0)
152
152
  rdoc (6.2.1)
153
153
  semver2 (3.4.2)
154
- sprockets (4.0.0)
154
+ sprockets (4.0.2)
155
155
  concurrent-ruby (~> 1.0)
156
156
  rack (> 1, < 3)
157
- sprockets-rails (3.2.1)
157
+ sprockets-rails (3.2.2)
158
158
  actionpack (>= 4.0)
159
159
  activesupport (>= 4.0)
160
160
  sprockets (>= 3.0.0)
161
161
  sqlite3 (1.4.2)
162
162
  thor (1.0.1)
163
163
  thread_safe (0.3.6)
164
- tzinfo (1.2.6)
164
+ tzinfo (1.2.8)
165
165
  thread_safe (~> 0.1)
166
- websocket-driver (0.7.1)
166
+ websocket-driver (0.7.3)
167
167
  websocket-extensions (>= 0.1.0)
168
- websocket-extensions (0.1.4)
169
- zeitwerk (2.2.2)
168
+ websocket-extensions (0.1.5)
169
+ zeitwerk (2.4.2)
170
170
 
171
171
  PLATFORMS
172
172
  ruby
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2014 The Working Group Inc.
1
+ Copyright (c) 2009-2020 Scott Tadman, PostageApp Ltd.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -41,7 +41,7 @@ method to unset the flag with the supplied name. If `:inverse` is set, that
41
41
  name will be used by default.
42
42
 
43
43
  These might be used together like this:
44
-
44
+
45
45
  date_flag :was_published_at,
46
46
  name: :published,
47
47
  scope: :published,
@@ -55,4 +55,4 @@ This results in instance methods `publish!` but the scopes are named
55
55
 
56
56
  ## License
57
57
 
58
- (C) 2009-2019 Scott Tadman, [PostageApp Ltd.](https://postageapp.com/)
58
+ (C) 2009-2020 Scott Tadman, [PostageApp Ltd.](https://postageapp.com/)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.6
1
+ 1.1.0
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: date_flag 1.0.6 ruby lib
5
+ # stub: date_flag 1.1.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "date_flag".freeze
9
- s.version = "1.0.6"
9
+ s.version = "1.1.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Scott Tadman <scott@twg.ca>".freeze]
14
- s.date = "2020-02-28"
14
+ s.date = "2020-12-09"
15
15
  s.description = "Represents boolean fields as DateTime values to trigger events in the future or record when events happened in the past.".freeze
16
16
  s.email = "scott@twg.ca".freeze
17
17
  s.extra_rdoc_files = [
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
32
32
  "test/test_helper.rb"
33
33
  ]
34
34
  s.homepage = "http://github.com/twg/date_flag".freeze
35
- s.rubygems_version = "3.1.2".freeze
35
+ s.rubygems_version = "3.1.4".freeze
36
36
  s.summary = "Date field exension for ActiveRecord".freeze
37
37
 
38
38
  if s.respond_to? :specification_version then
@@ -1,3 +1,5 @@
1
+ require 'set'
2
+
1
3
  module DateFlag
2
4
  VERSION = File.read(File.expand_path('../VERSION', File.dirname(__FILE__))).chomp
3
5
 
@@ -14,9 +16,16 @@ module DateFlag
14
16
  # m.flagged? # => true
15
17
 
16
18
  def date_flag(field, options = { })
19
+ unless (defined?(@date_flags))
20
+ @date_flags = Set.new
21
+ end
22
+
17
23
  name = (options[:name] ? options[:name] : field.to_s.sub(/_at$/, '')).to_sym
18
24
  action = (options[:action] ? options[:action] : name).to_sym
19
25
 
26
+ @date_flags << name
27
+ @date_flags << :"#{name}_at"
28
+
20
29
  scope_name =
21
30
  case (options[:scope])
22
31
  when nil, true
@@ -63,7 +72,7 @@ module DateFlag
63
72
  if (inverse_action = options[:inverse_action] || options[:inverse])
64
73
  define_method(:"#{inverse_action}!") do
65
74
  write_attribute(field, nil)
66
-
75
+
67
76
  save!
68
77
  end
69
78
  end
@@ -121,6 +130,10 @@ module DateFlag
121
130
  save!
122
131
  end
123
132
  end
133
+
134
+ def date_flag?(name)
135
+ name and @date_flags.include?(name.to_sym)
136
+ end
124
137
  end
125
138
 
126
139
  if (defined?(ActiveRecord))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: date_flag
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Tadman <scott@twg.ca>
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-28 00:00:00.000000000 Z
11
+ date: 2020-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -103,7 +103,7 @@ files:
103
103
  homepage: http://github.com/twg/date_flag
104
104
  licenses: []
105
105
  metadata: {}
106
- post_install_message:
106
+ post_install_message:
107
107
  rdoc_options: []
108
108
  require_paths:
109
109
  - lib
@@ -118,8 +118,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  requirements: []
121
- rubygems_version: 3.1.2
122
- signing_key:
121
+ rubygems_version: 3.1.4
122
+ signing_key:
123
123
  specification_version: 4
124
124
  summary: Date field exension for ActiveRecord
125
125
  test_files: []