kaicho 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kaicho.rb +15 -0
  3. data/lib/kaicho/version.rb +1 -1
  4. metadata +9 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10295f3c7c5a763d97c7f2e611c1f63766a6250d937e1295881031fecda0d08e
4
- data.tar.gz: bf5e3bd28fbd09324a6944cdb09035d5c83bdfae97a4abefac3715255b302527
3
+ metadata.gz: 8effcaf99e8ff37a8ef2a6972db7d3ac82e959465fc3010770e201cf6f640d2c
4
+ data.tar.gz: 199b53c00dadae3f74a5ca1c36198feeb56a0a5237086925ab55aaad35ad523a
5
5
  SHA512:
6
- metadata.gz: 275467c78b00d15d69d4b614e62080ac40bae1fe11b3513464856f7c06e9fa6a4c01f2e2c372fdc5893a24f39f7abe2bbbeb3633a881a9ea6bb869cd59a23b28
7
- data.tar.gz: eb7a56313adcb19c7fe8faebb5590795231c188bb2e8e89cade8d3417467bc1ac1dd68cc1684f45e310e6396f7234b85a7885801ebabf2cf3763a456a2907df3
6
+ metadata.gz: 88037ce21d7afc3a69a55e1538e16644651d185b95737f24b77d4da11d27a81c9b78a41bb6feb5a0ad33ecfca8f4a59d743cde4cd3351bae76ba4b13cf15c1aa
7
+ data.tar.gz: b5e5703d401a0a931b6e94e8f1e1102ce73f10973e9070b610c251da2eea2c6b9bc114891fa3f192f1ced75107e2399de0cc5ffb4bd7804ac3ce9e8b0926000a
@@ -93,6 +93,7 @@ module Kaicho
93
93
  end
94
94
 
95
95
  define_singleton_method(dname) do
96
+ update_depends(dname)
96
97
  update_resource(dname, rand) unless resource_defined?(dname)
97
98
  read.call
98
99
  end
@@ -117,7 +118,18 @@ module Kaicho
117
118
  ->(v) { share.class_variable_set(:"@@#{dname}", v) }
118
119
  end
119
120
 
121
+ read =
122
+ if share.nil?
123
+ -> { instance_variable_get(:"@#{dname}") }
124
+ else
125
+ -> { share.class_variable_get(:"@@#{dname}") }
126
+ end
127
+
120
128
  define_singleton_method(:"#{dname}=") do |v|
129
+ if resource_defined?(dname) && read.call == v
130
+ return v
131
+ end
132
+
121
133
  write.call(v)
122
134
  update_dependants(dname, rand)
123
135
  v
@@ -283,6 +295,9 @@ module Kaicho
283
295
  update_resource(d, udid) unless resource_defined?(d)
284
296
  when :fail
285
297
  return false unless resource_defined?(d)
298
+ when Proc, UnboundMethod, Method
299
+ o = o.bind(self) if o.is_a?(UnboundMethod)
300
+ update_resource(d, udid) if o.call
286
301
  end
287
302
  end
288
303
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Kaicho
4
4
  # Version of Kaicho
5
- VERSION = '0.2.2'
5
+ VERSION = '0.3.0'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaicho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stone Tickle
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-18 00:00:00.000000000 Z
11
+ date: 2019-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -54,22 +54,22 @@ dependencies:
54
54
  name: rspec
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '3.8'
60
57
  - - ">="
61
58
  - !ruby/object:Gem::Version
62
59
  version: 3.8.0
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '3.8'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '3.8'
70
67
  - - ">="
71
68
  - !ruby/object:Gem::Version
72
69
  version: 3.8.0
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '3.8'
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: coveralls
75
75
  requirement: !ruby/object:Gem::Requirement
@@ -128,8 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  requirements: []
131
- rubyforge_project:
132
- rubygems_version: 2.7.6
131
+ rubygems_version: 3.0.1
133
132
  signing_key:
134
133
  specification_version: 4
135
134
  summary: a resource manager