jeckyl 0.2.7 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-