pyer-properties 1.0.1
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 +7 -0
- data/lib/pyer/properties.rb +42 -0
- metadata +73 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 322d73ed7aea385ef2c096a09a6b21475f0c1075
|
4
|
+
data.tar.gz: ad9396a84df27f607743b49708f713619ae13440
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e50880fd6f18a5ea310920e6916e89798c27eb971215cb4aeff32efc76aaaff4081c9e60111a61345455081d2dac838630fe3f7aad4c729041fa638ef1a4044c
|
7
|
+
data.tar.gz: b2bf8cfe4de834f112fca519f8929aec282558fe457305d88052fc4889f6acc996865fef12aa7cb072abc9237a3a39451b5be2f06e1c3616c353af7e0d73e44d
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module Pyer
|
4
|
+
# This class represents the INI file and can be used to parse INI files.
|
5
|
+
class Properties
|
6
|
+
# Create a new configuration hash
|
7
|
+
def initialize(filename, opts = {})
|
8
|
+
@filename = filename
|
9
|
+
@encoding = opts[:encoding]
|
10
|
+
@comment = opts[:comment]
|
11
|
+
@mode = @encoding.nil? ? 'r' : "r:#{@encoding}"
|
12
|
+
@settings = {}
|
13
|
+
hashing if File.exist? @filename
|
14
|
+
end
|
15
|
+
|
16
|
+
# Return count of valid properties
|
17
|
+
def count
|
18
|
+
@settings.length
|
19
|
+
end
|
20
|
+
|
21
|
+
# Return value or nil if name is unknown
|
22
|
+
def method_missing(name)
|
23
|
+
@settings[name.to_sym]
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def hashing
|
29
|
+
File.open(@filename, @mode).each_line do |line|
|
30
|
+
next if line.length < 3
|
31
|
+
next if line[0] == '#' || line[0] == ';' # known comments
|
32
|
+
i = line.index('=')
|
33
|
+
next if i < 1
|
34
|
+
line.chop! if line[-1] == "\n"
|
35
|
+
@settings[line[0, i].strip.to_sym] = line[i + 1, line.length - 2].strip
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Shortcut
|
42
|
+
Properties = Pyer::Properties
|
metadata
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pyer-properties
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Pierre BAZONNARD
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-05-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: minitest
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 5.4.2
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 5.4.2
|
41
|
+
description:
|
42
|
+
email:
|
43
|
+
- pierre.bazonnard@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- lib/pyer/properties.rb
|
49
|
+
homepage: https://github.com/pyer/properties
|
50
|
+
licenses:
|
51
|
+
- MIT
|
52
|
+
metadata: {}
|
53
|
+
post_install_message:
|
54
|
+
rdoc_options: []
|
55
|
+
require_paths:
|
56
|
+
- lib
|
57
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.1.0
|
62
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
requirements: []
|
68
|
+
rubyforge_project:
|
69
|
+
rubygems_version: 2.4.5.1
|
70
|
+
signing_key:
|
71
|
+
specification_version: 4
|
72
|
+
summary: Read a properties file. Keys are methods.
|
73
|
+
test_files: []
|