husky 0.1.8 → 0.1.9

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
2
  SHA1:
3
- metadata.gz: eb51ee17cd30f5c8ed4c3d1803c7958501da4624
4
- data.tar.gz: 62d6b9babbd7dce095a254e2bf534fcab6f2a13b
3
+ metadata.gz: e427216170b3e782dd8af00f3cf775ee151845bf
4
+ data.tar.gz: 4ad10354c1faf617c5d64a0877c534d2924ce21a
5
5
  SHA512:
6
- metadata.gz: 72577d9812cd3c07a75cf881a0f5febbd311ac06598d0f3f09d95834826dabbcf1d096cfd62576ed86e8e7d9584437cbdd58a64447974c3340951e678940216c
7
- data.tar.gz: 7d001e0746d8d563a39104829adb123ed126badb16d734cbdd78bb9ecf5049be782897da6e5130778afe7e029dfee572a4dd134b6d5cdbe7fe349af8aee8d7e2
6
+ metadata.gz: a18295ea4754fb394792ffde5243ee83d2d21f0363b5442e663a1b94907d1e9bd63fc57b5344fc3a9e487f096477a35e0122d03bb0722066f2c0749eb15203e5
7
+ data.tar.gz: b8ddf6b17dcc016f209388b0dd1b7a46b7f9a3bf8d9c556643e5b130cceee1976d06c4d62987264a5732a66676b306c6d71b965d9bd6015e5e9bf9e432b05730
@@ -4,6 +4,18 @@ module Husky
4
4
 
5
5
  class InMemory
6
6
 
7
+ class << self
8
+
9
+ def has_many(association)
10
+ define_method association do
11
+ singular_association = association.to_s[0..-2].to_sym
12
+ klass_id = "#{self.class.name.split('::')[1].downcase}_id".to_sym
13
+ Repository.for(singular_association).all.select { |k,v| v.send(klass_id) == self.id }
14
+ end
15
+ end
16
+
17
+ end
18
+
7
19
  attr_reader :attributes
8
20
  attr_accessor :id
9
21
 
data/lib/husky/repo.rb CHANGED
@@ -99,6 +99,26 @@ module Husky
99
99
 
100
100
  end
101
101
 
102
+ class Registry
103
+
104
+ class << self
105
+
106
+ def register(type, repo)
107
+ repositories[type] = repo
108
+ end
109
+
110
+ def repositories
111
+ @repositories ||= {}
112
+ end
113
+
114
+ def for(type)
115
+ repositories[type]
116
+ end
117
+
118
+ end
119
+
120
+ end
121
+
102
122
  end
103
123
 
104
124
  end
data/lib/husky/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Husky
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: husky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Fiser