kaicho 0.2.2 → 0.3.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.
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