yaml_convertor 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -15,4 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
- .rvm
18
+ .rvmrc
data/README.md CHANGED
@@ -14,33 +14,32 @@ The resulting simple key:value hash looks like this:
14
14
  ````
15
15
  {"fruit.lemon"=>"yellow", "fruit.apple.red_apples"=>"red"}
16
16
  ````
17
-
18
17
  This works the other way around, too: if you had the simple hash; you can reconstruct the YAML hash structure.
19
18
 
20
19
  ## Installation
21
20
 
22
21
  Add this line to your application's Gemfile:
23
-
22
+ ````
24
23
  gem 'yaml_convertor'
25
-
24
+ ````
26
25
  And then execute:
27
-
26
+ ````
28
27
  $ bundle
29
-
28
+ ````
30
29
  Or install it yourself as:
31
-
30
+ ````
32
31
  $ gem install yaml_convertor
33
-
32
+ ````
34
33
  ## Usage
35
34
 
36
35
  There are two methods you can use:
37
- - flattener converts the structured nested YAML hash to a simple key:value
36
+ - **flattener** converts the structured nested YAML hash to a simple key:value
38
37
 
39
38
  ````
40
39
  YamlConvertor.flattener(yml_hash)
41
40
  ````
42
41
 
43
- - builder rebuilds the simple hash to a nested YAML structure
42
+ - **builder** rebuilds the simple hash to a nested YAML structure
44
43
 
45
44
  ````
46
45
  YamlConvertor.builder(flat_hash)
@@ -48,8 +47,7 @@ YamlConvertor.builder(flat_hash)
48
47
 
49
48
  ## Example
50
49
 
51
- Let's assume we have a YAML file called "file.yml":
52
-
50
+ Let's assume we have a YAML file called **file.yml**:
53
51
  ````
54
52
  en:
55
53
  errors:
@@ -63,15 +61,11 @@ en:
63
61
  sessions:
64
62
  signed_in: 'Signed in successfully.'
65
63
  ````
66
-
67
64
  We open this file using Psych (Ruby's YAML parser), and it will return a nested YAML hash structure
68
-
69
65
  ````ruby
70
66
  yml_hash = Psych.load_file('file.yml')
71
67
  ````
72
-
73
68
  yml_hash looks like this:
74
-
75
69
  ````
76
70
  {"en"=>{
77
71
  "errors"=>{
@@ -86,15 +80,11 @@ yml_hash looks like this:
86
80
  }
87
81
  }
88
82
  ````
89
-
90
83
  Now! If we use flattener:
91
-
92
84
  ````
93
85
  flat_hash = YamlConvertor.flattener(yml_hash)
94
86
  ````
95
-
96
87
  flat_hash will look like this:
97
-
98
88
  ````
99
89
  {
100
90
  "en.errors.messages.not_locked"=>"was not locked",
@@ -108,14 +98,11 @@ flat_hash will look like this:
108
98
 
109
99
  Now let's assume we have a flat hash and we want to rebuild it to a YAML file.
110
100
  Here's our flat_hash from our example above:
111
-
112
101
  ````ruby
113
102
  flat_hash = {"en.errors.messages.not_locked"=>"was not locked", "en.errors.messages.not_saved.other"=>"other error", "en.devise.failure.already_authenticated"=>"You are already signed in.", "en.devise.sessions.signed_in"=>"Signed in successfully."}
114
-
115
103
  nested_hash = YamlConvertor.builder(flat_hash)
116
104
  ````
117
105
  nested_hash is now:
118
-
119
106
  ````
120
107
  {"en"=>{
121
108
  "errors"=>{
@@ -130,13 +117,10 @@ nested_hash is now:
130
117
  }
131
118
  }
132
119
  ````
133
-
134
120
  Dump it with Pysch..
135
-
136
121
  ````ruby
137
122
  Psych.dump(nested_hash)
138
123
  ````
139
-
140
124
  The output will be:
141
125
  ````
142
126
  ---
@@ -1,5 +1,4 @@
1
1
  require 'yaml_convertor/version'
2
- require 'psych'
3
2
 
4
3
  module YamlConvertor
5
4
  def self.flattener(nested_hash)
@@ -1,3 +1,3 @@
1
1
  module YamlConvertor
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -4,9 +4,9 @@ require File.expand_path('../lib/yaml_convertor/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Nour"]
6
6
  gem.email = ["nour.fwh@gmail.com"]
7
- gem.description = %q{yaml_convertor converts YAML structure to JSON }
8
- gem.summary = %q{YAML to JSON convertor}
9
- gem.homepage = ""
7
+ gem.description = %q{yaml_convertor converts YAML hash structure to simple key:value }
8
+ gem.summary = %q{YAML to simple key:value hash}
9
+ gem.homepage = "https://rubygems.org/gems/yaml_convertor"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -16,7 +16,6 @@ Gem::Specification.new do |gem|
16
16
  gem.version = YamlConvertor::VERSION
17
17
 
18
18
  gem.add_development_dependency 'rake'
19
- gem.add_development_dependency 'rb-readline'
20
19
  gem.add_development_dependency 'test-unit'
21
20
  gem.add_runtime_dependency 'psych', '1.3.4'
22
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml_convertor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,22 +27,6 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: rb-readline
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
30
  - !ruby/object:Gem::Dependency
47
31
  name: test-unit
48
32
  requirement: !ruby/object:Gem::Requirement
@@ -75,7 +59,7 @@ dependencies:
75
59
  - - '='
76
60
  - !ruby/object:Gem::Version
77
61
  version: 1.3.4
78
- description: ! 'yaml_convertor converts YAML structure to JSON '
62
+ description: ! 'yaml_convertor converts YAML hash structure to simple key:value '
79
63
  email:
80
64
  - nour.fwh@gmail.com
81
65
  executables: []
@@ -92,7 +76,7 @@ files:
92
76
  - test/devise.en.yml
93
77
  - test/test_convertor.rb
94
78
  - yaml_convertor.gemspec
95
- homepage: ''
79
+ homepage: https://rubygems.org/gems/yaml_convertor
96
80
  licenses: []
97
81
  post_install_message:
98
82
  rdoc_options: []
@@ -106,7 +90,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
90
  version: '0'
107
91
  segments:
108
92
  - 0
109
- hash: 412658065
93
+ hash: 204075919
110
94
  required_rubygems_version: !ruby/object:Gem::Requirement
111
95
  none: false
112
96
  requirements:
@@ -115,13 +99,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
99
  version: '0'
116
100
  segments:
117
101
  - 0
118
- hash: 412658065
102
+ hash: 204075919
119
103
  requirements: []
120
104
  rubyforge_project:
121
105
  rubygems_version: 1.8.24
122
106
  signing_key:
123
107
  specification_version: 3
124
- summary: YAML to JSON convertor
108
+ summary: YAML to simple key:value hash
125
109
  test_files:
126
110
  - test/devise.en.yml
127
111
  - test/test_convertor.rb