exel 1.2.0 → 1.2.1

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: 6bb6f49bf87e5bdf9dab0634d6ba7ea975335aed
4
- data.tar.gz: 661b46455bab58722f422f341f2470ded9519853
3
+ metadata.gz: ddd9afec5ea8298052cc0ee3aee03dedb9c1e085
4
+ data.tar.gz: 51c89e0ccad9b2be2dbc8961c52d0c80fad5fe24
5
5
  SHA512:
6
- metadata.gz: 359c314ec2a54d8e229738a44e0a243636c644fb451e82a013a26f04317bd3964ddefbe982781ae76abb40a3550ce34c457b1663a70f371b57e0a5183e01d195
7
- data.tar.gz: c3a4b9799e38d4b4d8f2af6ab62141001b71377faaea6eac83caed5cbe647755f5cbd5c8a1322b1a576f4ab688ced6972c8cfbfe57bff3c39dfed8326d4c2c76
6
+ metadata.gz: 81c0b0b05b1d5fbd01de78c75e342e7a4beb557d9c4bc70ff5aed5835e50c108e6f3326b6fc095e15375fc38a0872decaa6df63d2f627cbcaa26a6852a12c144
7
+ data.tar.gz: 3628008c5f8479ef6dab87a5229bc024117b49a3ba668a16e451f1dbdf0b216b323bd8ac80a4154eda090ac0db1c322e805ef6861a07f21c881224577e068979
@@ -47,5 +47,5 @@ module EXEL
47
47
  end
48
48
 
49
49
  root = File.expand_path('../..', __FILE__)
50
- Dir[File.join(root, 'lib/exel/**/*.rb')].reject { |file| file.include?('old_context') }.each { |file| require file }
50
+ Dir[File.join(root, 'lib/exel/**/*.rb')].each { |file| require file }
51
51
  end
@@ -28,31 +28,17 @@ module EXEL
28
28
  # Given a string representing the URI to a serialized context, downloads and returns the deserialized context
29
29
  #
30
30
  # @return [Context]
31
- # rubocop:disable Metrics/MethodLength
32
31
  def self.deserialize(uri)
33
32
  file = EXEL::Value.localize(uri)
34
33
 
35
34
  begin
36
35
  context = Marshal.load(file.read)
37
- rescue
38
- # temporarily in place for backwards compatibility
39
-
40
- dir = File.expand_path('..', __FILE__)
41
-
42
- EXEL.send(:remove_const, :Context)
43
- load File.join(dir, 'old_context.rb')
44
-
45
- context = Context.deserialize(uri)
46
-
47
- EXEL.send(:remove_const, :Context)
48
- load File.join(dir, 'context.rb')
49
36
  ensure
50
37
  file.close
51
38
  end
52
39
 
53
40
  context
54
41
  end
55
- # rubocop:enable Metrics/MethodLength
56
42
 
57
43
  # Returns the value referenced by the given key. If it is a remote value, it will be converted to a local value and
58
44
  # the local value will be returned.
@@ -1,3 +1,3 @@
1
1
  module EXEL
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.2.1'.freeze
3
3
  end
@@ -3,7 +3,7 @@ CodeClimate::TestReporter.start
3
3
 
4
4
  require 'pry'
5
5
 
6
- Dir[File.expand_path('../../lib/**/*.rb', __FILE__)].reject { |f| f.include?('old_context') }.each { |f| require f }
6
+ Dir[File.expand_path('../../lib/**/*.rb', __FILE__)].each { |f| require f }
7
7
 
8
8
  # Requires supporting ruby files with custom matchers and macros, etc,
9
9
  # in spec/support/ and its subdirectories.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - yroo
@@ -208,7 +208,6 @@ files:
208
208
  - lib/exel/listen_instruction.rb
209
209
  - lib/exel/logging.rb
210
210
  - lib/exel/null_instruction.rb
211
- - lib/exel/old_context.rb
212
211
  - lib/exel/processor_helper.rb
213
212
  - lib/exel/processors/async_processor.rb
214
213
  - lib/exel/processors/run_processor.rb
@@ -1,109 +0,0 @@
1
- require 'tempfile'
2
-
3
- module EXEL
4
- # This is here for one version for backwards compatibility with already serialized contexts, which can't
5
- # be deserialized with the new +Context+ class
6
- class Context
7
- # Internal hash of keys/values in the context. Use {#[]} and {#[]=} to get and set values instead of this.
8
- attr_reader :table
9
-
10
- # Accepts an optional hash of keys and values to initialize the context with.
11
- def initialize(initial_context = {})
12
- @table = initial_context
13
- end
14
-
15
- # Returns a deep copy of this context. The copy and the original will have no shared object references.
16
- #
17
- # @return [Context]
18
- def deep_dup
19
- Context.deserialize(serialize)
20
- end
21
-
22
- # Serializes this instance to a local file and uses the remote provider to upload it. Returns a URI indicating where
23
- # the serialized context can be downloaded.
24
- #
25
- # @return [String] A URI such as +s3://bucket/file+, +file:///path/to/file+, etc.
26
- def serialize
27
- EXEL::Value.remotize(serialized_context)
28
- end
29
-
30
- # Given a string representing the URI to a serialized context, downloads and returns the deserialized context
31
- #
32
- # @return [Context]
33
- def self.deserialize(uri)
34
- file = EXEL::Value.localize(uri)
35
- context = Marshal.load(file.read)
36
- file.close
37
- context
38
- end
39
-
40
- def foobar
41
- puts 'hi'
42
- end
43
-
44
- # Returns the value referenced by the given key
45
- def [](key)
46
- value = EXEL::Value.localize(@table[key])
47
- value = get_deferred(value)
48
- @table[key] = value
49
- value
50
- end
51
-
52
- # Stores the given key/value pair
53
- def []=(key, value)
54
- @table[key] = value
55
- end
56
-
57
- # Adds the given key/value pairs to the context, overriding any keys that are already present.
58
- #
59
- # @return [Context]
60
- def merge!(hash)
61
- @table.merge!(hash)
62
- self
63
- end
64
-
65
- # Removes the value referenced by +key+ from the context
66
- def delete(key)
67
- @table.delete(key)
68
- end
69
-
70
- # Two Contexts are equal if they contain the same key/value pairs
71
- def ==(other)
72
- other.is_a?(EXEL::Context) && table == other.table
73
- end
74
-
75
- # Returns true if this instance contains all of the given key/value pairs
76
- def include?(hash)
77
- @table.merge(hash) == @table
78
- end
79
-
80
- private
81
-
82
- def serialized_context
83
- file = Tempfile.new(SecureRandom.uuid, encoding: 'ascii-8bit')
84
- file.write(Marshal.dump(Context.new(remotized_table)))
85
- file.rewind
86
- file
87
- end
88
-
89
- def remotized_table
90
- @table.each_with_object({}) { |(key, value), acc| acc[key] = EXEL::Value.remotize(value) }
91
- end
92
-
93
- def get_deferred(value)
94
- if deferred?(value)
95
- value = value.get(self)
96
- elsif value.is_a?(Array)
97
- value.map! { |v| get_deferred(v) }
98
- elsif value.is_a?(Hash)
99
- value.each { |k, v| value[k] = get_deferred(v) }
100
- end
101
-
102
- value
103
- end
104
-
105
- def deferred?(value)
106
- value.is_a?(DeferredContextValue)
107
- end
108
- end
109
- end