scopy 1.0.0 → 2.0.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
- 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