scopy 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 004c459a5bf82bd646e7e334421d4d35d389b98c
4
- data.tar.gz: 7cca38da896c3ae80b46d10066649bb96f0c2257
2
+ SHA256:
3
+ metadata.gz: e356c71afb90675d134342fe20b4faa3fce31b9d282b04e4655a4c710e55b3b4
4
+ data.tar.gz: da964167cf6e60ed41b5c7216ad7ecc37c4f618fc68c0b9160b9b5633a4aff01
5
5
  SHA512:
6
- metadata.gz: f9a4f605f1b0dec01c6d7f1040c7a871a9c0b62dd8093719967ccd9271eb8654afb1b9a620999da5d9253c5f6197d10dd4bc8584cb7ffca92fd0c5f69e427fb1
7
- data.tar.gz: 77cbae0ad992d0a96fd3924c0115ad9a4480a54865564da80831e80816e9ab44da211d117bf34f1d2ca7696541ccb0c143c9024f29fc52efb6a0beed9e02d24b
6
+ metadata.gz: 60dfcf677ddfe01907b89e074bbf203076552397109b4713b8ff351f4b2d3eddd89f652e02911e9216559b0beb8017c6743c57da584dc83e9fb6f6edb7e7a5d9
7
+ data.tar.gz: e98b79d8525befee48d99b1795fc033cb81bb7d72bc8cfae6395748162c063eb0fa0a13da99ec5e68698ce565cec9a14c937f5f8284bcc696c3ee0c6a3ea7a05
data/README.md CHANGED
@@ -25,7 +25,7 @@ Version 0.4 works with Rails 3.2 and later.
25
25
 
26
26
  ## Usage
27
27
 
28
- Include the concern modules you would like to use in your models:
28
+ Include the modules you would like to use in your models:
29
29
 
30
30
  ```ruby
31
31
  class Dog < ActiveRecord::Base
@@ -70,16 +70,22 @@ Dog.created_in_year(Time.new(2013))
70
70
  ##### Scopy::IdScopes
71
71
 
72
72
  ```ruby
73
- Dog.excluding_id(123)
73
+ Dog.excluding(123)
74
74
  # => dogs excluding id 123
75
75
 
76
- Dog.excluding_ids( [1, 2, 3] )
76
+ Dog.excluding([1, 2, 3])
77
77
  # => dogs excluding ids 1, 2, and 3
78
78
 
79
79
  Dog.excluding(dog)
80
80
  # => dogs excluding dog
81
+
82
+ Dog.excluding(Dog.where(id: [1, 2]))
83
+ # => dogs excluding other dogs
81
84
  ```
82
85
 
86
+ Note: `.excluding_ids` and `.excluding_id` scopes were removed in
87
+ version 2.0. Replace those calls with `.excluding`.
88
+
83
89
  ##### Scopy::NameScopes
84
90
 
85
91
  ```ruby
@@ -22,11 +22,8 @@ module Scopy
22
22
  created_between(date.beginning_of_day, date.end_of_day) if date
23
23
  end
24
24
 
25
- scope :created_in_week, ->(date, day_of_week = :sunday) do
26
- created_between(
27
- date.beginning_of_week(day_of_week),
28
- date.end_of_week(day_of_week)
29
- ) if date
25
+ scope :created_in_week, ->(date, day = :sunday) do
26
+ created_between(date.beginning_of_week(day), date.end_of_week(day)) if date
30
27
  end
31
28
 
32
29
  scope :created_in_month, ->(date) do
@@ -3,9 +3,12 @@ module Scopy
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  included do
6
- scope :excluding_id, ->(id) { where("#{table_name}.id <> ?", id) if id }
7
- scope :excluding_ids, ->(ids) { where("#{table_name}.id NOT IN (?)", ids) if ids.any? }
8
- scope :excluding, ->(object) { excluding_id(object.id) if object }
6
+ # objects may be:
7
+ # one id
8
+ # an array of ids
9
+ # one model
10
+ # a relation or array of models
11
+ scope :excluding, -> (objects) { where.not(id: Array.wrap(objects)) }
9
12
  end
10
13
  end
11
14
  end
data/lib/scopy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Scopy
2
- VERSION = "1.0.0"
2
+ VERSION = "2.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scopy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tee Parham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-24 00:00:00.000000000 Z
11
+ date: 2018-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '11.3'
47
+ version: '12.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '11.3'
54
+ version: '12.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mocha
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: 2.0.0
109
+ version: 2.2.2
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  requirements:
112
112
  - - ">="
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  version: '0'
115
115
  requirements: []
116
116
  rubyforge_project:
117
- rubygems_version: 2.6.7
117
+ rubygems_version: 2.7.5
118
118
  signing_key:
119
119
  specification_version: 4
120
120
  summary: Rails ActiveRecord scopes for id, created_at, and name