hydrochlorb 0.0.3 → 0.0.4

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
  SHA256:
3
- metadata.gz: 5e54da8a58c7f2e991ed2cb437bc925fae1b643148e4cb84b7d9740715c6d6da
4
- data.tar.gz: 3653f62a621106222d8468ca2ece318817f7a8d5e5f99f53d47241e2376140f9
3
+ metadata.gz: cc11b7344bae61a9fee4c68f790c72dc2b8d8093772ede2cb7688e881c7dc5a2
4
+ data.tar.gz: dd32838c65549e87f5ab54731c7e23ba0c435af8aabd6da43207b3d912d0a51a
5
5
  SHA512:
6
- metadata.gz: b7c313744016378006871d30f4ae2cc883a2ae42eb0f55f82ea8539ce9e5c663775ecac86c4cf052a5139fa9266325d3bed3a8473fed9fbff9cad9c9f5185909
7
- data.tar.gz: c1106d22fcbc599a16adc2ede2b2a33993891903a3a08764c70ded1f86dc573cba3ff2577da00eeb8e70ea4b6c3da3a56e95a3a689cc77d87682fab5851132b5
6
+ metadata.gz: 1b506bd97ef9c5587db39bf4632ea97a56eebb7f668600198e7d1cc0ec093c4147625672249b7ecf49de4a461241036c11b2f6d51efd8aeaae60300cad191741
7
+ data.tar.gz: 5a99632255d034f3b6291a38b72b4891dbb31bd1e165006c28bd96af80dcba9a121b8f540ce527954349b9106e35ceaf6fa941f1dff54df8d335a5235409e971
@@ -4,6 +4,7 @@ class Hydrochlorb::Builder
4
4
  def initialize(options = {}, &block)
5
5
  @attributes = {}
6
6
  @current = @attributes
7
+ @context = nil
7
8
 
8
9
  build(&block) if block_given?
9
10
  end
@@ -11,13 +12,19 @@ class Hydrochlorb::Builder
11
12
  def build(&block)
12
13
  return unless block_given?
13
14
 
15
+ @context = eval('self', block.binding)
16
+
14
17
  instance_eval(&block)
15
18
 
16
19
  self
17
20
  end
18
21
 
19
22
  def method_missing(method, *args, &block)
20
- add(method, *args, &block)
23
+ if @context and @context.respond_to?(method)
24
+ @context.send(method, *args, &block)
25
+ else
26
+ add(method, *args, &block)
27
+ end
21
28
  end
22
29
 
23
30
  def add(*args, &block)
@@ -1,5 +1,5 @@
1
1
  module Hydrochlorb
2
- VERSION = '0.0.3'.freeze
2
+ VERSION = '0.0.4'.freeze
3
3
 
4
4
  def version
5
5
  VERSION
@@ -180,4 +180,18 @@ describe Hydrochlorb do
180
180
  }
181
181
  EOF
182
182
  end
183
+
184
+ it 'can handle method in different context' do
185
+ def bar
186
+ 'barbar'
187
+ end
188
+
189
+ hcl = Hydrochlorb.build do
190
+ foo bar
191
+ end.to_hcl
192
+
193
+ expect(hcl).to eq <<~EOF.chomp
194
+ foo = "barbar"
195
+ EOF
196
+ end
183
197
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydrochlorb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rianol Jou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-02 00:00:00.000000000 Z
11
+ date: 2019-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler