parse-conf 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4692ead546dd88e157bb82893767cbf5555220c8
4
- data.tar.gz: a686ab5418d9a07a9ce560661ef8a293e910a42e
3
+ metadata.gz: 51d41b1938fd16a2da8fbdbf7b40a2c8ede7ea85
4
+ data.tar.gz: 4125b46fc0211521755ec429a3437e3c27992233
5
5
  SHA512:
6
- metadata.gz: 196f95b4657a72a21b7b91114c774a1032db06c1d755d61c9089a08ba209af73c0c3ae8cbf224657a1e2ef22090a142c780a60333af308f1789fbd07315da6c3
7
- data.tar.gz: c41d6fc47e33675d857098e1644a8e1f4f2e20a4fa91d0ba71d2ac72ba70bb2deb050e7dcebd13d884ed89b8d8636dee0c9e1f7b66c0b588453d93f2e261969a
6
+ metadata.gz: e1e4792f9dfa3fee5f90d16c3b7feed9094b940fd5e3e3f9eff533cb012289412d40552a42152322916a4925f8890f4a66b152a743a1602508c844c221e890fa
7
+ data.tar.gz: ad273e07de4e82a66a4754447b8b92fb7735a5dc71fa2782381a009ea629c72f6afc23b1c04f8e36181ca6a8358db3b0e0e908253e46c1759f82b811cf7c77ab
data/.travis.yml CHANGED
@@ -6,4 +6,7 @@ rvm:
6
6
  - 1.9.2
7
7
  - jruby-19mode
8
8
  - ruby-head
9
- - jruby-head
9
+ - jruby-head
10
+ addons:
11
+ code_climate:
12
+ repo_token: 45dcce14bff5011d3d03eb8e7571b15f9a7538e277683246e90fd2bdcb8c3b7f
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem "codeclimate-test-reporter", group: :test, require: nil
3
4
  # Specify your gem's dependencies in parse-conf.gemspec
4
5
  gemspec
5
-
data/Gemfile.lock CHANGED
@@ -1,13 +1,22 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parse-conf (0.0.2)
4
+ parse-conf (0.0.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ codeclimate-test-reporter (0.3.0)
10
+ simplecov (>= 0.7.1, < 1.0.0)
11
+ docile (1.1.3)
9
12
  minitest (5.3.4)
13
+ multi_json (1.10.0)
10
14
  rake (10.3.2)
15
+ simplecov (0.8.2)
16
+ docile (~> 1.1.0)
17
+ multi_json
18
+ simplecov-html (~> 0.8.0)
19
+ simplecov-html (0.8.0)
11
20
 
12
21
  PLATFORMS
13
22
  java
@@ -15,6 +24,7 @@ PLATFORMS
15
24
 
16
25
  DEPENDENCIES
17
26
  bundler (~> 1.5)
27
+ codeclimate-test-reporter
18
28
  minitest
19
29
  parse-conf!
20
30
  rake
@@ -2,28 +2,28 @@ module Parse
2
2
  module Conf
3
3
  class GitosisStyle
4
4
  attr_reader :config_raw, :data, :empty_group_name
5
-
5
+
6
6
  Helper = Parse::Conf::ParserHelper
7
7
 
8
8
  def initialize(config_raw, separator = " ")
9
9
  @config_raw = config_raw
10
10
  @data = {}
11
-
11
+
12
12
  @empty_group_name = 'without_group'
13
- @separator = separator
14
- @data[empty_group_name] = []
13
+ @separator = separator
14
+ @data[empty_group_name] = []
15
15
  end
16
16
 
17
17
  def result
18
18
  parse unless @parsed
19
- @data
19
+ @data
20
20
  end
21
21
 
22
22
  def self.run(config_raw, separator = " ")
23
23
  obj = new(config_raw, separator)
24
24
  obj.result
25
25
  end
26
-
26
+
27
27
  private
28
28
  def parse
29
29
  @parsed = true
@@ -31,21 +31,21 @@ module Parse
31
31
  group_name = nil
32
32
  config_raw.lines.each do |line|
33
33
  next if line == "\n" || line =~ /^\#.*/
34
-
34
+
35
35
  if line =~ /\[.*\]/i
36
36
  group_name = Helper.trim_and_remove_ugly_symbol(line)
37
- data[group_name] = []
37
+ data[group_name] = {}
38
38
  else
39
- item = line.split("=").map{ |it| Helper.trim_and_remove_ugly_symbol(it) }
40
- key, value = item[0], item[1].split(@separator)
41
-
42
- insert_etntry = {key => value}
43
39
  insert_key = group_name ? group_name : empty_group_name
44
-
45
- data[insert_key].push(insert_etntry)
46
- end
40
+ data[insert_key].merge! (build_line_insert_entity(line))
41
+ end
47
42
  end
48
43
  end
44
+
45
+ def build_line_insert_entity(line)
46
+ item = line.split('=').map{ |it| Helper.trim_and_remove_ugly_symbol(it) }
47
+ Hash[*[item[0], item[1].split(@separator)]]
48
+ end
49
49
  end
50
50
  end
51
51
  end
@@ -1,5 +1,5 @@
1
1
  module Parse
2
2
  module Conf
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
data/parse-conf.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'parse/conf'
4
+ require 'parse/conf/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "parse-conf"
@@ -3,8 +3,7 @@ require 'test_helper'
3
3
 
4
4
  class GitosisStyleTest < MiniTest::Unit::TestCase
5
5
  def setup
6
- @expected_result = {"without_group"=>[], "gitosis"=>[{"gitweb"=>["no"]}, {"daemon"=>["no"]}, {"loglevel"=>["DEBUG"]}], "group quux"=>[{"members"=>["jdoe", "wsmith", "@anothergroup"]}, {"writable"=>["foo", "bar", "baz/thud"]}, {"readonly"=>["xyzzy"]}], "group anothergroup"=>[{"members"=>["alice", "bill"]}, {"map writable visiblename1"=>["actualname1"]}, {"map readonly visiblename2"=>["actualname2"]}], "repo foo"=>[{"gitweb"=>["yes"]}, {"description"=>["blah", "blah"]}, {"owner"=>["John", "Doe"]}, {"daemon"=>["yes"]}], "gitweb"=>[], "mirror github"=>[{"repos"=>["@all"]}, {"uri"=>["git@github.com:res0nat0r/%s.git"]}], "repo bar"=>[{"mirrors"=>["/var/trac/bar/repository"]}]}
7
-
6
+ @expected_result = {"without_group"=>[], "gitosis"=>{"gitweb"=>["no"], "daemon"=>["no"], "loglevel"=>["DEBUG"]}, "group quux"=>{"members"=>["jdoe", "wsmith", "@anothergroup"], "writable"=>["foo", "bar", "baz/thud"], "readonly"=>["xyzzy"]}, "group anothergroup"=>{"members"=>["alice", "bill"], "map writable visiblename1"=>["actualname1"], "map readonly visiblename2"=>["actualname2"]}, "repo foo"=>{"gitweb"=>["yes"], "description"=>["blah", "blah"], "owner"=>["John", "Doe"], "daemon"=>["yes"]}, "gitweb"=>{}, "mirror github"=>{"repos"=>["@all"], "uri"=>["git@github.com:res0nat0r/%s.git"]}, "repo bar"=>{"mirrors"=>["/var/trac/bar/repository"]}}
8
7
  @config_raw = File.open('test/config_example/gitosis.conf').read
9
8
  @parser = Parse::Conf::GitosisStyle.new(@config_raw)
10
9
  end
data/test/test_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require "codeclimate-test-reporter"
2
+ CodeClimate::TestReporter.start
3
+
1
4
  require 'parse/conf'
2
5
  require 'minitest'
3
6
  require 'minitest/unit'
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parse-conf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - maringan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-20 00:00:00.000000000 Z
11
+ date: 2014-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
15
- version_requirements: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '1.5'
20
14
  requirement: !ruby/object:Gem::Requirement
21
15
  requirements:
22
16
  - - ~>
23
17
  - !ruby/object:Gem::Version
24
18
  version: '1.5'
19
+ name: bundler
25
20
  prerelease: false
26
21
  type: :development
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
22
  version_requirements: !ruby/object:Gem::Requirement
30
23
  requirements:
31
- - - '>='
24
+ - - ~>
32
25
  - !ruby/object:Gem::Version
33
- version: '0'
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
34
28
  requirement: !ruby/object:Gem::Requirement
35
29
  requirements:
36
30
  - - '>='
37
31
  - !ruby/object:Gem::Version
38
32
  version: '0'
33
+ name: rake
39
34
  prerelease: false
40
35
  type: :development
41
- - !ruby/object:Gem::Dependency
42
- name: minitest
43
36
  version_requirements: !ruby/object:Gem::Requirement
44
37
  requirements:
45
38
  - - '>='
46
39
  - !ruby/object:Gem::Version
47
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
48
42
  requirement: !ruby/object:Gem::Requirement
49
43
  requirements:
50
44
  - - '>='
51
45
  - !ruby/object:Gem::Version
52
46
  version: '0'
47
+ name: minitest
53
48
  prerelease: false
54
49
  type: :development
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
55
  description: Parse standard unix config
56
56
  email:
57
57
  - kamil.kucharski88+1@gmail.com