husky 0.1.8 → 0.1.9

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
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