scopy 0.0.2 → 0.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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/Gemfile +4 -1
- data/README.md +1 -1
- data/lib/scopy/name_scopes.rb +1 -1
- data/lib/scopy/version.rb +1 -1
- data/scopy.gemspec +5 -4
- data/test/created_at_scopes_test.rb +19 -19
- data/test/id_scopes_test.rb +12 -12
- data/test/name_scopes_test.rb +10 -10
- data/test/test_helper.rb +4 -3
- metadata +36 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 131922fb990e167464fd98f3c85f387cde2a9d20
|
4
|
+
data.tar.gz: 6f262345e09b9b3b37b4fd30dd143f640fb76f0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e000348788905ef204acfc9eb04d8dddb21f86fbc12834bfea6720ec9be48fff764c4b65b62e48013192ad2beb686c068e692ae053edb1393bdc0132d879759c
|
7
|
+
data.tar.gz: 9cf72e5433df641228090850e0eb3802b56bbd61b5ec6e7f76cdfbe0ce090b43af4b9a6fe80882db3657d17b8ea7f834d29e23948a1b9bf2850620f8b01106d2
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.1.0
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Scopy
|
2
2
|
|
3
|
-
[](https://travis-ci.org/neighborland/scopy)
|
4
3
|
[](http://badge.fury.io/rb/scopy)
|
4
|
+
[](https://travis-ci.org/neighborland/scopy)
|
5
5
|
|
6
6
|
Scopy provides common ActiveRecord utility scopes as ActiveSupport model concerns.
|
7
7
|
|
data/lib/scopy/name_scopes.rb
CHANGED
@@ -4,7 +4,7 @@ module Scopy
|
|
4
4
|
|
5
5
|
# note: case-sensitive like operations do not work as expected in Sqlite,
|
6
6
|
# which we are using as the test database.
|
7
|
-
# see http://
|
7
|
+
# see http://goo.gl/Lxxc4m
|
8
8
|
|
9
9
|
included do
|
10
10
|
scope :name_like, ->(text, options={}) do
|
data/lib/scopy/version.rb
CHANGED
data/scopy.gemspec
CHANGED
@@ -18,12 +18,13 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.required_ruby_version = ">= 1.9.3"
|
22
|
+
|
23
|
+
spec.add_dependency "activerecord", ">= 3.2"
|
24
|
+
|
21
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
22
26
|
spec.add_development_dependency "rake", "~> 10.1"
|
23
|
-
spec.add_development_dependency "
|
27
|
+
spec.add_development_dependency "minitest", "~> 4.7"
|
24
28
|
spec.add_development_dependency "mocha", "~> 0.14"
|
25
|
-
spec.add_development_dependency "shoulda-context", "~> 1.1"
|
26
29
|
spec.add_development_dependency "sqlite3", "~> 1.3"
|
27
|
-
|
28
|
-
spec.add_runtime_dependency "activerecord", ">= 3.2"
|
29
30
|
end
|
@@ -1,71 +1,71 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class CreatedAtScopesTest <
|
3
|
+
class CreatedAtScopesTest < MiniTest::Spec
|
4
4
|
class Dog < ActiveRecord::Base
|
5
5
|
include Scopy::CreatedAtScopes
|
6
6
|
end
|
7
7
|
|
8
|
-
|
8
|
+
before do
|
9
9
|
@boo = Dog.create(created_at: 1.week.ago)
|
10
10
|
@snoop = Dog.create(created_at: 1.day.ago)
|
11
11
|
end
|
12
12
|
|
13
|
-
|
13
|
+
after do
|
14
14
|
Dog.delete_all
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
describe ".newest" do
|
18
|
+
it "sorts newest first" do
|
19
19
|
assert_equal @snoop, Dog.newest.first
|
20
20
|
assert_equal @boo, Dog.newest.last
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
|
25
|
-
|
24
|
+
describe ".oldest" do
|
25
|
+
it "sorts oldest first" do
|
26
26
|
assert_equal @boo, Dog.oldest.first
|
27
27
|
assert_equal @snoop, Dog.oldest.last
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
|
-
|
31
|
+
describe ".created_since" do
|
32
|
+
it "includes since date" do
|
33
33
|
assert Dog.created_since(2.days.ago).include?(@snoop)
|
34
34
|
refute Dog.created_since(2.days.ago).include?(@boo)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
|
39
|
-
|
38
|
+
describe ".created_before" do
|
39
|
+
it "includes before date" do
|
40
40
|
refute Dog.created_before(2.days.ago).include?(@snoop)
|
41
41
|
assert Dog.created_before(2.days.ago).include?(@boo)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
|
46
|
-
|
45
|
+
describe ".created_between" do
|
46
|
+
it "includes between dates" do
|
47
47
|
assert Dog.created_between(2.days.ago, Time.now).include?(@snoop)
|
48
48
|
refute Dog.created_between(2.days.ago, Time.now).include?(@boo)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
|
53
|
-
|
52
|
+
describe ".created_on_day" do
|
53
|
+
it "includes on day" do
|
54
54
|
assert Dog.created_since(2.days.ago).include?(@snoop)
|
55
55
|
refute Dog.created_since(2.days.ago).include?(@boo)
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
-
|
60
|
-
|
59
|
+
describe ".created_in_week" do
|
60
|
+
it "includes in week" do
|
61
61
|
lassie = Dog.create(created_at: 1.month.ago)
|
62
62
|
assert Dog.created_in_week(1.day.ago).include?(@snoop)
|
63
63
|
refute Dog.created_in_week(1.day.ago).include?(lassie)
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
|
68
|
-
|
67
|
+
describe ".created_in_month" do
|
68
|
+
it "includes in month" do
|
69
69
|
lassie = Dog.create(created_at: 2.months.ago)
|
70
70
|
assert Dog.created_in_month(1.day.ago).include?(@snoop)
|
71
71
|
refute Dog.created_in_month(1.day.ago).include?(lassie)
|
data/test/id_scopes_test.rb
CHANGED
@@ -1,44 +1,44 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class IdScopesTest <
|
3
|
+
class IdScopesTest < MiniTest::Spec
|
4
4
|
class Dog < ActiveRecord::Base
|
5
5
|
include Scopy::IdScopes
|
6
6
|
end
|
7
7
|
|
8
|
-
|
8
|
+
before do
|
9
9
|
@dog = Dog.create
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
after do
|
13
13
|
Dog.delete_all
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
describe ".excluding_id" do
|
17
|
+
it "excludes" do
|
18
18
|
assert_empty Dog.excluding_id(@dog.id)
|
19
19
|
end
|
20
20
|
|
21
|
-
|
21
|
+
it "does not exclude" do
|
22
22
|
assert_equal [@dog], Dog.excluding_id(@dog.id + 1)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
|
27
|
-
|
26
|
+
describe ".excluding_ids" do
|
27
|
+
it "excludes" do
|
28
28
|
assert_empty Dog.excluding_ids([@dog.id])
|
29
29
|
end
|
30
30
|
|
31
|
-
|
31
|
+
it "does not exclude" do
|
32
32
|
assert_equal [@dog], Dog.excluding_ids([@dog.id + 1])
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
|
37
|
-
|
36
|
+
describe ".excluding" do
|
37
|
+
it "excludes" do
|
38
38
|
assert_empty Dog.excluding(@dog)
|
39
39
|
end
|
40
40
|
|
41
|
-
|
41
|
+
it "does not exclude" do
|
42
42
|
snoop = Dog.create
|
43
43
|
assert_equal [@dog], Dog.excluding(snoop)
|
44
44
|
end
|
data/test/name_scopes_test.rb
CHANGED
@@ -1,42 +1,42 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class NameScopesTest <
|
3
|
+
class NameScopesTest < MiniTest::Spec
|
4
4
|
class Dog < ActiveRecord::Base
|
5
5
|
include Scopy::NameScopes
|
6
6
|
end
|
7
7
|
|
8
|
-
|
8
|
+
before do
|
9
9
|
@dog = Dog.create(name: "Snoop Dogg")
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
after do
|
13
13
|
Dog.delete_all
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
describe ".name_like" do
|
17
|
+
it "finds case sensitive" do
|
18
18
|
assert Dog.name_like("Dog", case_sensitive: true).include?(@dog)
|
19
19
|
assert_empty Dog.name_like("cat", case_sensitive: true)
|
20
20
|
end
|
21
21
|
|
22
|
-
|
22
|
+
it "finds with quotes" do
|
23
23
|
o_dogg = Dog.create(name: "Snoop O'Doggly")
|
24
24
|
assert Dog.name_like("O'Dogg").include?(o_dogg)
|
25
25
|
end
|
26
26
|
|
27
|
-
|
27
|
+
it "finds case insensitive" do
|
28
28
|
assert Dog.name_like("doG").include?(@dog)
|
29
29
|
assert_empty Dog.name_like("cat")
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
|
34
|
-
|
33
|
+
describe ".name_starts_with" do
|
34
|
+
it "finds case sensitive" do
|
35
35
|
assert Dog.name_starts_with("Snoop", case_sensitive: true).include?(@dog)
|
36
36
|
assert_empty Dog.name_starts_with("Dogg", case_sensitive: true)
|
37
37
|
end
|
38
38
|
|
39
|
-
|
39
|
+
it "finds case insensitive" do
|
40
40
|
assert Dog.name_starts_with("snOOp").include?(@dog)
|
41
41
|
assert_empty Dog.name_starts_with("dogg")
|
42
42
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
require '
|
2
|
-
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear!
|
3
|
+
|
4
|
+
require 'minitest/autorun'
|
3
5
|
require 'mocha/setup'
|
4
6
|
require 'active_support'
|
5
7
|
require 'active_record'
|
@@ -21,4 +23,3 @@ unless ActiveRecord::Base.connection.tables.include? 'dogs'
|
|
21
23
|
end
|
22
24
|
end
|
23
25
|
end
|
24
|
-
|
metadata
CHANGED
@@ -1,113 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scopy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tee Parham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.2'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - ~>
|
31
|
+
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
33
|
version: '1.3'
|
20
34
|
type: :development
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - ~>
|
38
|
+
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: '1.3'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - ~>
|
45
|
+
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: '10.1'
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - ~>
|
52
|
+
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '10.1'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
56
|
+
name: minitest
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- - ~>
|
59
|
+
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
61
|
+
version: '4.7'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- - ~>
|
66
|
+
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
68
|
+
version: '4.7'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: mocha
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- - ~>
|
73
|
+
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0.14'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- - ~>
|
80
|
+
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0.14'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: shoulda-context
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.1'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ~>
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.1'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: sqlite3
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '1.3'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '1.3'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: activerecord
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '>='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '3.2'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '3.2'
|
111
97
|
description: Rails ActiveRecord model concerns for common scopes
|
112
98
|
email:
|
113
99
|
- tee@neighborland.com
|
@@ -115,9 +101,9 @@ executables: []
|
|
115
101
|
extensions: []
|
116
102
|
extra_rdoc_files: []
|
117
103
|
files:
|
118
|
-
- .gitignore
|
119
|
-
- .ruby-version
|
120
|
-
- .travis.yml
|
104
|
+
- ".gitignore"
|
105
|
+
- ".ruby-version"
|
106
|
+
- ".travis.yml"
|
121
107
|
- Gemfile
|
122
108
|
- LICENSE.txt
|
123
109
|
- README.md
|
@@ -142,17 +128,17 @@ require_paths:
|
|
142
128
|
- lib
|
143
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
144
130
|
requirements:
|
145
|
-
- -
|
131
|
+
- - ">="
|
146
132
|
- !ruby/object:Gem::Version
|
147
|
-
version:
|
133
|
+
version: 1.9.3
|
148
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
|
-
- -
|
136
|
+
- - ">="
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: '0'
|
153
139
|
requirements: []
|
154
140
|
rubyforge_project:
|
155
|
-
rubygems_version: 2.1
|
141
|
+
rubygems_version: 2.2.1
|
156
142
|
signing_key:
|
157
143
|
specification_version: 4
|
158
144
|
summary: Rails ActiveRecord common utility scopes for id, created_at, and name
|