rook 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. data/README.txt +124 -37
  2. data/bin/rook +8 -902
  3. data/doc-api/classes/BZ2.html +111 -0
  4. data/doc-api/classes/BZ2/Reader.html +234 -0
  5. data/doc-api/classes/Digest.html +107 -0
  6. data/doc-api/classes/Digest/Base.html +254 -0
  7. data/doc-api/classes/Enumerable.html +430 -0
  8. data/doc-api/classes/File.html +208 -0
  9. data/doc-api/classes/FileUtils.html +758 -0
  10. data/doc-api/classes/Kernel.html +317 -0
  11. data/doc-api/classes/Rook.html +148 -0
  12. data/doc-api/classes/Rook/Assertion.html +164 -0
  13. data/doc-api/classes/Rook/AssertionError.html +111 -0
  14. data/doc-api/classes/Rook/CommandOptionError.html +113 -0
  15. data/doc-api/classes/Rook/Commands.html +1158 -0
  16. data/doc-api/classes/Rook/Cookbook.html +357 -0
  17. data/doc-api/classes/Rook/CookbookError.html +161 -0
  18. data/doc-api/classes/Rook/CookbookValidator.html +215 -0
  19. data/doc-api/classes/Rook/Kitchen.html +875 -0
  20. data/doc-api/classes/Rook/KitchenHelper.html +386 -0
  21. data/doc-api/classes/Rook/Main.html +325 -0
  22. data/doc-api/classes/Rook/Parameters.html +443 -0
  23. data/doc-api/classes/Rook/Recipe.html +546 -0
  24. data/doc-api/classes/Rook/RookError.html +111 -0
  25. data/doc-api/classes/Rook/Util.html +408 -0
  26. data/doc-api/classes/Rook/Util/UndefinedPropertyError.html +160 -0
  27. data/doc-api/created.rid +1 -0
  28. data/doc-api/files/__/README_txt.html +313 -0
  29. data/doc-api/files/rook/commands_rb.html +115 -0
  30. data/doc-api/files/rook/cookbook_rb.html +115 -0
  31. data/doc-api/files/rook/helper/bz2_rb.html +114 -0
  32. data/doc-api/files/rook/helper/digest_rb.html +114 -0
  33. data/doc-api/files/rook/helper/enumerable_rb.html +107 -0
  34. data/doc-api/files/rook/helper/file_rb.html +107 -0
  35. data/doc-api/files/rook/helper/fileutils_rb.html +124 -0
  36. data/doc-api/files/rook/helper/kernel_rb.html +107 -0
  37. data/doc-api/files/rook/kitchen_rb.html +117 -0
  38. data/doc-api/files/rook/main_rb.html +117 -0
  39. data/doc-api/files/rook/recipe_rb.html +114 -0
  40. data/doc-api/files/rook/util_rb.html +115 -0
  41. data/doc-api/files/rook_rb.html +122 -0
  42. data/doc-api/fr_class_index.html +50 -0
  43. data/doc-api/fr_file_index.html +40 -0
  44. data/doc-api/fr_method_index.html +181 -0
  45. data/doc-api/index.html +24 -0
  46. data/doc-api/rdoc-style.css +208 -0
  47. data/examples/hello_c/Rookbook.rb +37 -0
  48. data/examples/hello_c/Rookbook.yaml +45 -0
  49. data/examples/hello_c/hello.c +6 -3
  50. data/examples/project/README.txt +8 -0
  51. data/examples/project/Rookbook.props +1 -0
  52. data/examples/project/Rookbook.rb +120 -0
  53. data/examples/project/Rookbook.yaml +117 -0
  54. data/examples/project/bin/example +12 -0
  55. data/examples/project/example.gemspec +29 -0
  56. data/examples/project/lib/example.rb +36 -0
  57. data/examples/{archive → project}/lib/example/bar.rb +0 -0
  58. data/examples/{archive → project}/lib/example/baz.rb +0 -0
  59. data/examples/{archive → project}/lib/example/foo.rb +0 -0
  60. data/examples/project/setup.rb +1331 -0
  61. data/examples/project/test/test.rb +27 -0
  62. data/lib/rook.rb +50 -0
  63. data/lib/rook/commands.rb +426 -0
  64. data/lib/rook/cookbook.rb +237 -0
  65. data/lib/rook/helper/bz2.rb +39 -0
  66. data/lib/rook/helper/digest.rb +76 -0
  67. data/lib/rook/helper/enumerable.rb +121 -0
  68. data/lib/rook/helper/file.rb +50 -0
  69. data/lib/rook/helper/fileutils.rb +340 -0
  70. data/lib/rook/helper/kernel.rb +108 -0
  71. data/lib/rook/kitchen.rb +668 -0
  72. data/lib/rook/main.rb +280 -0
  73. data/lib/rook/recipe.rb +259 -0
  74. data/lib/rook/rookbook.schema.yaml +156 -0
  75. data/lib/rook/util.rb +172 -0
  76. data/rook.gemspec +56 -0
  77. metadata +139 -45
  78. data/examples/archive/COPYING +0 -340
  79. data/examples/archive/README.txt +0 -1
  80. data/examples/archive/Rookbook +0 -56
  81. data/examples/archive/bin/example +0 -0
  82. data/examples/archive/doc/index.html +0 -0
  83. data/examples/archive/doc/index.txt +0 -0
  84. data/examples/archive/lib/example.rb +0 -0
  85. data/examples/archive/test/test1.rb +0 -0
  86. data/examples/archive/test/test2.rb +0 -0
  87. data/examples/hello_c/Rookbook +0 -24
@@ -0,0 +1,156 @@
1
+ ##
2
+ ## $Rev$
3
+ ## $Release: 0.1.0 $
4
+ ## copyright(c) 2006 kuwata-lab.com all rights reserved.
5
+ ##
6
+
7
+
8
+ type: map
9
+ mapping:
10
+
11
+ "cookbook":
12
+ type: map
13
+ mapping:
14
+ "default":
15
+ type: any # str or symbol, or sequence of them
16
+ name: MATERIAL
17
+ "desc":
18
+ type: str
19
+ # "precooking":
20
+ # type: str
21
+ # "libraries":
22
+ # type: seq
23
+ # sequence:
24
+ # - type: str
25
+ # "nonproducts":
26
+ # type: seq
27
+ # sequence:
28
+ # - type: str
29
+
30
+ # "default":
31
+ # type: str
32
+ # name: MATERIAL
33
+ #
34
+ # "desc":
35
+ # type: str
36
+
37
+ "precooking":
38
+ type: text
39
+
40
+ "libraries":
41
+ type: seq
42
+ sequence:
43
+ - type: str
44
+
45
+ "materials":
46
+ type: seq
47
+ desc: list of non-product
48
+ sequence:
49
+ - type: str
50
+
51
+ "properties*": &props1
52
+ type: seq
53
+ sequence:
54
+ - type: map
55
+ name: PROPERTY
56
+ mapping:
57
+ "name":
58
+ type: str
59
+ required: yes
60
+ unique: yes
61
+ "desc":
62
+ type: str
63
+ "value":
64
+ type: any
65
+ "expr":
66
+ type: str
67
+ "access":
68
+ type: str
69
+ enum:
70
+ - public
71
+ - private
72
+ - protected
73
+
74
+ "variables*": *props1
75
+
76
+ "properties": &props2
77
+ type: seq
78
+ sequence:
79
+ - type: map
80
+ name: PROP
81
+ mapping:
82
+ :desc :
83
+ type: str
84
+ :access :
85
+ type: str
86
+ enum:
87
+ - public
88
+ - private
89
+ - protected
90
+ "=":
91
+ type: any
92
+
93
+ "variables": *props2
94
+
95
+ "recipes":
96
+ type: seq
97
+ sequence:
98
+ - type: map
99
+ mapping:
100
+ "product*":
101
+ type: str
102
+ "product":
103
+ type: any # str or symbol
104
+ name: MATERIAL
105
+ "ingreds*":
106
+ type: str
107
+ "ingreds":
108
+ type: seq
109
+ sequence:
110
+ - type: any # str or symbol
111
+ name: MATERIAL
112
+ "coprods*":
113
+ type: str
114
+ "coprods":
115
+ type: seq
116
+ sequence:
117
+ - type: any # str or symbol
118
+ name: MATERIAL
119
+ "byprods*":
120
+ type: str
121
+ "byprods":
122
+ type: seq
123
+ sequence:
124
+ - type: any # str or symbol
125
+ name: MATERIAL
126
+ "options*":
127
+ type: str
128
+ "options":
129
+ type: seq
130
+ sequence:
131
+ - type: str
132
+ name: MATERIAL
133
+ "method*":
134
+ type: text
135
+ "method":
136
+ type: text
137
+ "desc":
138
+ type: str
139
+ "desc":
140
+ type: str
141
+ "access":
142
+ type: str
143
+ enum:
144
+ - public
145
+ - private
146
+ - protected
147
+ "forced":
148
+ type: bool
149
+ "symbolic":
150
+ type: bool
151
+ "fingerprint":
152
+ type: str
153
+ enum:
154
+ - product
155
+ - ingreds
156
+ #- both
@@ -0,0 +1,172 @@
1
+ ##
2
+ ## $Rev: 30 $
3
+ ## $Release: 0.1.0 $
4
+ ## copyright(c) 2006 kuwata-lab.com all rights reserved.
5
+ ##
6
+
7
+
8
+ require 'digest/md5'
9
+ require 'rook/helper/digest'
10
+
11
+
12
+
13
+ module Rook
14
+
15
+
16
+ module Util
17
+
18
+
19
+ class UndefinedPropertyError < RookError
20
+
21
+
22
+ def initialize(message, property)
23
+ super(message)
24
+ @property = property
25
+ end
26
+ attr_reader :property
27
+
28
+
29
+ end
30
+
31
+
32
+
33
+ module_function
34
+
35
+
36
+ def to_str(obj)
37
+ return obj.is_a?(String) ? obj : obj.inspect
38
+ #return obj.is_a?(Symbol) ? ":#{obj.to_s}" : obj.to_s
39
+ end
40
+
41
+
42
+ def untabify(text, width=8)
43
+ sb = ''
44
+ text.scan(/(.*?)\t/m) do |s, |
45
+ len = (n = s.rindex(?\n)) ? s.length - n - 1 : s.length
46
+ sb << s << (" " * (width - len % width))
47
+ end
48
+ return $' ? (sb << $') : text
49
+ end
50
+ #--
51
+ #def untabify(str)
52
+ # sb = ''
53
+ # str.each_line do |line|
54
+ # sb << line.gsub(/([^\t]{8})|([^\t]*)\t/n) { [$+].pack("A8") }
55
+ # end
56
+ # return sb
57
+ #end
58
+ #++
59
+
60
+
61
+ def meta2regexp(str)
62
+ len = str.length
63
+ s = '\\A'
64
+ i = -1
65
+ while (i += 1) < len
66
+ case ch = str[i]
67
+ when ?? ; s << '([^\/\\\\])'
68
+ when ?* ; s << '([^\\/\\\\]*)'
69
+ when ?\ ; s << str[i+=1].chr
70
+ else ; s << Regexp.escape(ch.chr)
71
+ end
72
+ end
73
+ s << '\\z'
74
+ return Regexp.compile(s)
75
+ end
76
+
77
+
78
+ def has_meta?(str)
79
+ len = str.length
80
+ i = -1
81
+ while (i += 1) < len
82
+ case ch = str[i]
83
+ when ?? ; return true
84
+ when ?* ; return true
85
+ when ?\ ; i += 1
86
+ end
87
+ end
88
+ return false
89
+ end
90
+
91
+
92
+ def evaluate(_expr_str, _filename, _linenum, _binding=TOPLEVEL_BINDING)
93
+ return eval(_expr_str, _binding, _filename, _linenum)
94
+ end
95
+
96
+
97
+ def evaluate_expr(_expr, _filename, _linenum, _valuemap)
98
+ _t = _property_table
99
+ _code = _t.keys.collect { |name| "_#{name}_ = _t['#{name}']\n" }.join()
100
+ eval _code
101
+ _code = _expr.gsub(/\$\(([a-zA-Z]\w*)\)/, '_\1_')
102
+ return eval(_code, binding(), _filename, _linenum)
103
+ #return eval(_code, binding(), (_filename || '(eval)'), (_linenum || 1))
104
+ end
105
+
106
+
107
+ def _check_prop_defined(properties, prop_name)
108
+ unless properties.key?(prop_name)
109
+ raise UndefinedPropertyError.new("property '$(#{prop_name})' is not defined.", prop_name)
110
+ end
111
+ end
112
+ private :_check_prop_defined
113
+
114
+
115
+ def expand_properties(value, properties={})
116
+ case value
117
+ when String
118
+ if value =~ /\A\$\(([a-zA-Z_]\w*)\)\z/
119
+ _check_prop_defined(properties, $1)
120
+ val = expand_properties(properties[$1], properties)
121
+ else
122
+ val = value.gsub(/\$\(([a-zA-Z_]\w*)\)/) {
123
+ _check_prop_defined(properties, $1)
124
+ properties[$1]
125
+ }
126
+ end
127
+ return val
128
+ when Array
129
+ list = value.collect { |val| expand_properties(val, properties) }
130
+ return list
131
+ when Hash
132
+ hash = {}
133
+ value.each { |key, val| hash[key] = expand_properties(val, properties) }
134
+ return hash
135
+ else
136
+ return value
137
+ end
138
+ end
139
+
140
+
141
+ def expand_matches(value, matches={})
142
+ case value
143
+ when String
144
+ if value =~ /\A\$\((\d+)\)\z/
145
+ val = matches[$1.to_i]
146
+ else
147
+ val = value.gsub(/\$\((\d+)\)/) { matches[$1.to_i] }
148
+ end
149
+ return val
150
+ when Array
151
+ list = value.collect { |val| expand_matches(val, matches) }
152
+ return list
153
+ when Hash
154
+ hash = {}
155
+ value.each { |key, val| hash[key] = expand_matches(val, matches) }
156
+ return hash
157
+ else
158
+ return value
159
+ end
160
+ end
161
+
162
+
163
+ def fingerprint(filename)
164
+ return Digest::MD5.file_hexdigest(filename)
165
+ end
166
+
167
+
168
+ end
169
+
170
+
171
+
172
+ end
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/ruby
2
+
3
+ ###
4
+ ### RubyGems Specification file for Rook
5
+ ###
6
+ ### $Rev: 32 $
7
+ ### $Release: 0.1.0 $
8
+ ### copyright(c) 2006 kuwata-lab.com all rights reserved.
9
+ ###
10
+
11
+ require 'rubygems'
12
+
13
+ spec = Gem::Specification.new do |s|
14
+
15
+ ## package information
16
+ s.name = 'rook'
17
+ s.author = 'makoto kuwata'
18
+ s.version = ("$Release: 0.1.0 $" =~ /[\.\d]+/) && $&
19
+ s.platform = Gem::Platform::RUBY
20
+ s.homepage = 'http://www.rubyforge.org/projects/rook'
21
+ s.summary = "a SCM tool like Make, Rake, Ant, and so on."
22
+ s.description = <<-'END'
23
+ Rook is a SCM tool like Make, Rake, Ant, Cons, and so on.
24
+ Rook is inspired by Cook which is written by Peter Miller.
25
+ http://www.canb.auug.org.au/~millerp/cook/cook.html
26
+ Rook regard software building as Cooking.
27
+ * Target file is called `Product'
28
+ * Required file to build is called `Ingredients'
29
+ * Task to build is called `Recipe'
30
+ * Script file to build software is called `Cookbook'
31
+ END
32
+
33
+ ## dependency
34
+ s.add_dependency('kwalify', ['>= 0.6.0'])
35
+ s.add_dependency('kwalify', ['>= 1.0.0'])
36
+
37
+ ## files
38
+ files = []
39
+ files += Dir.glob('lib/**/*')
40
+ files += Dir.glob('bin/**/*')
41
+ files += Dir.glob('examples/**/*')
42
+ files += Dir.glob('doc-api/**/*')
43
+ #files += Dir.glob('test/**/*')
44
+ files += %w[README.txt COPYING rook.gemspec setup.rb]
45
+ #s.files = files.delete_if { |path| path =~ /\.svn/ }
46
+ s.files = files
47
+ s.executables = ["rook"]
48
+ s.bindir = "bin"
49
+ #s.test_file = 'test/test.rb'
50
+
51
+ end
52
+
53
+ if $0 == __FILE__
54
+ Gem::manage_gems
55
+ Gem::Builder.new(spec).build
56
+ end
metadata CHANGED
@@ -1,68 +1,162 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.10
2
+ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: rook
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.2
7
- date: 2005-04-30
8
- summary: "a SCM tool like Make, Rake, Ant, and so on."
6
+ version: 0.1.0
7
+ date: 2006-05-31 00:00:00 +09:00
8
+ summary: a SCM tool like Make, Rake, Ant, and so on.
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email:
12
- homepage: http://www.kuwata-lab.com/rook
12
+ homepage: http://www.rubyforge.org/projects/rook
13
13
  rubyforge_project:
14
- description: "Rook is a SCM tool like Make, Rake, Ant, Cons, and so on. Rook is inspired by
15
- Cook which is written by Peter Miller.
16
- http://www.canb.auug.org.au/~millerp/cook/cook.html Rook regard software
17
- building as Cooking. * Target file is called `Product' * Required file to build
18
- is called `Ingredients' * Steps to build is called `Recipe' * Script file to
19
- build software is called `Cookbook'"
14
+ description: Rook is a SCM tool like Make, Rake, Ant, Cons, and so on. Rook is inspired by Cook which is written by Peter Miller. http://www.canb.auug.org.au/~millerp/cook/cook.html Rook regard software building as Cooking. * Target file is called `Product' * Required file to build is called `Ingredients' * Task to build is called `Recipe' * Script file to build software is called `Cookbook'
20
15
  autorequire:
21
16
  default_executable:
22
17
  bindir: bin
23
18
  has_rdoc: false
24
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
25
20
  requirements:
26
- -
27
- - ">"
28
- - !ruby/object:Gem::Version
29
- version: 0.0.0
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
30
24
  version:
31
25
  platform: ruby
26
+ signing_key:
27
+ cert_chain:
32
28
  authors:
33
- - Makoto Kuwata
29
+ - makoto kuwata
34
30
  files:
35
- - bin/rook
36
- - examples/hello_c
37
- - examples/archive
38
- - examples/hello_c/Rookbook
39
- - examples/hello_c/hello.h
40
- - examples/hello_c/hello.c
41
- - examples/archive/Rookbook
42
- - examples/archive/README.txt
43
- - examples/archive/COPYING
44
- - examples/archive/test
45
- - examples/archive/doc
46
- - examples/archive/lib
47
- - examples/archive/bin
48
- - examples/archive/test/test1.rb
49
- - examples/archive/test/test2.rb
50
- - examples/archive/doc/index.txt
51
- - examples/archive/doc/index.html
52
- - examples/archive/lib/example.rb
53
- - examples/archive/lib/example
54
- - examples/archive/lib/example/foo.rb
55
- - examples/archive/lib/example/bar.rb
56
- - examples/archive/lib/example/baz.rb
57
- - examples/archive/bin/example
58
- - README.txt
59
- - COPYING
60
- - setup.rb
31
+ - lib/rook
32
+ - lib/rook.rb
33
+ - lib/rook/commands.rb
34
+ - lib/rook/cookbook.rb
35
+ - lib/rook/helper
36
+ - lib/rook/kitchen.rb
37
+ - lib/rook/main.rb
38
+ - lib/rook/recipe.rb
39
+ - lib/rook/rookbook.schema.yaml
40
+ - lib/rook/util.rb
41
+ - lib/rook/helper/bz2.rb
42
+ - lib/rook/helper/digest.rb
43
+ - lib/rook/helper/enumerable.rb
44
+ - lib/rook/helper/file.rb
45
+ - lib/rook/helper/fileutils.rb
46
+ - lib/rook/helper/kernel.rb
47
+ - bin/rook
48
+ - examples/hello_c
49
+ - examples/project
50
+ - examples/hello_c/hello.c
51
+ - examples/hello_c/hello.h
52
+ - examples/hello_c/Rookbook.rb
53
+ - examples/hello_c/Rookbook.yaml
54
+ - examples/project/bin
55
+ - examples/project/CVS
56
+ - examples/project/example.gemspec
57
+ - examples/project/lib
58
+ - examples/project/README.txt
59
+ - examples/project/Rookbook.props
60
+ - examples/project/Rookbook.rb
61
+ - examples/project/Rookbook.yaml
62
+ - examples/project/setup.rb
63
+ - examples/project/test
64
+ - examples/project/bin/CVS
65
+ - examples/project/bin/example
66
+ - examples/project/lib/CVS
67
+ - examples/project/lib/example
68
+ - examples/project/lib/example.rb
69
+ - examples/project/lib/example/bar.rb
70
+ - examples/project/lib/example/baz.rb
71
+ - examples/project/lib/example/CVS
72
+ - examples/project/lib/example/foo.rb
73
+ - examples/project/test/CVS
74
+ - examples/project/test/test.rb
75
+ - doc-api/classes
76
+ - doc-api/created.rid
77
+ - doc-api/files
78
+ - doc-api/fr_class_index.html
79
+ - doc-api/fr_file_index.html
80
+ - doc-api/fr_method_index.html
81
+ - doc-api/index.html
82
+ - doc-api/rdoc-style.css
83
+ - doc-api/classes/BZ2
84
+ - doc-api/classes/BZ2.html
85
+ - doc-api/classes/Digest
86
+ - doc-api/classes/Digest.html
87
+ - doc-api/classes/Enumerable.html
88
+ - doc-api/classes/File.html
89
+ - doc-api/classes/FileUtils.html
90
+ - doc-api/classes/Kernel.html
91
+ - doc-api/classes/Rook
92
+ - doc-api/classes/Rook.html
93
+ - doc-api/classes/BZ2/Reader.html
94
+ - doc-api/classes/Digest/Base.html
95
+ - doc-api/classes/Rook/Assertion.html
96
+ - doc-api/classes/Rook/AssertionError.html
97
+ - doc-api/classes/Rook/CommandOptionError.html
98
+ - doc-api/classes/Rook/Commands.html
99
+ - doc-api/classes/Rook/Cookbook.html
100
+ - doc-api/classes/Rook/CookbookError.html
101
+ - doc-api/classes/Rook/CookbookValidator.html
102
+ - doc-api/classes/Rook/Kitchen.html
103
+ - doc-api/classes/Rook/KitchenHelper.html
104
+ - doc-api/classes/Rook/Main.html
105
+ - doc-api/classes/Rook/Parameters.html
106
+ - doc-api/classes/Rook/Recipe.html
107
+ - doc-api/classes/Rook/RookError.html
108
+ - doc-api/classes/Rook/Util
109
+ - doc-api/classes/Rook/Util.html
110
+ - doc-api/classes/Rook/Util/UndefinedPropertyError.html
111
+ - doc-api/files/__
112
+ - doc-api/files/rook
113
+ - doc-api/files/rook_rb.html
114
+ - doc-api/files/__/README_txt.html
115
+ - doc-api/files/rook/commands_rb.html
116
+ - doc-api/files/rook/cookbook_rb.html
117
+ - doc-api/files/rook/helper
118
+ - doc-api/files/rook/kitchen_rb.html
119
+ - doc-api/files/rook/main_rb.html
120
+ - doc-api/files/rook/recipe_rb.html
121
+ - doc-api/files/rook/util_rb.html
122
+ - doc-api/files/rook/helper/bz2_rb.html
123
+ - doc-api/files/rook/helper/digest_rb.html
124
+ - doc-api/files/rook/helper/enumerable_rb.html
125
+ - doc-api/files/rook/helper/file_rb.html
126
+ - doc-api/files/rook/helper/fileutils_rb.html
127
+ - doc-api/files/rook/helper/kernel_rb.html
128
+ - README.txt
129
+ - COPYING
130
+ - rook.gemspec
131
+ - setup.rb
61
132
  test_files: []
133
+
62
134
  rdoc_options: []
135
+
63
136
  extra_rdoc_files: []
137
+
64
138
  executables:
65
- - rook
139
+ - rook
66
140
  extensions: []
141
+
67
142
  requirements: []
68
- dependencies: []
143
+
144
+ dependencies:
145
+ - !ruby/object:Gem::Dependency
146
+ name: kwalify
147
+ version_requirement:
148
+ version_requirements: !ruby/object:Gem::Version::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.6.0
153
+ version:
154
+ - !ruby/object:Gem::Dependency
155
+ name: kwalify
156
+ version_requirement:
157
+ version_requirements: !ruby/object:Gem::Version::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: 1.0.0
162
+ version: