everyday-cli-utils 0.6.0 → 0.7.0

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: 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