yaml-sugar 0.0.8 → 0.0.9

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ab3bdfaef086854e51b7365a4fd127ce3437290f
4
+ data.tar.gz: 597894290c837ad6c0ad9dd2633bce7d447ead17
5
+ SHA512:
6
+ metadata.gz: 66cac587de7d98edefd37dc81cc755fb74ccc2f299ce27879fe2a811f7b06555d6c9b0ea26773bb4fbcf4149157a9e9ee96a07877132c359ef77ee936ae8379d
7
+ data.tar.gz: d499cd15979a4c6c41797d910d5b7f91485e1a0a96e122b3b2ee8c4cea86e08df690d1eeb9563ed6d8826e647abbf4e7b45adf132602878b0676578ed772a0e7
@@ -8,42 +8,47 @@ require 'ostruct'
8
8
  module YamlSugar
9
9
  class Sugar
10
10
  attr_reader :config
11
+ extend Gem::Deprecate
11
12
 
12
- def method_missing(method_sym, *_args)
13
- if @config.respond_to? method_sym
14
- @config.send method_sym
15
- else
16
- super
13
+ def initialize
14
+ @config = OpenStruct.new
17
15
  end
18
- end
19
16
 
20
- def set(attr, value)
21
- self.class.instance_eval do
22
- define_method(attr) { value }
17
+ def method_missing(method_sym, *args)
18
+ if @config.respond_to? method_sym
19
+ @config.send method_sym, *args
20
+ elsif method_sym.to_s.end_with?('=')
21
+ @config.send method_sym, *args
22
+ else
23
+ nil
24
+ end
23
25
  end
24
- end
25
26
 
26
- def load(dir, args = {})
27
- deep_merge = args.fetch :deep_merge, false
28
- fail "Parameter #{File.join(Dir.pwd, dir)} is not a valid directory" unless File.directory? dir
27
+ def set(attr, value)
28
+ @config.send("#{attr.to_s}=", value)
29
+ end
30
+ deprecate :set, '.attr =', 2016, 9
31
+
32
+ def load(dir, args = {})
33
+ deep_merge = args.fetch :deep_merge, false
34
+ fail "Parameter #{File.join(Dir.pwd, dir)} is not a valid directory" unless File.directory? dir
29
35
 
30
- @yaml_files ||= []
31
- @config ||= OpenStruct.new
32
- Find.find(dir) do |yaml_file|
33
- next unless yaml_file =~ /.*\.yml$/ or yaml_file =~ /.*\.yaml$/
34
- new_config = YAML.load_file(yaml_file)
36
+ @yaml_files ||= []
37
+ Find.find(dir) do |yaml_file|
38
+ next unless yaml_file =~ /.*\.yml$/ or yaml_file =~ /.*\.yaml$/
39
+ new_config = YAML.load_file(yaml_file)
35
40
 
36
- attr_name = File.basename(yaml_file, File.extname(yaml_file)).to_sym
37
- if @config.respond_to?(attr_name)
38
- old_config = @config.send(attr_name).to_hash
39
- if deep_merge
40
- new_config = new_config.deep_merge(old_config)
41
- else
42
- new_config = old_config.merge(new_config)
41
+ attr_name = File.basename(yaml_file, File.extname(yaml_file)).to_sym
42
+ if @config.respond_to?(attr_name)
43
+ old_config = @config.send(attr_name).to_hash
44
+ if deep_merge
45
+ new_config = new_config.deep_merge(old_config)
46
+ else
47
+ new_config = old_config.merge(new_config)
48
+ end
43
49
  end
50
+ @config.send("#{attr_name}=", new_config.to_hashugar)
44
51
  end
45
- @config.send("#{attr_name}=", new_config.to_hashugar)
46
52
  end
47
53
  end
48
54
  end
49
- end
@@ -1,4 +1,4 @@
1
1
  # yaml-sugar gem version
2
2
  module YamlSugar
3
- VERSION = '0.0.8'
3
+ VERSION = '0.0.9'
4
4
  end
@@ -14,8 +14,8 @@ module YamlSugar
14
14
  end
15
15
 
16
16
  # Define on self, since it's a module method
17
- def self.method_missing(method_sym, *_args)
18
- @config.send method_sym, *_args
17
+ def self.method_missing(method_sym, *args)
18
+ @config.send method_sym, *args
19
19
  end
20
20
 
21
21
  def self.load(dir, args = {})
@@ -23,4 +23,3 @@ module YamlSugar
23
23
  @config.load(dir, args)
24
24
  end
25
25
  end
26
-
metadata CHANGED
@@ -1,46 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml-sugar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
5
- prerelease:
4
+ version: 0.0.9
6
5
  platform: ruby
7
6
  authors:
8
7
  - Daniel Han
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-04-15 00:00:00.000000000 Z
11
+ date: 2016-05-20 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: hashugar
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1.0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: deep_merge
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
33
  version: '1.0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
40
  version: '1.0'
46
41
  description: Read yaml files recursively from a given directory and return an OpenStruct
@@ -49,33 +44,32 @@ executables: []
49
44
  extensions: []
50
45
  extra_rdoc_files: []
51
46
  files:
47
+ - lib/yaml-sugar.rb
52
48
  - lib/yaml-sugar/sugar.rb
53
49
  - lib/yaml-sugar/version.rb
54
50
  - lib/yaml-sugar/yaml-sugar.rb
55
- - lib/yaml-sugar.rb
56
51
  homepage: https://github.com/hex0cter/yaml-sugar
57
52
  licenses:
58
53
  - MIT
54
+ metadata: {}
59
55
  post_install_message:
60
56
  rdoc_options: []
61
57
  require_paths:
62
58
  - lib
63
59
  required_ruby_version: !ruby/object:Gem::Requirement
64
- none: false
65
60
  requirements:
66
- - - ! '>='
61
+ - - ">="
67
62
  - !ruby/object:Gem::Version
68
- version: '0'
63
+ version: 1.9.3
69
64
  required_rubygems_version: !ruby/object:Gem::Requirement
70
- none: false
71
65
  requirements:
72
- - - ! '>='
66
+ - - ">="
73
67
  - !ruby/object:Gem::Version
74
68
  version: '0'
75
69
  requirements: []
76
70
  rubyforge_project:
77
- rubygems_version: 1.8.23.2
71
+ rubygems_version: 2.5.1
78
72
  signing_key:
79
- specification_version: 3
80
- summary: Read yaml into an OpenStruct
73
+ specification_version: 4
74
+ summary: Read yaml files into an OpenStruct
81
75
  test_files: []