ree 1.2.3 → 1.2.4

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
  SHA256:
3
- metadata.gz: 1b2a4983f915c5d0761d563998b0c5a6fa9bd344d39e61046e47c088b5f53b4d
4
- data.tar.gz: 2ec723f70527921b5784989d5f4294a211c5cb5015fe2e16b181990829979dde
3
+ metadata.gz: a73f9d4ffa414ae499d87732f896c437117f65b52b7675908eb8581d482946f4
4
+ data.tar.gz: '0328c44c6cb7d7dddae52494fb057e1b88f84a8d2c7f28ea62c202bcb1c74125'
5
5
  SHA512:
6
- metadata.gz: f86a204bf1134fbc800898d98e4d379bd9b7e9275db0e4ae6aa278142b6e3af3ef7b5f276eb4a301f711b024737c70dcb0d3e251985854747b0042899fea69f0
7
- data.tar.gz: 4e20a1cc184a8b94472c707c07512827e5359626ddf5deb1f9e507fd46f37caac565330d526cee852de120585d3d9b949b809820c3492bc25463cafcd2eea919
6
+ metadata.gz: 367764b547db08f4c975a0ea141c7563e5536612d05bf48388cf8b9100dc381573dcdb9081b6c73a6880ff9bc57fbe45cbda09c51030aa370bd032997a372cd2
7
+ data.tar.gz: 4177a967cc3fa694fc03b6302fc10de386dea9ec2c328d16fbe53f4a765c1b4e0d25e9817d99ea0100fca3975b470a73192bc848d77684235771524651e06657
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ree (1.2.3)
4
+ ree (1.2.4)
5
5
  commander (~> 5.0.0)
6
6
  logger (~> 1.6.5)
7
7
 
@@ -12,14 +12,14 @@ class Ree::BenchmarkMethodPlugin
12
12
  end
13
13
 
14
14
  def call
15
- config = @target.instance_variable_get(:@__ree_benchmark_config)
15
+ return unless @method_name == :call && ree_fn?
16
16
 
17
- if @method_name == :call
18
- if config
19
- wrap_as_entry_point(config)
20
- else
21
- wrap_as_collector
22
- end
17
+ config = @target.instance_variable_get(:@__ree_benchmark_config)
18
+
19
+ if config
20
+ wrap_as_entry_point(config)
21
+ else
22
+ wrap_as_collector
23
23
  end
24
24
  end
25
25
 
@@ -41,7 +41,11 @@ class Ree::BenchmarkMethodPlugin
41
41
  benchmark_done = false
42
42
 
43
43
  alias_target.define_method(method_name) do |*args, **kwargs, &block|
44
- if once && benchmark_done
44
+ if Ree::BenchmarkTracer.active?
45
+ Ree::BenchmarkTracer.collect(benchmark_name) do
46
+ send(method_alias, *args, **kwargs, &block)
47
+ end
48
+ elsif once && benchmark_done
45
49
  Ree::BenchmarkTracer.collect(benchmark_name) do
46
50
  send(method_alias, *args, **kwargs, &block)
47
51
  end
@@ -85,6 +89,17 @@ class Ree::BenchmarkMethodPlugin
85
89
  @method_name == :call ? base : "#{base}##{@method_name}"
86
90
  end
87
91
 
92
+ def ree_fn?
93
+ pkg = @target.instance_variable_get(:@__ree_package_name)
94
+ obj = @target.instance_variable_get(:@__ree_object_name)
95
+ return false unless pkg && obj
96
+
97
+ facade = Ree.container.packages_facade
98
+ return false unless facade.has_object?(pkg, obj)
99
+
100
+ facade.get_object(pkg, obj).fn?
101
+ end
102
+
88
103
  def eigenclass
89
104
  class << @target; self; end
90
105
  end
@@ -34,6 +34,11 @@ class Ree::BenchmarkTracer
34
34
  result
35
35
  end
36
36
 
37
+ def active?
38
+ stack = Thread.current[THREAD_KEY]
39
+ stack && !stack.empty?
40
+ end
41
+
37
42
  # Collector trace — only participates if a trace is already active
38
43
  def collect(name)
39
44
  stack = Thread.current[THREAD_KEY]
@@ -333,6 +333,11 @@ class Ree::ObjectDsl
333
333
  .set_package(package.name)
334
334
  .set_rpath(object_rpath)
335
335
 
336
+ if mount_as == :fn
337
+ klass.instance_variable_set(:@__ree_package_name, package.name)
338
+ klass.instance_variable_set(:@__ree_object_name, object_name)
339
+ end
340
+
336
341
  package.set_object(object)
337
342
  object.set_loaded
338
343
 
data/lib/ree/fn_dsl.rb CHANGED
@@ -21,9 +21,6 @@ module Ree::FnDSL
21
21
  dsl.tags(["fn"])
22
22
  dsl.object.set_as_compiled(false)
23
23
 
24
- self.instance_variable_set(:@__ree_package_name, dsl.package.name)
25
- self.instance_variable_set(:@__ree_object_name, name)
26
-
27
24
  Ree.container.compile(dsl.package, name)
28
25
  end
29
26
  end
data/lib/ree/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ree
4
- VERSION = "1.2.3"
4
+ VERSION = "1.2.4"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ree
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruslan Gatiyatov