yaml_pack 0.0.1.beta → 0.0.2.alpha

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.
data/lib/yaml_pack.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'core_ext/hash'
2
2
 
3
3
  class YamlPack
4
- VERSION = "0.0.1.beta"
4
+ VERSION = "0.0.2.alpha"
5
5
 
6
6
  KEY_CONVERTERS = {
7
7
  :symbolize => Proc.new{|key, previous_keys| key.respond_to?(:to_sym) ? key.to_sym : key }
@@ -39,6 +39,17 @@ class YamlPack
39
39
  hsh
40
40
  end
41
41
 
42
+ # Include the contents of given file into yaml template.
43
+ # Use this inside your yaml-file.
44
+ #
45
+ # <%= include_file('/path/to/file.yml') %>
46
+ #
47
+ # DEBT: extract into own module/class
48
+ #
49
+ def include_file(file_path)
50
+ File.read(file_path)
51
+ end
52
+
42
53
  def content(file_path)
43
54
  body = File.read(file_path) || ""
44
55
  [header, body].join("\n")
@@ -0,0 +1 @@
1
+ <%= include_file("spec/fixtures/yaml_pack/names.yml") %>
@@ -57,6 +57,15 @@ describe YamlPack do
57
57
  result['countries']['ch']['name'].should == 'Schweiz'
58
58
  end
59
59
 
60
+ it "#include_file properly includes files" do
61
+ files = [
62
+ 'spec/fixtures/yaml_pack/include_file.yml'
63
+ ]
64
+
65
+ result = YamlPack.new(files).load_deep_merged
66
+ result['countries']['ch']['name'].should == 'Switzerland'
67
+ end
68
+
60
69
  it "replicate nesting of subfolders into resulting hash" do
61
70
  files = [
62
71
  'spec/fixtures/yaml_pack/names.yml',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.beta
4
+ version: 0.0.2.alpha
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-23 00:00:00.000000000 Z
12
+ date: 2012-02-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70130604858320 !ruby/object:Gem::Requirement
16
+ requirement: &70343591986120 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70130604858320
24
+ version_requirements: *70343591986120
25
25
  description: ! "\n YamlPack is a small framework for writing large and complex
26
26
  configuration files in yml.\n It supports nesting and merging merging yaml files.\n
27
27
  \ "
@@ -41,6 +41,7 @@ files:
41
41
  - spec/fixtures/.DS_Store
42
42
  - spec/fixtures/yaml_pack/countries/sweden.yml
43
43
  - spec/fixtures/yaml_pack/empty.yml
44
+ - spec/fixtures/yaml_pack/include_file.yml
44
45
  - spec/fixtures/yaml_pack/names.yml
45
46
  - spec/fixtures/yaml_pack/names_german.yml
46
47
  - spec/fixtures/yaml_pack/population.yml
@@ -75,6 +76,7 @@ test_files:
75
76
  - spec/fixtures/.DS_Store
76
77
  - spec/fixtures/yaml_pack/countries/sweden.yml
77
78
  - spec/fixtures/yaml_pack/empty.yml
79
+ - spec/fixtures/yaml_pack/include_file.yml
78
80
  - spec/fixtures/yaml_pack/names.yml
79
81
  - spec/fixtures/yaml_pack/names_german.yml
80
82
  - spec/fixtures/yaml_pack/population.yml