streakable 0.1.2 → 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.
- checksums.yaml +5 -5
- data/.gitignore +52 -15
- data/.travis.yml +27 -3
- data/Appraisals +16 -0
- data/Gemfile.lock +90 -0
- data/README.md +6 -4
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/rails3.gemfile +7 -0
- data/gemfiles/rails4.gemfile +7 -0
- data/gemfiles/rails5.gemfile +7 -0
- data/lib/streakable/streak.rb +8 -2
- data/spec/spec_helper.rb +5 -0
- data/spec/streakable_spec.rb +19 -3
- data/streakable.gemspec +9 -7
- metadata +59 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: f18abd101f35ccae5f18f0a696402bc7b5fec278212694c49073abef81ae455f
|
|
4
|
+
data.tar.gz: 9ef4e70f39696b7456821489ca60ba41b34a3828d8420b55e055cd5a61259d04
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 26d0da96da351c7e7b58444affe0e6c5882fb3bc5ad4867f6a393201968b8cb92b6aea8b9d24f07894c4c536af2b3451e25df4fdb6a4d0854b891cb5383b3d1f
|
|
7
|
+
data.tar.gz: 3caeeb38257f789b34204b84c5d76b6f237761aba3b81f4b527af614ef11e1f2e25fcf6266d22306e7df0ee290529fe839437582cd92ee5d5959ad396eac9070
|
data/.gitignore
CHANGED
|
@@ -1,17 +1,54 @@
|
|
|
1
1
|
*.gem
|
|
2
2
|
*.rbc
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
/.config
|
|
4
|
+
/coverage/
|
|
5
|
+
/InstalledFiles
|
|
6
|
+
/pkg/
|
|
7
|
+
/spec/reports/
|
|
8
|
+
/spec/examples.txt
|
|
9
|
+
/test/tmp/
|
|
10
|
+
/test/version_tmp/
|
|
11
|
+
/tmp/
|
|
12
|
+
|
|
13
|
+
# Used by dotenv library to load environment variables.
|
|
14
|
+
# .env
|
|
15
|
+
|
|
16
|
+
## Specific to RubyMotion:
|
|
17
|
+
.dat*
|
|
18
|
+
.repl_history
|
|
19
|
+
build/
|
|
20
|
+
*.bridgesupport
|
|
21
|
+
build-iPhoneOS/
|
|
22
|
+
build-iPhoneSimulator/
|
|
23
|
+
|
|
24
|
+
## Specific to RubyMotion (use of CocoaPods):
|
|
25
|
+
#
|
|
26
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
|
27
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
|
28
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
|
29
|
+
#
|
|
30
|
+
# vendor/Pods/
|
|
31
|
+
|
|
32
|
+
## Documentation cache and generated files:
|
|
33
|
+
/.yardoc/
|
|
34
|
+
/_yardoc/
|
|
35
|
+
/doc/
|
|
36
|
+
/rdoc/
|
|
37
|
+
|
|
38
|
+
## Environment normalization:
|
|
39
|
+
/.bundle/
|
|
40
|
+
/vendor/bundle
|
|
41
|
+
/lib/bundler/man/
|
|
42
|
+
|
|
43
|
+
# for a library or gem, you might want to ignore these files since the code is
|
|
44
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
45
|
+
# Gemfile.lock
|
|
46
|
+
.ruby-version
|
|
47
|
+
.ruby-gemset
|
|
48
|
+
|
|
49
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
50
|
+
.rvmrc
|
|
51
|
+
|
|
52
|
+
# appraisal
|
|
53
|
+
# https://github.com/thoughtbot/appraisal
|
|
54
|
+
gemfiles/*.gemfile.lock
|
data/.travis.yml
CHANGED
|
@@ -2,11 +2,35 @@ language: ruby
|
|
|
2
2
|
cache: bundler
|
|
3
3
|
matrix:
|
|
4
4
|
fast_finish: true
|
|
5
|
-
branches:
|
|
6
|
-
only: master
|
|
7
5
|
rvm:
|
|
8
6
|
- 2.1.0
|
|
9
7
|
- 2.2.0
|
|
10
8
|
- 2.3.0
|
|
11
9
|
- 2.4.0
|
|
12
|
-
|
|
10
|
+
- 2.5.0
|
|
11
|
+
- 2.6.0
|
|
12
|
+
gemfile:
|
|
13
|
+
- gemfiles/rails3.gemfile
|
|
14
|
+
- gemfiles/rails4.gemfile
|
|
15
|
+
- gemfiles/rails5.gemfile
|
|
16
|
+
matrix:
|
|
17
|
+
exclude:
|
|
18
|
+
- rvm: 2.1.0
|
|
19
|
+
gemfile: gemfiles/rails5.gemfile
|
|
20
|
+
- rvm: 2.2.0
|
|
21
|
+
gemfile: gemfiles/rails5.gemfile
|
|
22
|
+
- rvm: 2.4.0
|
|
23
|
+
gemfile: gemfiles/rails3.gemfile
|
|
24
|
+
- rvm: 2.4.0
|
|
25
|
+
gemfile: gemfiles/rails4.gemfile
|
|
26
|
+
- rvm: 2.5.0
|
|
27
|
+
gemfile: gemfiles/rails3.gemfile
|
|
28
|
+
- rvm: 2.5.0
|
|
29
|
+
gemfile: gemfiles/rails4.gemfile
|
|
30
|
+
- rvm: 2.6.0
|
|
31
|
+
gemfile: gemfiles/rails3.gemfile
|
|
32
|
+
- rvm: 2.6.0
|
|
33
|
+
gemfile: gemfiles/rails4.gemfile
|
|
34
|
+
script: bundle exec rspec
|
|
35
|
+
before_install:
|
|
36
|
+
- gem install bundler -v '< 2'
|
data/Appraisals
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
appraise "rails3" do
|
|
2
|
+
gem "activerecord", "3.2.22"
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
appraise "rails4" do
|
|
6
|
+
gem "activerecord", "4.0.0"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
appraise "rails5" do
|
|
10
|
+
gem "activerecord", "5.0.0"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# TODO: uncomment this once Rails 6 is released on April 30, 2019
|
|
14
|
+
# appraise "rails6" do
|
|
15
|
+
# gem "activerecord", "6.0.0"
|
|
16
|
+
# end
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
streakable (0.2.0)
|
|
5
|
+
activerecord (>= 3.2.22)
|
|
6
|
+
|
|
7
|
+
GEM
|
|
8
|
+
remote: https://rubygems.org/
|
|
9
|
+
specs:
|
|
10
|
+
activemodel (5.2.2)
|
|
11
|
+
activesupport (= 5.2.2)
|
|
12
|
+
activerecord (5.2.2)
|
|
13
|
+
activemodel (= 5.2.2)
|
|
14
|
+
activesupport (= 5.2.2)
|
|
15
|
+
arel (>= 9.0)
|
|
16
|
+
activesupport (5.2.2)
|
|
17
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
18
|
+
i18n (>= 0.7, < 2)
|
|
19
|
+
minitest (~> 5.1)
|
|
20
|
+
tzinfo (~> 1.1)
|
|
21
|
+
appraisal (2.2.0)
|
|
22
|
+
bundler
|
|
23
|
+
rake
|
|
24
|
+
thor (>= 0.14.0)
|
|
25
|
+
arel (9.0.0)
|
|
26
|
+
coderay (1.1.2)
|
|
27
|
+
concurrent-ruby (1.1.4)
|
|
28
|
+
coveralls (0.8.22)
|
|
29
|
+
json (>= 1.8, < 3)
|
|
30
|
+
simplecov (~> 0.16.1)
|
|
31
|
+
term-ansicolor (~> 1.3)
|
|
32
|
+
thor (~> 0.19.4)
|
|
33
|
+
tins (~> 1.6)
|
|
34
|
+
database_cleaner (1.7.0)
|
|
35
|
+
diff-lcs (1.3)
|
|
36
|
+
docile (1.3.1)
|
|
37
|
+
i18n (1.5.3)
|
|
38
|
+
concurrent-ruby (~> 1.0)
|
|
39
|
+
json (2.1.0)
|
|
40
|
+
method_source (0.9.2)
|
|
41
|
+
minitest (5.11.3)
|
|
42
|
+
pry (0.12.2)
|
|
43
|
+
coderay (~> 1.1.0)
|
|
44
|
+
method_source (~> 0.9.0)
|
|
45
|
+
rake (12.3.2)
|
|
46
|
+
rspec (3.8.0)
|
|
47
|
+
rspec-core (~> 3.8.0)
|
|
48
|
+
rspec-expectations (~> 3.8.0)
|
|
49
|
+
rspec-mocks (~> 3.8.0)
|
|
50
|
+
rspec-core (3.8.0)
|
|
51
|
+
rspec-support (~> 3.8.0)
|
|
52
|
+
rspec-expectations (3.8.2)
|
|
53
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
54
|
+
rspec-support (~> 3.8.0)
|
|
55
|
+
rspec-mocks (3.8.0)
|
|
56
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
57
|
+
rspec-support (~> 3.8.0)
|
|
58
|
+
rspec-support (3.8.0)
|
|
59
|
+
simplecov (0.16.1)
|
|
60
|
+
docile (~> 1.1)
|
|
61
|
+
json (>= 1.8, < 3)
|
|
62
|
+
simplecov-html (~> 0.10.0)
|
|
63
|
+
simplecov-html (0.10.2)
|
|
64
|
+
sqlite3 (1.3.13)
|
|
65
|
+
term-ansicolor (1.7.1)
|
|
66
|
+
tins (~> 1.0)
|
|
67
|
+
thor (0.19.4)
|
|
68
|
+
thread_safe (0.3.6)
|
|
69
|
+
timecop (0.9.1)
|
|
70
|
+
tins (1.20.2)
|
|
71
|
+
tzinfo (1.2.5)
|
|
72
|
+
thread_safe (~> 0.1)
|
|
73
|
+
|
|
74
|
+
PLATFORMS
|
|
75
|
+
ruby
|
|
76
|
+
|
|
77
|
+
DEPENDENCIES
|
|
78
|
+
appraisal (~> 2.2, >= 2.2.0)
|
|
79
|
+
bundler (>= 1.3)
|
|
80
|
+
coveralls (~> 0.8, >= 0.8.22)
|
|
81
|
+
database_cleaner (~> 1.7.0, >= 1.7.0)
|
|
82
|
+
pry (~> 0.11, >= 0.11.3)
|
|
83
|
+
rake (~> 12.3, >= 12.3.1)
|
|
84
|
+
rspec (~> 3.8, >= 3.8.0)
|
|
85
|
+
sqlite3 (~> 1.3.6)
|
|
86
|
+
streakable!
|
|
87
|
+
timecop (~> 0.9, >= 0.9.1)
|
|
88
|
+
|
|
89
|
+
BUNDLED WITH
|
|
90
|
+
1.17.3
|
data/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
[](https://badge.fury.io/rb/streakable) [](https://travis-ci.org/szTheory/streakable) [](http://inch-ci.org/github/szTheory/streakable) [](https://github.com/szTheory/streakable/blob/master/LICENSE.txt)
|
|
1
|
+
[](https://badge.fury.io/rb/streakable) [](https://travis-ci.org/szTheory/streakable) [](https://coveralls.io/github/szTheory/streakable?branch=master) [](http://inch-ci.org/github/szTheory/streakable) [](https://codeclimate.com/github/szTheory/streakable/maintainability) [](https://github.com/szTheory/streakable/blob/master/LICENSE.txt) [](https://rubygems.org/gems/streakable) [](https://github.com/szTheory/streakable)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
4
|
|
|
5
|
-
Ruby gem to track consecutive day streaks :calendar: on your Rails/ActiveRecord models.
|
|
5
|
+
Streakable is a Ruby gem to track consecutive day streaks :calendar: on your Rails/ActiveRecord models. Hard fork of [has_streak](https://github.com/garrettqmartin8/has_streak) by Garrett Martin with a different include interface and more features. Requires Ruby >= 2.1 and ActiveRecord >= 3.2.22.
|
|
6
|
+
|
|
7
|
+
[Github Project Page](https://github.com/szTheory/streakable)
|
|
6
8
|
|
|
7
9
|
## Installation
|
|
8
10
|
|
|
@@ -75,7 +77,7 @@ user.streaks(:posts)
|
|
|
75
77
|
## Contributing
|
|
76
78
|
|
|
77
79
|
1. Fork it
|
|
78
|
-
2. Create your feature branch (`git checkout -b feature/my-new-feature`)
|
|
80
|
+
2. Create your feature branch (`git checkout -b feature/my-new-feature`) or bugfix branch (`git checkout -b bugfix/my-helpful-bugfix`)
|
|
79
81
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
80
82
|
4. Push to the branch (`git push origin feature/my-new-feature`)
|
|
81
83
|
5. Make sure specs are passing (`bundle exec rspec`)
|
data/lib/streakable/streak.rb
CHANGED
|
@@ -41,7 +41,9 @@ class Streak
|
|
|
41
41
|
if streaks.empty?
|
|
42
42
|
0
|
|
43
43
|
elsif longest
|
|
44
|
-
streaks.sort
|
|
44
|
+
streaks.sort do |x, y|
|
|
45
|
+
y.size <=> x.size
|
|
46
|
+
end.first.size
|
|
45
47
|
else
|
|
46
48
|
streak = streaks.first
|
|
47
49
|
if streak.include?(Date.current) || except_today && streak.include?(Date.yesterday)
|
|
@@ -97,6 +99,10 @@ class Streak
|
|
|
97
99
|
|
|
98
100
|
private
|
|
99
101
|
def days
|
|
100
|
-
@days ||=
|
|
102
|
+
@days ||= begin
|
|
103
|
+
date_strings = instance.send(association).order(column => :desc).pluck(column)
|
|
104
|
+
dates = date_strings.map(&:to_date)
|
|
105
|
+
dates.sort.reverse.uniq
|
|
106
|
+
end
|
|
101
107
|
end
|
|
102
108
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
require 'coveralls'
|
|
2
|
+
Coveralls.wear!
|
|
3
|
+
|
|
1
4
|
require "streakable"
|
|
2
5
|
require "database_cleaner"
|
|
6
|
+
require "pry"
|
|
3
7
|
require "support/database_cleaner"
|
|
4
8
|
require "support/user"
|
|
5
9
|
require "support/post"
|
|
@@ -12,6 +16,7 @@ ActiveRecord::Schema.define do
|
|
|
12
16
|
|
|
13
17
|
create_table :users, force: true do |t|
|
|
14
18
|
t.string :name
|
|
19
|
+
t.timestamps
|
|
15
20
|
end
|
|
16
21
|
|
|
17
22
|
create_table :posts, force: true do |t|
|
data/spec/streakable_spec.rb
CHANGED
|
@@ -29,7 +29,7 @@ describe Streakable do
|
|
|
29
29
|
context "user only has a post today" do
|
|
30
30
|
let(:post_dates) { [DateTime.current] }
|
|
31
31
|
before do
|
|
32
|
-
expect(user.posts.
|
|
32
|
+
expect(user.posts.length).to eql(1)
|
|
33
33
|
expect(user.posts.first.created_at.to_date).to eql(Date.current)
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -54,6 +54,22 @@ describe Streakable do
|
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
+
context "user has streak today, and a shorter streak before that" do
|
|
58
|
+
let(:post_dates) { [5.days.ago, 4.days.ago, 2.days.ago, 1.day.ago, DateTime.current] }
|
|
59
|
+
|
|
60
|
+
it "still returns the current streak" do
|
|
61
|
+
expect(subject).to eq(3)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
context "with longest option" do
|
|
65
|
+
subject { user.streak(:posts, longest: true) }
|
|
66
|
+
|
|
67
|
+
it "still returns the longer streak" do
|
|
68
|
+
expect(subject).to eq(3)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
57
73
|
context "user didn't post today, but has a streak before that" do
|
|
58
74
|
let(:post_dates) { [3.days.ago, 2.day.ago, 1.day.ago] }
|
|
59
75
|
before { expect(post_dates.map(&:to_date)).to_not include(Date.current) }
|
|
@@ -120,7 +136,7 @@ describe Streakable do
|
|
|
120
136
|
context "user only has a post today" do
|
|
121
137
|
let(:post_dates) { [DateTime.current] }
|
|
122
138
|
before do
|
|
123
|
-
expect(user.posts.
|
|
139
|
+
expect(user.posts.length).to eql(1)
|
|
124
140
|
expect(user.posts.first.created_at.to_date).to eql(Date.current)
|
|
125
141
|
end
|
|
126
142
|
|
|
@@ -132,7 +148,7 @@ describe Streakable do
|
|
|
132
148
|
context "user only has a post yesterday" do
|
|
133
149
|
let(:post_dates) { [DateTime.current.yesterday] }
|
|
134
150
|
before do
|
|
135
|
-
expect(user.posts.
|
|
151
|
+
expect(user.posts.length).to eql(1)
|
|
136
152
|
expect(user.posts.first.created_at.to_date).to eql(Date.current.yesterday)
|
|
137
153
|
end
|
|
138
154
|
|
data/streakable.gemspec
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = 'streakable'
|
|
5
|
-
spec.version = '0.
|
|
5
|
+
spec.version = '0.2.0'
|
|
6
6
|
spec.authors = ['szTheory', 'Garrett Martin']
|
|
7
|
-
spec.description = %q{Track consecutive day streaks on ActiveRecord models.}
|
|
7
|
+
spec.description = %q{Track consecutive day streaks on Rails/ActiveRecord models.}
|
|
8
8
|
spec.summary = %q{Easily track consecutive day streaks on your Rails/ActiveRecord model associations for a given date column.}
|
|
9
9
|
spec.homepage = 'https://sztheory.github.io/streakable/'
|
|
10
10
|
spec.license = 'MIT'
|
|
@@ -17,13 +17,15 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
18
18
|
spec.require_paths = ['lib']
|
|
19
19
|
|
|
20
|
-
spec.add_runtime_dependency 'activerecord', '>= 3.
|
|
20
|
+
spec.add_runtime_dependency 'activerecord', '>= 3.2.22'
|
|
21
21
|
|
|
22
|
-
spec.add_development_dependency '
|
|
23
|
-
spec.add_development_dependency '
|
|
22
|
+
spec.add_development_dependency 'appraisal', '~> 2.2', '>= 2.2.0'
|
|
23
|
+
spec.add_development_dependency 'bundler', '>= 1.3', '>= 1.3'
|
|
24
|
+
spec.add_development_dependency 'coveralls', '~> 0.8', '>= 0.8.22'
|
|
24
25
|
spec.add_development_dependency 'database_cleaner', '~> 1.7.0', '>= 1.7.0'
|
|
25
|
-
spec.add_development_dependency 'bundler', '~> 1.3', '>= 1.3'
|
|
26
|
-
spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.1'
|
|
27
26
|
spec.add_development_dependency 'pry', '~> 0.11', '>= 0.11.3'
|
|
27
|
+
spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.1'
|
|
28
|
+
spec.add_development_dependency 'rspec', '~> 3.8', '>= 3.8.0'
|
|
29
|
+
spec.add_development_dependency 'sqlite3', '~> 1.3.6'
|
|
28
30
|
spec.add_development_dependency 'timecop', '~> 0.9', '>= 0.9.1'
|
|
29
31
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: streakable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- szTheory
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2019-02-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activerecord
|
|
@@ -17,54 +17,68 @@ dependencies:
|
|
|
17
17
|
requirements:
|
|
18
18
|
- - ">="
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version:
|
|
20
|
+
version: 3.2.22
|
|
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
|
-
version:
|
|
27
|
+
version: 3.2.22
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
|
-
name:
|
|
29
|
+
name: appraisal
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
32
|
- - "~>"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: '
|
|
34
|
+
version: '2.2'
|
|
35
35
|
- - ">="
|
|
36
36
|
- !ruby/object:Gem::Version
|
|
37
|
-
version:
|
|
37
|
+
version: 2.2.0
|
|
38
38
|
type: :development
|
|
39
39
|
prerelease: false
|
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
41
|
requirements:
|
|
42
42
|
- - "~>"
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
version: '2.2'
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 2.2.0
|
|
48
|
+
- !ruby/object:Gem::Dependency
|
|
49
|
+
name: bundler
|
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
43
53
|
- !ruby/object:Gem::Version
|
|
44
54
|
version: '1.3'
|
|
55
|
+
type: :development
|
|
56
|
+
prerelease: false
|
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
45
59
|
- - ">="
|
|
46
60
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.3
|
|
61
|
+
version: '1.3'
|
|
48
62
|
- !ruby/object:Gem::Dependency
|
|
49
|
-
name:
|
|
63
|
+
name: coveralls
|
|
50
64
|
requirement: !ruby/object:Gem::Requirement
|
|
51
65
|
requirements:
|
|
52
66
|
- - "~>"
|
|
53
67
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
68
|
+
version: '0.8'
|
|
55
69
|
- - ">="
|
|
56
70
|
- !ruby/object:Gem::Version
|
|
57
|
-
version:
|
|
71
|
+
version: 0.8.22
|
|
58
72
|
type: :development
|
|
59
73
|
prerelease: false
|
|
60
74
|
version_requirements: !ruby/object:Gem::Requirement
|
|
61
75
|
requirements:
|
|
62
76
|
- - "~>"
|
|
63
77
|
- !ruby/object:Gem::Version
|
|
64
|
-
version: '
|
|
78
|
+
version: '0.8'
|
|
65
79
|
- - ">="
|
|
66
80
|
- !ruby/object:Gem::Version
|
|
67
|
-
version:
|
|
81
|
+
version: 0.8.22
|
|
68
82
|
- !ruby/object:Gem::Dependency
|
|
69
83
|
name: database_cleaner
|
|
70
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,25 +100,25 @@ dependencies:
|
|
|
86
100
|
- !ruby/object:Gem::Version
|
|
87
101
|
version: 1.7.0
|
|
88
102
|
- !ruby/object:Gem::Dependency
|
|
89
|
-
name:
|
|
103
|
+
name: pry
|
|
90
104
|
requirement: !ruby/object:Gem::Requirement
|
|
91
105
|
requirements:
|
|
92
106
|
- - "~>"
|
|
93
107
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: '
|
|
108
|
+
version: '0.11'
|
|
95
109
|
- - ">="
|
|
96
110
|
- !ruby/object:Gem::Version
|
|
97
|
-
version:
|
|
111
|
+
version: 0.11.3
|
|
98
112
|
type: :development
|
|
99
113
|
prerelease: false
|
|
100
114
|
version_requirements: !ruby/object:Gem::Requirement
|
|
101
115
|
requirements:
|
|
102
116
|
- - "~>"
|
|
103
117
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: '
|
|
118
|
+
version: '0.11'
|
|
105
119
|
- - ">="
|
|
106
120
|
- !ruby/object:Gem::Version
|
|
107
|
-
version:
|
|
121
|
+
version: 0.11.3
|
|
108
122
|
- !ruby/object:Gem::Dependency
|
|
109
123
|
name: rake
|
|
110
124
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -126,25 +140,39 @@ dependencies:
|
|
|
126
140
|
- !ruby/object:Gem::Version
|
|
127
141
|
version: 12.3.1
|
|
128
142
|
- !ruby/object:Gem::Dependency
|
|
129
|
-
name:
|
|
143
|
+
name: rspec
|
|
130
144
|
requirement: !ruby/object:Gem::Requirement
|
|
131
145
|
requirements:
|
|
132
146
|
- - "~>"
|
|
133
147
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '
|
|
148
|
+
version: '3.8'
|
|
135
149
|
- - ">="
|
|
136
150
|
- !ruby/object:Gem::Version
|
|
137
|
-
version:
|
|
151
|
+
version: 3.8.0
|
|
138
152
|
type: :development
|
|
139
153
|
prerelease: false
|
|
140
154
|
version_requirements: !ruby/object:Gem::Requirement
|
|
141
155
|
requirements:
|
|
142
156
|
- - "~>"
|
|
143
157
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '
|
|
158
|
+
version: '3.8'
|
|
145
159
|
- - ">="
|
|
146
160
|
- !ruby/object:Gem::Version
|
|
147
|
-
version:
|
|
161
|
+
version: 3.8.0
|
|
162
|
+
- !ruby/object:Gem::Dependency
|
|
163
|
+
name: sqlite3
|
|
164
|
+
requirement: !ruby/object:Gem::Requirement
|
|
165
|
+
requirements:
|
|
166
|
+
- - "~>"
|
|
167
|
+
- !ruby/object:Gem::Version
|
|
168
|
+
version: 1.3.6
|
|
169
|
+
type: :development
|
|
170
|
+
prerelease: false
|
|
171
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
172
|
+
requirements:
|
|
173
|
+
- - "~>"
|
|
174
|
+
- !ruby/object:Gem::Version
|
|
175
|
+
version: 1.3.6
|
|
148
176
|
- !ruby/object:Gem::Dependency
|
|
149
177
|
name: timecop
|
|
150
178
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -165,7 +193,7 @@ dependencies:
|
|
|
165
193
|
- - ">="
|
|
166
194
|
- !ruby/object:Gem::Version
|
|
167
195
|
version: 0.9.1
|
|
168
|
-
description: Track consecutive day streaks on ActiveRecord models.
|
|
196
|
+
description: Track consecutive day streaks on Rails/ActiveRecord models.
|
|
169
197
|
email:
|
|
170
198
|
executables: []
|
|
171
199
|
extensions: []
|
|
@@ -173,11 +201,17 @@ extra_rdoc_files: []
|
|
|
173
201
|
files:
|
|
174
202
|
- ".gitignore"
|
|
175
203
|
- ".travis.yml"
|
|
204
|
+
- Appraisals
|
|
176
205
|
- Gemfile
|
|
206
|
+
- Gemfile.lock
|
|
177
207
|
- LICENSE.txt
|
|
178
208
|
- README.md
|
|
179
209
|
- Rakefile
|
|
180
210
|
- _config.yml
|
|
211
|
+
- gemfiles/.bundle/config
|
|
212
|
+
- gemfiles/rails3.gemfile
|
|
213
|
+
- gemfiles/rails4.gemfile
|
|
214
|
+
- gemfiles/rails5.gemfile
|
|
181
215
|
- lib/streakable.rb
|
|
182
216
|
- lib/streakable/streak.rb
|
|
183
217
|
- spec/spec_helper.rb
|
|
@@ -207,7 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
207
241
|
version: '0'
|
|
208
242
|
requirements: []
|
|
209
243
|
rubyforge_project:
|
|
210
|
-
rubygems_version: 2.
|
|
244
|
+
rubygems_version: 2.7.3
|
|
211
245
|
signing_key:
|
|
212
246
|
specification_version: 4
|
|
213
247
|
summary: Easily track consecutive day streaks on your Rails/ActiveRecord model associations
|