ytools 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown ADDED
@@ -0,0 +1,76 @@
1
+ # YTools
2
+
3
+ These are a couple of YAML-based tools for working with configuration files.
4
+
5
+ ### YPath
6
+
7
+ The first tool, ypath, be used to pull values from a YAML configuration and print
8
+ them to STDOUT. It's quite useful if you need to use the YAML as a configuration
9
+ and only pull out individual values for your other scripts to use.
10
+
11
+ Say you have a YAML configuration file like:
12
+
13
+ project:
14
+ name: C.proj
15
+ dependencies:
16
+ - A.proj
17
+ - B.proj
18
+
19
+ You could then pull out the project name 'C.proj' by running
20
+
21
+ ytools -p /project/name YAML_FILE
22
+
23
+ You could even list all of the dependencies by running
24
+
25
+ ytools -p /project/dependencies YAML_FILE
26
+
27
+ which would print
28
+
29
+ A.proj
30
+ B.proj
31
+
32
+ ### YTemplates
33
+
34
+ The second tool, ytemplates, be used to generate configuration files
35
+ that use YAML files as the backing object binding. A simple use case might
36
+ be that you need a configuration file generated for an environment, and you
37
+ can break out the environment-specific values into different YAML files.
38
+ In this case, you could create a file for each environment, one for production
39
+
40
+ environment: production
41
+ database:
42
+ host: production.host.com
43
+ username: produser
44
+ password: imsecret
45
+
46
+ and another for testing
47
+
48
+ environment: testing
49
+ database:
50
+ host: internal-testing.host.com
51
+ username: testuser
52
+ password: imsecret
53
+
54
+ With those files, you could then create an ERB template to pull in the relevant
55
+ values like:
56
+
57
+ <settings environment="<%= environment =>">
58
+ <database>
59
+ <host><%= database.host %></host>
60
+ <username><%= database.username %></username>
61
+ <password><%= database.password %></username>
62
+ </database>
63
+ </settings>
64
+
65
+ Using ytemplates, you could then generate a different environment
66
+ file from each yaml file, but only have to manage one actual configuration file.
67
+ Obviously, this becomes much more useful when the number of environments grows
68
+ and the number of changes in the configuration files goes down relative to file's
69
+ size.
70
+
71
+ ## Downloading
72
+
73
+ You can download the gem using
74
+
75
+ gem install ytools
76
+
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -14,7 +14,8 @@ module YTools::Path
14
14
  STDERR.puts executor.yaml_object
15
15
  end
16
16
 
17
- puts executor.process!
17
+ output = executor.process!
18
+ puts output if !output.empty?
18
19
  rescue YTools::Path::ParseError => e
19
20
  print_path_error(e)
20
21
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ytools
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Gabe McArthur
@@ -42,9 +42,10 @@ executables:
42
42
  - ytemplates
43
43
  extensions: []
44
44
 
45
- extra_rdoc_files: []
46
-
45
+ extra_rdoc_files:
46
+ - README.markdown
47
47
  files:
48
+ - README.markdown
48
49
  - Rakefile
49
50
  - bin/ypath
50
51
  - bin/ytemplates