bake 0.4.4 → 0.5.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
  SHA256:
3
- metadata.gz: 229a72fb2b01f8620666a273b5cbbb1e326b80fd0c3b0a1cc2967cf628bbca6e
4
- data.tar.gz: 240325c384794ab40525c1b1c47152f0bcdd6f319afa61df577c8b46b4659b6d
3
+ metadata.gz: fc8a46a50ac43cd0fb5db9d9898327b4c999f3fbe7991b549b7710340268c5a8
4
+ data.tar.gz: a299278a280a3613490b0acc96dc826f498d7950abe38289fb56dcd22165f049
5
5
  SHA512:
6
- metadata.gz: deb0caf57627b894e24c260c4ff86dd634860f72507680e796fed42bc3a131a8c1de0e48f93a69b5f578b1c043da15ba5cb0d0a410295d13a4e64d55f6ecd8d9
7
- data.tar.gz: c76b247bb14ac2846bacf732db20155e7255cb9ec53cccc583b72b36f2ec3215aa409fb9c9e1ab837d488e216b3d39194c6cae07e0ac5626728df08d37fdedec
6
+ metadata.gz: 3b4ff92cffbb0653dfdb7cd8cbddf8d4d117563f3f934d65c12eacdcb2a1da34646706c845565a32b23854335008a6a6b332ec9901a7c43a49b4b3dfa4428435
7
+ data.tar.gz: 22d5cd4677921eb326ae85998b365b7ee151abf53a3752acab4d883b048140cf685f4c34037a052ca8e08406dff1636177e2bc99b7c3a95fa7c1700d37de1e28
@@ -97,14 +97,18 @@ module Bake
97
97
  attr :loaders
98
98
 
99
99
  def call(*commands)
100
+ last_result = nil
101
+
100
102
  while command = commands.shift
101
103
  if recipe = @recipes[command]
102
104
  arguments, options = recipe.prepare(commands)
103
- recipe.call(*arguments, **options)
105
+ last_result = recipe.call(*arguments, **options)
104
106
  else
105
107
  raise ArgumentError, "Could not find recipe for #{command}!"
106
108
  end
107
109
  end
110
+
111
+ return last_result
108
112
  end
109
113
 
110
114
  def lookup(command)
@@ -18,13 +18,18 @@
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  # THE SOFTWARE.
20
20
 
21
+ require_relative 'types'
22
+
21
23
  module Bake
24
+ PARAMETER = /@param\s+(?<name>.*?)\s+\[(?<type>.*?)\]\s+(?<details>.*?)\Z/
25
+
22
26
  class Recipe
23
27
  def initialize(scope, name, method = nil)
24
28
  @scope = scope
25
29
  @name = name
26
30
  @command = nil
27
31
  @description = nil
32
+ @types = nil
28
33
 
29
34
  @method = method
30
35
  @arity = nil
@@ -55,7 +60,7 @@ module Bake
55
60
 
56
61
  def options?
57
62
  if parameters = self.parameters
58
- type, name = self.parameters.last
63
+ type, name = parameters.last
59
64
 
60
65
  return type == :keyrest || type == :keyreq || type == :key
61
66
  end
@@ -81,6 +86,8 @@ module Bake
81
86
  offset = 0
82
87
  ordered = []
83
88
  options = {}
89
+ parameters = method.parameters.dup
90
+ types = self.types
84
91
 
85
92
  while argument = arguments.first
86
93
  name, value = argument.split('=', 2)
@@ -89,10 +96,21 @@ module Bake
89
96
  # Consume it:
90
97
  arguments.shift
91
98
 
99
+ if type = types[name]
100
+ value = types.parse(value)
101
+ end
102
+
92
103
  options[name.to_sym] = value
93
104
  elsif ordered.size < self.arity
105
+ _, name = parameters.shift
106
+ value = arguments.shift
107
+
108
+ if type = types[name]
109
+ value = type.parse(value)
110
+ end
111
+
94
112
  # Consume it:
95
- ordered << arguments.shift
113
+ ordered << value
96
114
  else
97
115
  break
98
116
  end
@@ -122,6 +140,10 @@ module Bake
122
140
  @description ||= read_description
123
141
  end
124
142
 
143
+ def types
144
+ @types ||= read_types
145
+ end
146
+
125
147
  private
126
148
 
127
149
  def compute_command
@@ -163,5 +185,17 @@ module Bake
163
185
 
164
186
  return description
165
187
  end
188
+
189
+ def read_types
190
+ types = {}
191
+
192
+ description.each do |description|
193
+ if fields = PARAMETER.match(description)
194
+ types[fields[:name].to_sym] = Types.parse(fields[:type])
195
+ end
196
+ end
197
+
198
+ return types
199
+ end
166
200
  end
167
201
  end
@@ -0,0 +1,37 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ require_relative 'types/any'
22
+ require_relative 'types/array'
23
+ require_relative 'types/decimal'
24
+ require_relative 'types/float'
25
+ require_relative 'types/hash'
26
+ require_relative 'types/integer'
27
+ require_relative 'types/string'
28
+ require_relative 'types/symbol'
29
+ require_relative 'types/tuple'
30
+
31
+ module Bake
32
+ module Types
33
+ def self.parse(signature)
34
+ eval(signature, binding)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,53 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Bake
22
+ module Types
23
+ class Any
24
+ def initialize(types)
25
+ @types = types
26
+ end
27
+
28
+ def composite?
29
+ @types.any?{|type| type.composite?}
30
+ end
31
+
32
+ def parse(input)
33
+ @types.each do |type|
34
+ return type.parse(input)
35
+ rescue
36
+ # Ignore
37
+ end
38
+ end
39
+
40
+ def self.parse(value)
41
+ value
42
+ end
43
+
44
+ def to_s
45
+ "any of #{@types.join(', ')}"
46
+ end
47
+ end
48
+
49
+ def self.Any(types)
50
+ Any.new(types)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,47 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ require_relative 'any'
22
+
23
+ module Bake
24
+ module Types
25
+ class Array
26
+ def initialize(item_type)
27
+ @item_type = item_type
28
+ end
29
+
30
+ def composite?
31
+ true
32
+ end
33
+
34
+ def parse(input)
35
+ input.split(',').map{|value| @item_type.parse(value)}
36
+ end
37
+
38
+ def to_s
39
+ "an Array of #{@item_type}"
40
+ end
41
+ end
42
+
43
+ def self.Array(item_type = Any)
44
+ Array.new(item_type)
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,35 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ require 'bigdecimal'
22
+
23
+ module Bake
24
+ module Types
25
+ module Decimal
26
+ def self.composite?
27
+ false
28
+ end
29
+
30
+ def self.parse(value)
31
+ value.to_d
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,33 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Bake
22
+ module Types
23
+ module Integer
24
+ def self.composite?
25
+ false
26
+ end
27
+
28
+ def self.parse(value)
29
+ value.to_f
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,53 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Bake
22
+ module Types
23
+ class Hash
24
+ def initialize(key_type, value_type)
25
+ @key_type = key_type
26
+ @value_type = value_type
27
+ end
28
+
29
+ def composite?
30
+ true
31
+ end
32
+
33
+ def parse(input)
34
+ hash = {}
35
+
36
+ input.split(',').each do |pair|
37
+ key, value = pair.split(':', 2)
38
+
39
+ key = @key_type.parse(key)
40
+ value = @value_type.parse(value)
41
+
42
+ hash[key] = value
43
+ end
44
+
45
+ return hash
46
+ end
47
+ end
48
+
49
+ def self.Hash(key_type, value_type)
50
+ Hash.new(key_type, value_type)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,33 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Bake
22
+ module Types
23
+ module Integer
24
+ def self.composite?
25
+ false
26
+ end
27
+
28
+ def self.parse(value)
29
+ value.to_i
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,33 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Bake
22
+ module Types
23
+ module String
24
+ def self.composite?
25
+ false
26
+ end
27
+
28
+ def self.parse(value)
29
+ value.to_s
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,33 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Bake
22
+ module Types
23
+ module Symbol
24
+ def self.composite?
25
+ false
26
+ end
27
+
28
+ def self.parse(input)
29
+ input.to_sym
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,45 @@
1
+ # Copyright, 2020, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Bake
22
+ module Types
23
+ class Tuple
24
+ def initialize(item_types)
25
+ @item_types = item_types
26
+ end
27
+
28
+ def composite?
29
+ true
30
+ end
31
+
32
+ def parse(input)
33
+ input.split(',').map{|value| @item_type.parse(value)}
34
+ end
35
+
36
+ def to_s
37
+ "a Tuple of (#{@item_types.join(', ')})"
38
+ end
39
+ end
40
+
41
+ def self.Tuple(*item_types)
42
+ Tuple.new(item_types)
43
+ end
44
+ end
45
+ end
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Bake
22
- VERSION = "0.4.4"
22
+ VERSION = "0.5.0"
23
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-27 00:00:00.000000000 Z
11
+ date: 2020-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: samovar
@@ -109,6 +109,16 @@ files:
109
109
  - lib/bake/loaders.rb
110
110
  - lib/bake/recipe.rb
111
111
  - lib/bake/scope.rb
112
+ - lib/bake/types.rb
113
+ - lib/bake/types/any.rb
114
+ - lib/bake/types/array.rb
115
+ - lib/bake/types/decimal.rb
116
+ - lib/bake/types/float.rb
117
+ - lib/bake/types/hash.rb
118
+ - lib/bake/types/integer.rb
119
+ - lib/bake/types/string.rb
120
+ - lib/bake/types/symbol.rb
121
+ - lib/bake/types/tuple.rb
112
122
  - lib/bake/version.rb
113
123
  homepage: https://github.com/ioquatix/bake
114
124
  licenses:
@@ -130,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
140
  - !ruby/object:Gem::Version
131
141
  version: '0'
132
142
  requirements: []
133
- rubygems_version: 3.0.6
143
+ rubygems_version: 3.1.2
134
144
  signing_key:
135
145
  specification_version: 4
136
146
  summary: A replacement for rake with a simpler syntax.