jeckyl 0.2.7 → 0.3.7

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.
@@ -1 +1 @@
1
- options "string"
1
+ option_set "string"
@@ -0,0 +1 @@
1
+ offset -235
data/test/test_command ADDED
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby18
2
+ #
3
+ #
4
+ #
5
+ # = Test Jeckyl option parsing
6
+ #
7
+ # == SubTitle
8
+ #
9
+ # Author:: Robert Sharp
10
+ # Copyright:: Copyright (c) 2011 Robert Sharp
11
+ # License:: Open Software Licence v3.0
12
+ #
13
+ # This software is licensed for use under the Open Software Licence v. 3.0
14
+ # The terms of this licence can be found at http://www.opensource.org/licenses/osl-3.0.php
15
+ # and in the file copyright.txt. Under the terms of this licence, all derivative works
16
+ # must themselves be licensed under the Open Software Licence v. 3.0
17
+ #
18
+ #
19
+ #
20
+
21
+ $LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
22
+
23
+ require 'jeckyl'
24
+ require './test/test_configurator'
25
+
26
+ cdir = File.dirname(__FILE__)
27
+ conf_file = File.join(cdir, 'conf.d', 'jeckyl')
28
+
29
+ args, conf_file = TestJeckyl.get_config_opt(ARGV, conf_file)
30
+
31
+ options = TestJeckyl.new(conf_file)
32
+
33
+ # options._options.each do |key, opts|
34
+ # puts key.to_s + ':' + opts.join(', ')
35
+ # end
36
+
37
+ unless options.optparse(args)
38
+ exit 0
39
+ end
40
+
41
+ puts "Options are:"
42
+ options.to_s
@@ -20,40 +20,74 @@ class TestJeckyl < Jeckyl::Options
20
20
  end
21
21
 
22
22
  def set_log_dir(path)
23
+ describe 'Directory for log files'
23
24
  default '/tmp'
24
- comment "Location to write log files to"
25
+ comment "Writable directory where the app can keep log files"
26
+
27
+ option '-l', '--log-dir [PATH]', String
28
+
25
29
  a_writable_dir(path)
26
30
  end
27
31
 
28
32
  def set_key_file(path)
29
- comment "key file to be used to check secure commands"
33
+ describe "key file to be used to check secure commands"
34
+
35
+ option '-k', '--key-file [PATH]', String
30
36
  a_readable_file(path)
31
37
  end
32
38
 
33
39
  def set_log_level(symb)
34
40
  default :verbose
41
+
42
+ describe 'Applications logging level'
35
43
  comment "Log level can one of the following:",
36
44
  "",
37
45
  " * :system - log all important messages and use syslog",
38
46
  " * :verbose - be more generous with logging to help resolve problems"
47
+
39
48
  symbol_set = [:system, :verbose, :debug]
49
+
50
+ option '-L', '--level [SYMBOL]', symbol_set
51
+
40
52
  a_member_of(symb, symbol_set)
41
53
  end
42
54
 
43
55
  def set_log_rotation(val)
44
56
  default 5
45
- a_type_of(val, Integer)
46
- in_range(val, 0, 20)
57
+ a_number(val) && a_type_of(val, Integer) && in_range(val, 0, 20)
58
+ return val
47
59
  end
48
60
 
49
61
  def set_threshold(val)
62
+ describe "Threshold for things"
50
63
  default 5.0
64
+
65
+ option '-T', '--threshold [NUMBER]', Numeric
66
+
51
67
  # make sure it is a number
52
68
  a_type_of(val, Numeric)
53
69
  # now make sure it is a float
54
70
  in_range(val.to_f, 0.0, 10.0)
55
71
 
56
72
  end
73
+
74
+ def set_start_day(day)
75
+ describe "Day of the week to start from"
76
+ default 5
77
+ comment "Can be any number from 1 to 7"
78
+
79
+ a_number(day) && in_range(day, 1, 7)
80
+
81
+ end
82
+
83
+ def set_offset(ofs)
84
+ describe "Offset from today to previous record"
85
+ default 1
86
+ comment "days from today to study"
87
+
88
+ a_positive_number(ofs)
89
+
90
+ end
57
91
 
58
92
  def set_pi(val)
59
93
  default 3.14
@@ -80,7 +114,7 @@ class TestJeckyl < Jeckyl::Options
80
114
  an_array_of(ary, Integer)
81
115
  end
82
116
 
83
- def set_options(opts)
117
+ def set_option_set(opts)
84
118
  default Hash.new
85
119
  a_hash(opts)
86
120
  end
metadata CHANGED
@@ -1,72 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jeckyl
3
- version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 7
10
- version: 0.2.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.7
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Dr Robert
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-11-15 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2013-09-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: !binary |-
15
+ b3B0cGx1cw==
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - !binary |-
19
+ Pj0=
20
+ - !ruby/object:Gem::Version
21
+ version: !binary |-
22
+ MC4wLjY=
21
23
  type: :runtime
22
- requirement: &id001 !ruby/object:Gem::Requirement
23
- none: false
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 0
30
- version: "0"
31
- name: thor
32
- version_requirements: *id001
33
24
  prerelease: false
34
- - !ruby/object:Gem::Dependency
35
- type: :runtime
36
- requirement: &id002 !ruby/object:Gem::Requirement
37
- none: false
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- hash: 3
42
- segments:
43
- - 0
44
- version: "0"
45
- name: term-ansicolor
46
- version_requirements: *id002
47
- prerelease: false
48
- description: |
49
- Create and manage configuration files in Ruby for Ruby. Jeckyl can be used to create a parameters hash
50
- from a simple config file written in Ruby, having run whatever checks you want on the file to ensure
51
- the values passed in are valid. All you need to do is define a class inheriting from Jeckyl, methods for
52
- each parameter, its default, whatever checking rules are appropriate and even a comment for generating templates etc.
53
- This is then used to parse a Ruby config file and create the parameters hash. Jeckyl
54
- comes complete with a utility to check a config file against a given class and to generate a default file for you to tailor.
55
- Type 'jeckyl readme' for more information.
56
-
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - !binary |-
28
+ Pj0=
29
+ - !ruby/object:Gem::Version
30
+ version: !binary |-
31
+ MC4wLjY=
32
+ description: ! "Create and manage configuration files in Ruby for Ruby. Jeckyl can
33
+ be used to create a parameters hash \nfrom a simple config file written in Ruby,
34
+ having run whatever checks you want on the file to ensure \nthe values passed in
35
+ are valid. All you need to do is define a class inheriting from Jeckyl, methods
36
+ for\neach parameter, its default, whatever checking rules are appropriate and even
37
+ a comment for generating templates etc.\nThis is then used to parse a Ruby config
38
+ file and create the parameters hash. Jeckyl \ncomes complete with a utility to check
39
+ a config file against a given class and to generate a default file for you to tailor.\nType
40
+ 'jeckyl readme' for more information.\n"
57
41
  email: robert@osburn-sharp.ath.cx
58
- executables:
42
+ executables:
43
+ - jeckyl-old
59
44
  - jeckyl
60
45
  extensions: []
61
-
62
- extra_rdoc_files:
46
+ extra_rdoc_files:
63
47
  - History.txt
64
48
  - Bugs.rdoc
65
49
  - Intro.txt
66
50
  - LICENCE.rdoc
67
51
  - Gemfile
68
52
  - README.md
69
- files:
53
+ files:
70
54
  - History.txt
71
55
  - Bugs.rdoc
72
56
  - Intro.txt
@@ -75,7 +59,9 @@ files:
75
59
  - README.md
76
60
  - lib/jeckyl/errors.rb
77
61
  - lib/jeckyl/version.rb
62
+ - lib/jeckyl/helpers.rb
78
63
  - lib/jeckyl.rb
64
+ - bin/jeckyl-old
79
65
  - bin/jeckyl
80
66
  - spec/check_config_spec.rb
81
67
  - spec/jeckyl_spec.rb
@@ -105,44 +91,38 @@ files:
105
91
  - test/conf.d/defaults.rb
106
92
  - test/conf.d/bclass.rb
107
93
  - test/conf.d/merger.rb
94
+ - test/conf.d/not_positive.rb
95
+ - test/conf.d/jeckyl_alt.rb
108
96
  - test/reports/not_ok.txt
109
97
  - test/reports/ok.txt
110
98
  - test/test_configurator.rb
111
99
  - test/test_configurator_errors.rb
112
100
  - test/test_class.rb
113
101
  - test/test_subclass.rb
114
- homepage:
115
- licenses:
102
+ - test/test_command
103
+ homepage: ''
104
+ licenses:
116
105
  - Open Software Licence v3.0
106
+ metadata: {}
117
107
  post_install_message: Jeckyl is now installed. Type 'jeckyl' for help
118
- rdoc_options:
108
+ rdoc_options:
119
109
  - --main=README.rdoc
120
- require_paths:
110
+ require_paths:
121
111
  - lib
122
- required_ruby_version: !ruby/object:Gem::Requirement
123
- none: false
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- hash: 3
128
- segments:
129
- - 0
130
- version: "0"
131
- required_rubygems_version: !ruby/object:Gem::Requirement
132
- none: false
133
- requirements:
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- hash: 3
137
- segments:
138
- - 0
139
- version: "0"
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
140
122
  requirements: []
141
-
142
123
  rubyforge_project:
143
- rubygems_version: 1.8.24
124
+ rubygems_version: 2.0.7
144
125
  signing_key:
145
- specification_version: 3
126
+ specification_version: 4
146
127
  summary: Create and manage configuration files in Ruby for Ruby.
147
128
  test_files: []
148
-