nginx-conf 0.0.6 → 0.0.7

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
  SHA1:
3
- metadata.gz: f55aa416b9f116f24110019bafe7739a4dee06a7
4
- data.tar.gz: b1c479d06625d9e92e558a1dc8385ab9fe1e6bdb
3
+ metadata.gz: b1505db4c8b8f524b38814653afc991e01a20c53
4
+ data.tar.gz: 82b269755c998abbb18ad62dfe61443a68e8b0b2
5
5
  SHA512:
6
- metadata.gz: 6d0028e76ca6668954900d4fc8a03e8dcdf5f147222860de00ef4ae07b66c864aa208e4d9954dadaa7d5e6fb193adf707be8c93f0d2ebc00b451a9bdcd8f6bae
7
- data.tar.gz: 629ef8ca068dc67a14055e10f9be95a8bb85adef9cf9d9fc2168889b4300b29f5d7d229a712b66bcf6e743a45cd50d2601b830a7eec89b0088fabb8aca5b8656
6
+ metadata.gz: 73cfa2c556baec73f7a85087a94f1fae0b1d71736773690f5899fbe7da286bdc8c7ccaca93e5bb50399c139d7d593b7af9b4f2bfc72ca5a9edb0157e16b40dfb
7
+ data.tar.gz: 2f8dc76fac06a8c613fbbd6f28c263fc35777ddbd3833990c9ec4a28059a3ff3122985be3bdd5b27d30979a92bad38d00b8afeb2582a06e6805c059aa479e774
@@ -34,19 +34,20 @@ class Compiler
34
34
  def compile_hash_without_brackets hash
35
35
  hash.map do |key, values|
36
36
  if @repeats.include? key
37
- values.map do |config|
38
- compile_hash_item key, [config]
39
- end.join()
37
+ values.map do |values_per_item|
38
+ compile_hash_item key, values_per_item
39
+ end.join
40
40
  else
41
41
  compile_hash_item key, values
42
42
  end
43
- end.join()
43
+ end.join
44
44
  end
45
45
 
46
46
  def compile_hash_item key, values
47
47
  values = [values] if not values.is_a? Array
48
48
 
49
- indent(key.to_s + ' ' + compile_elem(values) \
49
+ values_str = compile_elem(values)
50
+ indent(key.to_s + (values_str != '' ? ' ' + values_str : '') \
50
51
  + (values[-1].is_a?(Hash) ? "" : ";")) + "\n"
51
52
  end
52
53
 
@@ -5,6 +5,43 @@ require_relative 'compiler'
5
5
 
6
6
 
7
7
  def nginx_conf &block
8
- repeats = %i(server load_module fastcgi_param)
9
- Compiler.new(repeats).compile block_is_hash(repeats, &block)
8
+ repeats = %i(server load_module fastcgi_param set if_)
9
+
10
+ hash = block_is_hash repeats, &block
11
+ replace_if = lambda { |o| replace_elem :if_, :if, o }
12
+ replace_if.call hash
13
+ replace_if.call repeats
14
+ Compiler.new(repeats).compile hash
15
+ end
16
+
17
+
18
+ def replace_elem origin, subst, object
19
+ replace = lambda { |o| replace_elem origin, subst, o }
20
+
21
+ case object
22
+ when Hash
23
+ new_pairs = {}
24
+
25
+ object.each do |key, value|
26
+ case origin
27
+ when key
28
+ object.delete key
29
+ new_pairs[subst] = value
30
+ when value
31
+ object[key] = subst
32
+ else
33
+ replace.call value
34
+ end
35
+ end
36
+
37
+ object.merge! new_pairs
38
+ when Array
39
+ object.each_with_index do |value, key|
40
+ if value == origin
41
+ object[key] = subst
42
+ else
43
+ replace.call value
44
+ end
45
+ end
46
+ end
10
47
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nginx-conf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yota Toyama
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-25 00:00:00.000000000 Z
11
+ date: 2016-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: block-is-hash