repositorish 0.1.0 → 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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjE1ZDNkMmEyNmE1MzU2NzYyYjU5NjliZmUwNjcxNzE1ZDczZTkyNQ==
4
+ YzFkMTE4MmZjMDkwZDYyNTcwNDc0NjczMTBjZDRjZjhmYzRhNTdkYw==
5
5
  data.tar.gz: !binary |-
6
- ZWMwODRmMDNlYTgwMDlhZjZiMTJkYjg2NGMwMTI5ZjhjNGFhNWY5OQ==
6
+ N2E0Y2IyZGE5YmYxNzEzYjFjYmFkMGQwZThlZmFiMGEyZWI4YWZmYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NjFmNmRiNDA2ZjllMDJlYTk2YTAxNDk2OGIyMzY5MjkwZjdmZDlhNTgwMTky
10
- NGNkZmE1M2Q1NmYwZDk5NzU1MjU2MjkxNWRjOTU3MjFjNTk4NjA1NTNhMjZk
11
- N2Q4Yjc1NDgwNmZhMWNmZWMxNTllN2VhMjRlYjJmNDhlN2U1NDE=
9
+ ZDkxZDNhZDlhZWM3ZTMzZGY5ODQ1Y2Q4OWFjYWFjN2JjMmRjNDNlOTU5ZmQx
10
+ YjhiNzNlYzkyNGZiZjcyOTBjZWNlZDY1YmNmMzg3MzM3NDQyZmQzOWM1NzU2
11
+ MzNmNTVlNTAyZDYwYmZiOTMxODRmODY2ZDZhMmY4MzA2ODE1OTU=
12
12
  data.tar.gz: !binary |-
13
- MTVjZGFmNzczMDYzMTk1MzFiM2I0YTMwNjc1YzhhMjYyMzBkYzM3YzQwZTY1
14
- NTk5YWJiZmQ1YThlYjJiOTBmMzc3ZmU4OGZmZDk3ZWY2MTIwMTc3ZjI4OGI0
15
- MDFkYmFjZWQ4NGFkMWY2NTFjZGI5ODI2YWUxODUxNTZkMzAxOWM=
13
+ NDYwZjg5NzNmNjBmOGE0MGUwYjk3Yjk4OGNiMWU1ZjI0YjEzODBjZTg1Yjhi
14
+ YWY3NDlhZTIwOTcwODZhZTY4NzY0ZTU2Y2RiYzgxNzhjMDA4OGIyMjBiNTI3
15
+ MGMxZjJlZmY3MDZhNWZhYjcyODNlYWFiY2ZmYWU0NDdlYjk2N2M=
@@ -21,8 +21,8 @@ require 'repositorish/version'
21
21
  # # => <User::ActiveRecord_Relation ...>
22
22
  # ```
23
23
  module Repositorish
24
- CHAINABLE_NAMESPACES = %w(ActiveRecord ActiveRecord_Relation ActiveRecord_AssociationRelation)
25
- CHAINABLE_NAMESPACES_REGEX = /(?:^|::)(?:#{CHAINABLE_NAMESPACES.join('|')})(?:$|::)/.freeze
24
+ CHAINABLE_NAMESPACES = %w(ActiveRecord ActiveRecord_Relation ActiveRecord_AssociationRelation).freeze
25
+ CHAINABLE_NAMESPACES_REGEX = /(?:^|::)(?:#{CHAINABLE_NAMESPACES.join('|')})(?:$|::)/
26
26
 
27
27
  def self.included(base)
28
28
  base.send :extend, ClassMethods
@@ -60,6 +60,10 @@ module Repositorish
60
60
  domain.class == @domain.class
61
61
  end
62
62
 
63
+ def respond_to_missing?(method_name, include_private = false)
64
+ domain.respond_to?(method_name) || super
65
+ end
66
+
63
67
  # :nodoc:
64
68
  module ClassMethods
65
69
  def repositorish(model, options = {})
@@ -93,7 +97,7 @@ module Repositorish
93
97
  def method_missing(method, *args, &block)
94
98
  return query.public_send(method, *args, &block) if method_defined?(method)
95
99
 
96
- fail DomainMethodError, method if @domain.respond_to?(method)
100
+ raise DomainMethodError, method if @domain.respond_to?(method)
97
101
  super
98
102
  end
99
103
  end
@@ -1,3 +1,3 @@
1
1
  module Repositorish
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
@@ -63,6 +63,7 @@ RSpec.describe 'ActiveRecord integration' do
63
63
  mary = User.create(name: 'Mary', last_sign_in_at: 1.day.ago, confirmed_at: 2.day.ago)
64
64
  john = User.create(name: 'John', last_sign_in_at: 2.week.ago, confirmed_at: 1.month.ago)
65
65
 
66
+ expect(UserRepository.active).to respond_to(:count)
66
67
  expect(UserRepository.confirmed).to contain_exactly(john, mary)
67
68
  expect(UserRepository.active).to contain_exactly(mary)
68
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repositorish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Glauber Campinho