hanami-mongoid 0.1.0 → 0.1.1
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/Gemfile.lock +54 -0
- data/README.md +2 -2
- data/hanami-mongoid.gemspec +2 -3
- data/lib/hanami/mongoid/repository.rb +11 -12
- data/lib/hanami/mongoid/version.rb +1 -1
- metadata +10 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81e003546b0e52d207b08cae9b6749ff859776d956dc118b10c155b55e7823d0
|
4
|
+
data.tar.gz: d7d9faed4412d7e58f0374ec774e06e2e8e571f8cd741af00a55f11f1185507b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d97d5ea32dd3edb4904bec66793a1799e27737677ded65a2eedd9ee973e55c78d74f7ea130b5333dc0c0d98cb60deab575da1a8e23b17293cb53ec7a5c5fe9b
|
7
|
+
data.tar.gz: c4c9044c9e9a563918c5fc18f804d4254203087dc77d3c8334332c9193d310dda36a32a368084226216b9f5cb6115b8a20232d21096283f23f486e9ba2d5acb6
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
hanami-mongoid (0.1.0)
|
5
|
+
mongoid
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
activemodel (5.2.2.1)
|
11
|
+
activesupport (= 5.2.2.1)
|
12
|
+
activesupport (5.2.2.1)
|
13
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
14
|
+
i18n (>= 0.7, < 2)
|
15
|
+
minitest (~> 5.1)
|
16
|
+
tzinfo (~> 1.1)
|
17
|
+
bson (4.4.2)
|
18
|
+
concurrent-ruby (1.1.5)
|
19
|
+
diff-lcs (1.3)
|
20
|
+
i18n (1.6.0)
|
21
|
+
concurrent-ruby (~> 1.0)
|
22
|
+
minitest (5.11.3)
|
23
|
+
mongo (2.7.1)
|
24
|
+
bson (>= 4.4.2, < 5.0.0)
|
25
|
+
mongoid (7.0.2)
|
26
|
+
activemodel (>= 5.1, < 6.0.0)
|
27
|
+
mongo (>= 2.5.1, < 3.0.0)
|
28
|
+
rspec (3.8.0)
|
29
|
+
rspec-core (~> 3.8.0)
|
30
|
+
rspec-expectations (~> 3.8.0)
|
31
|
+
rspec-mocks (~> 3.8.0)
|
32
|
+
rspec-core (3.8.0)
|
33
|
+
rspec-support (~> 3.8.0)
|
34
|
+
rspec-expectations (3.8.2)
|
35
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
+
rspec-support (~> 3.8.0)
|
37
|
+
rspec-mocks (3.8.0)
|
38
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
39
|
+
rspec-support (~> 3.8.0)
|
40
|
+
rspec-support (3.8.0)
|
41
|
+
thread_safe (0.3.6)
|
42
|
+
tzinfo (1.2.5)
|
43
|
+
thread_safe (~> 0.1)
|
44
|
+
|
45
|
+
PLATFORMS
|
46
|
+
ruby
|
47
|
+
|
48
|
+
DEPENDENCIES
|
49
|
+
bundler
|
50
|
+
hanami-mongoid!
|
51
|
+
rspec
|
52
|
+
|
53
|
+
BUNDLED WITH
|
54
|
+
2.0.1
|
data/README.md
CHANGED
@@ -51,8 +51,8 @@ end
|
|
51
51
|
This way you can keep separated the repository and entity logic as Hanami suggests.
|
52
52
|
You can call the usual database related methods using the repository:
|
53
53
|
```ruby
|
54
|
-
BookRepository.first # #<Book:0x00007fd8b6bea578>
|
55
|
-
BookRepository.find('5af4c697699bbdaad') # #<Book id: 5af4c697699bbdaad>
|
54
|
+
BookRepository.new.first # #<Book:0x00007fd8b6bea578>
|
55
|
+
BookRepository.new.find('5af4c697699bbdaad') # #<Book id: 5af4c697699bbdaad>
|
56
56
|
```
|
57
57
|
Or even collection specific methods, for example `insert_many` or `aggregate`.
|
58
58
|
|
data/hanami-mongoid.gemspec
CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.add_dependency "mongoid"
|
26
26
|
|
27
|
-
spec.add_development_dependency "bundler"
|
28
|
-
spec.add_development_dependency "
|
29
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
27
|
+
spec.add_development_dependency "bundler"
|
28
|
+
spec.add_development_dependency "rspec"
|
30
29
|
end
|
@@ -6,32 +6,31 @@ module Hanami
|
|
6
6
|
# Model class
|
7
7
|
#
|
8
8
|
# @return [Class] the model class
|
9
|
-
def
|
10
|
-
Object.const_get self.name.gsub('Repository', '')
|
9
|
+
def model_klass
|
10
|
+
Object.const_get self.class.name.gsub('Repository', '')
|
11
11
|
end
|
12
12
|
|
13
13
|
##
|
14
|
-
# Forwards common repository methods to the model
|
15
|
-
%i( find where any_of all first last
|
16
|
-
|
17
|
-
|
18
|
-
puts self.inspect
|
14
|
+
# Forwards common repository methods to the model
|
15
|
+
%i( find where any_of all first last new create
|
16
|
+
destroy_all delete_all update_all ).each do |method|
|
17
|
+
define_method method do |*args|
|
19
18
|
self.model_klass.send method, *args
|
20
19
|
end
|
21
20
|
end
|
22
21
|
|
23
22
|
##
|
24
|
-
# Forwards common repository methods to the model
|
25
|
-
%i( update_attributes update
|
26
|
-
define_method method do
|
27
|
-
self.send method, *args
|
23
|
+
# Forwards common repository methods to the model instance
|
24
|
+
%i( destroy delete update_attributes update ).each do |method|
|
25
|
+
define_method method do |entity_id, *args|
|
26
|
+
self.model_klass.find(entity_id).send method, *args
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
31
30
|
##
|
32
31
|
# Forwards common repository methods to the model's collection
|
33
32
|
%i( insert_many aggregate ).each do |method|
|
34
|
-
|
33
|
+
define_method method do |*args|
|
35
34
|
self.model_klass.collection.send method, *args
|
36
35
|
end
|
37
36
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami-mongoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francesco Ballardin
|
@@ -28,44 +28,30 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '2.0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '2.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
31
|
+
- - ">="
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
33
|
+
version: '0'
|
48
34
|
type: :development
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
|
-
- - "
|
38
|
+
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
40
|
+
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rspec
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
|
-
- - "
|
45
|
+
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
47
|
+
version: '0'
|
62
48
|
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- - "
|
52
|
+
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
54
|
+
version: '0'
|
69
55
|
description: Adds repositories and wraps Mongoid methods for Hanami.
|
70
56
|
email:
|
71
57
|
- francesco.ballardin@develonproject.com
|
@@ -77,6 +63,7 @@ files:
|
|
77
63
|
- ".rspec"
|
78
64
|
- ".travis.yml"
|
79
65
|
- Gemfile
|
66
|
+
- Gemfile.lock
|
80
67
|
- README.md
|
81
68
|
- Rakefile
|
82
69
|
- bin/console
|