kojo 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ceddafefd50a366d970ffa2da55908736609f5d99bd05510b68ebc40e171e493
4
- data.tar.gz: a373ff818df798d086da4d9dac7b34fb571f0cf4f51a9115ba6e81cb0ff6dfaf
3
+ metadata.gz: 61ba22b7003667b908b01d8a1c6c4b3996ba18653d9424574700a7c75086cf1e
4
+ data.tar.gz: 1a5da4957a819a19e0fc31bd6229e3aaf4aae72e45ed807da9424c3ee03a52de
5
5
  SHA512:
6
- metadata.gz: d606609cc01e294f8af9d187fc5e52496551fa43d56e91cd5c610a5477c5b91503ffd3107599a409e3ff68a1080e8037178131cb79bfd8a793586075e9e9827b
7
- data.tar.gz: f58e33f3d9493f9143c299d17241acec28db267765337e94d2d6cc979000e711f95dc81c6f954bffc4b21048c4e81f6502ad3af0471f3a9c1c536583a901458d
6
+ metadata.gz: 2f2496aee4ebee3a2b2d9acb89361f8646abe2b84173f4b24d7938ac4270b653e49424fdc26fa4102b0f6e625087a1c57a4d00767f6a27c38a6c0138fb025966
7
+ data.tar.gz: 5bbaf81bb30c7794b00cc630025d9af12e280b4e440b4389eff4284071ccd79a70cb338ddc3df82f361b785fec2ceb527788db8f86a8a1be0491a83fde6382ca
data/bin/kojo-config.rb CHANGED
@@ -3,28 +3,36 @@ require 'fileutils'
3
3
 
4
4
  help "Generate based on instructions from a config file"
5
5
 
6
- usage "kojo config CONFIG [--save DIR] [ARGS...]"
6
+ usage "kojo config CONFIG [--save DIR --args FILE] [ARGS...]"
7
7
  usage "kojo config (-h|--help)"
8
8
 
9
9
  option "-s --save DIR", "Save output to directory instead of printing"
10
+ option "-a --args FILE", "Load arguments from YAML file"
10
11
 
11
12
  param "ARGS", "Optional key=value pairs"
12
13
 
13
14
  example "kojo config config.yml"
14
15
  example "kojo config config.yml --save output"
15
16
  example "kojo config config.yml -s output scale=3"
17
+ example "kojo config config.yml -s output --args args.yml"
16
18
 
17
19
  action do |args|
18
20
  gen = Kojo::Generator.new args['CONFIG']
19
21
  outdir = args['--save']
20
-
21
- if outdir and !Dir.exist? outdir
22
- FileUtils.mkdir_p outdir
22
+ opts = args['ARGS'].args_to_hash
23
+ argfile = args['--args']
24
+
25
+ if argfile
26
+ fileopts = YAML.load_file(argfile).symbolize_keys
27
+ opts = fileopts.merge opts
23
28
  end
24
29
 
25
- gen.generate do |file, output|
30
+ gen.generate opts do |file, output|
26
31
  path = "#{outdir}/#{file}"
27
32
  if outdir
33
+ dir = File.dirname path
34
+ FileUtils.mkdir_p dir unless Dir.exist? dir
35
+
28
36
  File.write path, output
29
37
  say "Saved #{path}"
30
38
  else
data/bin/kojo-dir.rb CHANGED
@@ -2,27 +2,36 @@ require 'kojo'
2
2
 
3
3
  help "Compile a folder of templates to a similar output folder"
4
4
 
5
- usage "kojo dir INDIR [--save DIR --import DIR] [ARGS...]"
5
+ usage "kojo dir INDIR [--save DIR --import DIR --args FILE] [ARGS...]"
6
6
  usage "kojo dir (-h|--help)"
7
7
 
8
8
  option "-s --save DIR", "Save output to directory instead of printing"
9
9
  option "-i --import DIR", "Specify base directory for @import directives"
10
+ option "-a --args FILE", "Load arguments from YAML file"
10
11
 
11
12
  param "ARGS", "Optional key=value pairs"
12
13
 
13
14
  example "kojo dir indir"
14
15
  example "kojo dir in --save out env=production"
15
16
  example "kojo dir in --save out --import snippets env=production"
17
+ example "kojo dir in -s out -i snippets -a args.yml"
16
18
 
17
19
  action do |args|
18
20
  opts = args['ARGS'].args_to_hash
19
21
  indir = args['INDIR']
20
22
  outdir = args['--save']
21
23
  import_base = args['--import']
24
+ argfile = args['--args']
25
+
26
+ if argfile
27
+ fileopts = YAML.load_file(argfile).symbolize_keys
28
+ opts = fileopts.merge opts
29
+ end
22
30
 
23
31
  files = Dir["#{indir}/**/*"].reject { |file| File.directory? file }
24
32
 
25
33
  files.each do |file|
34
+
26
35
  template = Kojo::Template.new(file, opts)
27
36
  template.import_base = import_base if import_base
28
37
  output = template.render
data/bin/kojo-file.rb CHANGED
@@ -2,21 +2,29 @@ require 'kojo'
2
2
 
3
3
  help "Compile a file from a template"
4
4
 
5
- usage "kojo file INFILE [--save FILE] [ARGS...]"
5
+ usage "kojo file INFILE [--save FILE --args FILE] [ARGS...]"
6
6
  usage "kojo file (-h|--help)"
7
7
 
8
8
  option "-s --save FILE", "Save to file instead of printing"
9
+ option "-a --args FILE", "Load arguments from YAML file"
9
10
 
10
11
  param "ARGS", "Optional key=value pairs"
11
12
 
12
13
  example "kojo file main.yml"
13
14
  example "kojo file main.yml --save out.yml"
14
15
  example "kojo file main.yml -s out.yml app=lause"
16
+ example "kojo file main.yml -s out.yml --args args.yml"
15
17
 
16
18
  action do |args|
17
19
  opts = args['ARGS'].args_to_hash
18
20
  outfile = args['--save']
19
21
  infile = args['INFILE']
22
+ argfile = args['--args']
23
+
24
+ if argfile
25
+ fileopts = YAML.load_file(argfile).symbolize_keys
26
+ opts = fileopts.merge opts
27
+ end
20
28
 
21
29
  output = Kojo::Template.new(infile, opts).render
22
30
 
@@ -12,8 +12,9 @@ module Kojo
12
12
  base_dir = File.dirname config_file
13
13
  infile = "#{base_dir}/#{config['input']}"
14
14
 
15
- config['output'].each do |outfile, opts|
16
- output = render infile, opts.symbolize_keys
15
+ config['output'].each do |outfile, config_opts|
16
+ local_opts = opts.merge config_opts.symbolize_keys
17
+ output = render infile, local_opts
17
18
  yield outfile, output
18
19
  end
19
20
  end
@@ -25,7 +26,7 @@ module Kojo
25
26
  end
26
27
 
27
28
  def render(infile, opts={})
28
- Template.new(infile, opts).render
29
+ Template.new(infile, opts).render
29
30
  end
30
31
  end
31
32
 
data/lib/kojo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kojo
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kojo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Ben Shitrit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-04 00:00:00.000000000 Z
11
+ date: 2018-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mister_bin