everyday-cli-utils 0.6.0 → 0.7.0

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
  SHA1:
3
- metadata.gz: 60052f772a0756a80b71446915644a962d1749fc
4
- data.tar.gz: 7f44acf9585a64c409615ae159e222fb6ad3ab47
3
+ metadata.gz: a6f77b4daf559934ff326ec9b64a61ce6b6b63db
4
+ data.tar.gz: 9deab7a7a548ce5fb5b5d6db8fefa8e6d9069739
5
5
  SHA512:
6
- metadata.gz: c685c69bc215ace083e665b6d5e75b9fc84daa64cbf2cafdd4a1ef33a509cf7204a9969d5d41ad1ae06dd3d90218fd3553c8e54682c6ad0c487d0e10467e0d28
7
- data.tar.gz: 6b18808f2e00a4955d1f444af8e48bcbc2062a8b5e5971893f29746a808e37a23c1414e50b99b4b019d94d6584008ed5fccaa6a4d0afcf26db2f5868d29611b1
6
+ metadata.gz: 061802c721e417eb608f6c7ec56007a6b579a7d2b27053139ab5af544d29b7499ab7fafec5e825e145bec74460948d7ffecbfbd10380174d8d3d13b04d8f5658
7
+ data.tar.gz: 527bc79f4497ba7f1e92694ab7e14fae4f835f12e6eee8c523bd0fdd80b35a5a99caca83da5888c2fb6981c337c99d1164182665de552b83ee4ff145afac8d71
@@ -1,3 +1,6 @@
1
+ require 'optparse'
2
+ require 'yaml'
3
+
1
4
  module EverydayCliUtils
2
5
  class Option
3
6
  def self.add_option(options, opts, names, opt_name, settings = {})
@@ -51,6 +54,14 @@ module EverydayCliUtils
51
54
  }
52
55
  end
53
56
 
57
+ def defaults_option(file_path, names, exit_on_save = true)
58
+ @opts ||= OptionParser.new
59
+ @set_defaults = false
60
+ @defaults_file = File.expand_path(file_path)
61
+ @exit_on_save = exit_on_save
62
+ @opts.on(*names) { @set_defaults = true }
63
+ end
64
+
54
65
  def default_settings(settings = {})
55
66
  @default_settings = settings
56
67
  end
@@ -60,7 +71,15 @@ module EverydayCliUtils
60
71
  end
61
72
 
62
73
  def parse!(argv = ARGV)
74
+ default_options YAML::load_file(@defaults_file) unless @defaults_file.nil? || !File.exist?(@defaults_file)
63
75
  @opts.parse!(argv)
76
+ if @set_defaults
77
+ IO.write(@defaults_file, @options.to_yaml)
78
+ if @exit_on_save
79
+ puts 'Defaults set'
80
+ exit 0
81
+ end
82
+ end
64
83
  end
65
84
  end
66
85
  end
@@ -1,3 +1,3 @@
1
1
  module EverydayCliUtils
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: everyday-cli-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Henderson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-25 00:00:00.000000000 Z
11
+ date: 2014-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler