ridley 1.1.1 → 1.2.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.
data/Gemfile CHANGED
@@ -45,5 +45,5 @@ group :test do
45
45
  gem 'fuubar'
46
46
  gem 'json_spec'
47
47
  gem 'webmock'
48
- gem 'chef-zero', '~> 1.1.3'
48
+ gem 'chef-zero', '~> 1.5.0'
49
49
  end
data/Thorfile CHANGED
@@ -3,10 +3,12 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  require 'bundler'
5
5
  require 'bundler/setup'
6
-
6
+ require 'buff/ruby_engine'
7
7
  require 'ridley'
8
8
 
9
9
  class Default < Thor
10
+ extend Buff::RubyEngine
11
+
10
12
  unless jruby?
11
13
  require 'thor/rake_compat'
12
14
 
@@ -107,6 +107,7 @@ endlocal
107
107
  <%= first_boot %>
108
108
  )
109
109
 
110
- <%= set_path %>
110
+ SET "PATH=%PATH%;<%= env_path %>"
111
+ SETX PATH "%PATH;<%= env_path %>"
111
112
 
112
113
  <%= chef_run %>
data/lib/ridley.rb CHANGED
@@ -1,8 +1,6 @@
1
- require 'active_support/inflector'
2
1
  require 'addressable/uri'
3
2
  require 'celluloid'
4
3
  require 'celluloid/io'
5
- require 'chozo'
6
4
  require 'faraday'
7
5
  require 'forwardable'
8
6
  require 'hashie'
@@ -98,8 +98,8 @@ module Ridley
98
98
  end
99
99
 
100
100
  # @return [String]
101
- def set_path
102
- "SET \"PATH=%PATH%;C:\\ruby\\bin;C:\\opscode\\chef\\bin;C:\\opscode\\chef\\embedded\\bin\"\n"
101
+ def env_path
102
+ "C:\\opscode\\chef\\bin;C:\\opscode\\chef\\embedded\\bin"
103
103
  end
104
104
 
105
105
  # @return [String]
@@ -187,9 +187,9 @@ module Ridley::Chef
187
187
  result[:name] = name
188
188
  result[:cookbook_name] = cookbook_name
189
189
  result[:version] = version
190
- result[:metadata] = metadata
190
+ result[:metadata] = metadata.to_hash
191
191
  result[:frozen?] = frozen
192
- result.to_hash
192
+ result
193
193
  end
194
194
 
195
195
  def to_json(*args)
@@ -55,8 +55,8 @@ module Ridley::Chef
55
55
  :replacing, :attributes, :groupings, :recipes, :version
56
56
  ]
57
57
 
58
- include Chozo::Mixin::ParamsValidate
59
- include Chozo::Mixin::FromFile
58
+ include Ridley::Mixin::ParamsValidate
59
+ include Ridley::Mixin::FromFile
60
60
 
61
61
  attr_reader :cookbook
62
62
  attr_reader :platforms
@@ -1,3 +1,5 @@
1
+ require 'varia_model'
2
+
1
3
  module Ridley
2
4
  class ChefObject
3
5
  class << self
@@ -6,7 +8,7 @@ module Ridley
6
8
  @chef_id
7
9
  end
8
10
 
9
- # @param [String, Symbol] identifier
11
+ # @param [#to_sym] identifier
10
12
  #
11
13
  # @return [String]
12
14
  def set_chef_id(identifier)
@@ -18,7 +20,7 @@ module Ridley
18
20
  @chef_type ||= self.class.name.underscore
19
21
  end
20
22
 
21
- # @param [String, Symbol] type
23
+ # @param [#to_s] type
22
24
  #
23
25
  # @return [String]
24
26
  def set_chef_type(type)
@@ -40,7 +42,7 @@ module Ridley
40
42
  end
41
43
  end
42
44
 
43
- include Chozo::VariaModel
45
+ include VariaModel
44
46
  include Comparable
45
47
 
46
48
  # @param [Ridley::Resource] resource
@@ -98,7 +98,7 @@ module Ridley
98
98
  #
99
99
  # @param [#to_sym] filetype
100
100
  # the type of file to download. These are broken up into the following types in Chef:
101
- # - attribute (unsupported until resolved https://github.com/reset/chozo/issues/17)
101
+ # - attribute
102
102
  # - definition
103
103
  # - file
104
104
  # - library
@@ -31,9 +31,9 @@ module Ridley
31
31
  # @param [String] key
32
32
  # @param [Object] value
33
33
  #
34
- # @return [HashWithIndifferentAccess]
34
+ # @return [Hashie::Mash]
35
35
  def set_default_attribute(key, value)
36
- attr_hash = HashWithIndifferentAccess.from_dotted_path(key, value)
36
+ attr_hash = Hashie::Mash.from_dotted_path(key, value)
37
37
  self.default_attributes = self.default_attributes.deep_merge(attr_hash)
38
38
  end
39
39
 
@@ -49,9 +49,9 @@ module Ridley
49
49
  # @param [String] key
50
50
  # @param [Object] value
51
51
  #
52
- # @return [HashWithIndifferentAccess]
52
+ # @return [Hashie::Mash]
53
53
  def set_override_attribute(key, value)
54
- attr_hash = HashWithIndifferentAccess.from_dotted_path(key, value)
54
+ attr_hash = Hashie::Mash.from_dotted_path(key, value)
55
55
  self.override_attributes = self.override_attributes.deep_merge(attr_hash)
56
56
  end
57
57
  end
@@ -34,9 +34,9 @@ module Ridley
34
34
  # @param [String] key
35
35
  # @param [Object] value
36
36
  #
37
- # @return [HashWithIndifferentAccess]
37
+ # @return [Hashie::Mash]
38
38
  def set_override_attribute(key, value)
39
- attr_hash = HashWithIndifferentAccess.from_dotted_path(key, value)
39
+ attr_hash = Hashie::Mash.from_dotted_path(key, value)
40
40
  self.override_attributes = self.override_attributes.deep_merge(attr_hash)
41
41
  end
42
42
 
@@ -52,9 +52,9 @@ module Ridley
52
52
  # @param [String] key
53
53
  # @param [Object] value
54
54
  #
55
- # @return [HashWithIndifferentAccess]
55
+ # @return [Hashie::Mash]
56
56
  def set_default_attribute(key, value)
57
- attr_hash = HashWithIndifferentAccess.from_dotted_path(key, value)
57
+ attr_hash = Hashie::Mash.from_dotted_path(key, value)
58
58
  self.default_attributes = self.default_attributes.deep_merge(attr_hash)
59
59
  end
60
60
  end
@@ -1,4 +1,3 @@
1
- require 'active_support/core_ext/kernel/reporting'
2
1
  # Silencing warnings because not all versions of GSSAPI support all of the GSSAPI methods
3
2
  # the gssapi gem attempts to attach to and these warnings are dumped to STDERR.
4
3
  silence_warnings do
@@ -0,0 +1,53 @@
1
+ module Ridley::Mixin
2
+ module FromFile
3
+ module ClassMethods
4
+ def from_file(filename, *args)
5
+ new(*args).from_file(filename)
6
+ end
7
+
8
+ def class_from_file(filename, *args)
9
+ new(*args).class_from_file(filename)
10
+ end
11
+ end
12
+
13
+ class << self
14
+ def included(base)
15
+ base.extend(ClassMethods)
16
+ end
17
+ end
18
+
19
+ # Loads the contents of a file within the context of the current object
20
+ #
21
+ # @param [#to_s] filename
22
+ # path to the file to load
23
+ #
24
+ # @raise [IOError] if the file does not exist or cannot be read
25
+ def from_file(filename)
26
+ filename = filename.to_s
27
+
28
+ if File.exists?(filename) && File.readable?(filename)
29
+ self.instance_eval(IO.read(filename), filename, 1)
30
+ self
31
+ else
32
+ raise IOError, "Could not open or read: '#{filename}'"
33
+ end
34
+ end
35
+
36
+ # Loads the contents of a file within the context of the current object's class
37
+ #
38
+ # @param [#to_s] filename
39
+ # path to the file to load
40
+ #
41
+ # @raise [IOError] if the file does not exist or cannot be read
42
+ def class_from_file(filename)
43
+ filename = filename.to_s
44
+
45
+ if File.exists?(filename) && File.readable?(filename)
46
+ self.class_eval(IO.read(filename), filename, 1)
47
+ self
48
+ else
49
+ raise IOError, "Could not open or read: '#{filename}'"
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,218 @@
1
+ module Ridley::Mixin
2
+ # Borrowed and modified from: {https://raw.github.com/opscode/chef/11.4.0/lib/chef/mixin/params_validate.rb}
3
+ #
4
+ # Copyright:: Copyright (c) 2008 Opscode, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ module ParamsValidate
18
+ # Takes a hash of options, along with a map to validate them. Returns the original
19
+ # options hash, plus any changes that might have been made (through things like setting
20
+ # default values in the validation map)
21
+ #
22
+ # For example:
23
+ #
24
+ # validate({ :one => "neat" }, { :one => { :kind_of => String }})
25
+ #
26
+ # Would raise an exception if the value of :one above is not a kind_of? string. Valid
27
+ # map options are:
28
+ #
29
+ # :default:: Sets the default value for this parameter.
30
+ # :callbacks:: Takes a hash of Procs, which should return true if the argument is valid.
31
+ # The key will be inserted into the error message if the Proc does not return true:
32
+ # "Option #{key}'s value #{value} #{message}!"
33
+ # :kind_of:: Ensure that the value is a kind_of?(Whatever). If passed an array, it will ensure
34
+ # that the value is one of those types.
35
+ # :respond_to:: Ensure that the value has a given method. Takes one method name or an array of
36
+ # method names.
37
+ # :required:: Raise an exception if this parameter is missing. Valid values are true or false,
38
+ # by default, options are not required.
39
+ # :regex:: Match the value of the paramater against a regular expression.
40
+ # :equal_to:: Match the value of the paramater with ==. An array means it can be equal to any
41
+ # of the values.
42
+ def validate(opts, map)
43
+ #--
44
+ # validate works by taking the keys in the validation map, assuming it's a hash, and
45
+ # looking for _pv_:symbol as methods. Assuming it find them, it calls the right
46
+ # one.
47
+ #++
48
+ raise ArgumentError, "Options must be a hash" unless opts.kind_of?(Hash)
49
+ raise ArgumentError, "Validation Map must be a hash" unless map.kind_of?(Hash)
50
+
51
+ map.each do |key, validation|
52
+ unless key.kind_of?(Symbol) || key.kind_of?(String)
53
+ raise ArgumentError, "Validation map keys must be symbols or strings!"
54
+ end
55
+ case validation
56
+ when true
57
+ _pv_required(opts, key)
58
+ when false
59
+ true
60
+ when Hash
61
+ validation.each do |check, carg|
62
+ check_method = "_pv_#{check.to_s}"
63
+ if self.respond_to?(check_method, true)
64
+ self.send(check_method, opts, key, carg)
65
+ else
66
+ raise ArgumentError, "Validation map has unknown check: #{check}"
67
+ end
68
+ end
69
+ end
70
+ end
71
+ opts
72
+ end
73
+
74
+ def set_or_return(symbol, arg, validation)
75
+ iv_symbol = "@#{symbol.to_s}".to_sym
76
+ map = {
77
+ symbol => validation
78
+ }
79
+
80
+ if arg == nil && self.instance_variable_defined?(iv_symbol) == true
81
+ self.instance_variable_get(iv_symbol)
82
+ else
83
+ opts = validate({ symbol => arg }, { symbol => validation })
84
+ self.instance_variable_set(iv_symbol, opts[symbol])
85
+ end
86
+ end
87
+
88
+ private
89
+
90
+ # Return the value of a parameter, or nil if it doesn't exist.
91
+ def _pv_opts_lookup(opts, key)
92
+ if opts.has_key?(key.to_s)
93
+ opts[key.to_s]
94
+ elsif opts.has_key?(key.to_sym)
95
+ opts[key.to_sym]
96
+ else
97
+ nil
98
+ end
99
+ end
100
+
101
+ # Raise an exception if the parameter is not found.
102
+ def _pv_required(opts, key, is_required=true)
103
+ if is_required
104
+ if (opts.has_key?(key.to_s) && !opts[key.to_s].nil?) ||
105
+ (opts.has_key?(key.to_sym) && !opts[key.to_sym].nil?)
106
+ true
107
+ else
108
+ raise ValidationFailed, "Required argument #{key} is missing!"
109
+ end
110
+ end
111
+ end
112
+
113
+ def _pv_equal_to(opts, key, to_be)
114
+ value = _pv_opts_lookup(opts, key)
115
+ unless value.nil?
116
+ passes = false
117
+ Array(to_be).each do |tb|
118
+ passes = true if value == tb
119
+ end
120
+ unless passes
121
+ raise ValidationFailed, "Option #{key} must be equal to one of: #{to_be.join(", ")}! You passed #{value.inspect}."
122
+ end
123
+ end
124
+ end
125
+
126
+ # Raise an exception if the parameter is not a kind_of?(to_be)
127
+ def _pv_kind_of(opts, key, to_be)
128
+ value = _pv_opts_lookup(opts, key)
129
+ unless value.nil?
130
+ passes = false
131
+ Array(to_be).each do |tb|
132
+ passes = true if value.kind_of?(tb)
133
+ end
134
+ unless passes
135
+ raise ValidationFailed, "Option #{key} must be a kind of #{to_be}! You passed #{value.inspect}."
136
+ end
137
+ end
138
+ end
139
+
140
+ # Raise an exception if the parameter does not respond to a given set of methods.
141
+ def _pv_respond_to(opts, key, method_name_list)
142
+ value = _pv_opts_lookup(opts, key)
143
+ unless value.nil?
144
+ Array(method_name_list).each do |method_name|
145
+ unless value.respond_to?(method_name)
146
+ raise ValidationFailed, "Option #{key} must have a #{method_name} method!"
147
+ end
148
+ end
149
+ end
150
+ end
151
+
152
+ # Assert that parameter returns false when passed a predicate method.
153
+ # For example, :cannot_be => :blank will raise a ValidationFailed
154
+ # error value.blank? returns a 'truthy' (not nil or false) value.
155
+ #
156
+ # Note, this will *PASS* if the object doesn't respond to the method.
157
+ # So, to make sure a value is not nil and not blank, you need to do
158
+ # both :cannot_be => :blank *and* :cannot_be => :nil (or :required => true)
159
+ def _pv_cannot_be(opts, key, predicate_method_base_name)
160
+ value = _pv_opts_lookup(opts, key)
161
+ predicate_method = (predicate_method_base_name.to_s + "?").to_sym
162
+
163
+ if value.respond_to?(predicate_method)
164
+ if value.send(predicate_method)
165
+ raise ValidationFailed, "Option #{key} cannot be #{predicate_method_base_name}"
166
+ end
167
+ end
168
+ end
169
+
170
+ # Assign a default value to a parameter.
171
+ def _pv_default(opts, key, default_value)
172
+ value = _pv_opts_lookup(opts, key)
173
+ if value == nil
174
+ opts[key] = default_value
175
+ end
176
+ end
177
+
178
+ # Check a parameter against a regular expression.
179
+ def _pv_regex(opts, key, regex)
180
+ value = _pv_opts_lookup(opts, key)
181
+ if value != nil
182
+ passes = false
183
+ [ regex ].flatten.each do |r|
184
+ if value != nil
185
+ if r.match(value.to_s)
186
+ passes = true
187
+ end
188
+ end
189
+ end
190
+ unless passes
191
+ raise ValidationFailed, "Option #{key}'s value #{value} does not match regular expression #{regex.inspect}"
192
+ end
193
+ end
194
+ end
195
+
196
+ # Check a parameter against a hash of proc's.
197
+ def _pv_callbacks(opts, key, callbacks)
198
+ raise ArgumentError, "Callback list must be a hash!" unless callbacks.kind_of?(Hash)
199
+ value = _pv_opts_lookup(opts, key)
200
+ if value != nil
201
+ callbacks.each do |message, zeproc|
202
+ if zeproc.call(value) != true
203
+ raise ValidationFailed, "Option #{key}'s value #{value} #{message}!"
204
+ end
205
+ end
206
+ end
207
+ end
208
+
209
+ # Allow a parameter to default to @name
210
+ def _pv_name_attribute(opts, key, is_name_attribute=true)
211
+ if is_name_attribute
212
+ if opts[key] == nil
213
+ opts[key] = self.instance_variable_get("@name")
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
@@ -3,7 +3,7 @@ module Ridley
3
3
  class << self
4
4
  # @return [String]
5
5
  def resource_path
6
- @resource_path ||= representation.chef_type.pluralize
6
+ @resource_path ||= representation.chef_type
7
7
  end
8
8
 
9
9
  # @param [String] path
@@ -148,7 +148,7 @@ module Ridley
148
148
  #
149
149
  # @return [Hash]
150
150
  def update(cookbook, options = {})
151
- options.reverse_merge(force: false, freeze: false)
151
+ options = options.reverse_merge(force: false, freeze: false)
152
152
 
153
153
  cookbook.frozen = options[:freeze]
154
154
 
@@ -1,3 +1,3 @@
1
1
  module Ridley
2
- VERSION = "1.1.1"
2
+ VERSION = "1.2.0"
3
3
  end
data/ridley.gemspec CHANGED
@@ -17,18 +17,22 @@ Gem::Specification.new do |s|
17
17
  s.version = Ridley::VERSION
18
18
  s.required_ruby_version = ">= 1.9.1"
19
19
 
20
- s.add_runtime_dependency 'addressable'
21
- s.add_runtime_dependency 'buff-shell_out', '~> 0.1'
22
- s.add_runtime_dependency 'chozo', '>= 0.6.0'
23
- s.add_runtime_dependency 'celluloid', '~> 0.14.0'
24
- s.add_runtime_dependency 'celluloid-io', '~> 0.14.0'
25
- s.add_runtime_dependency 'erubis'
26
- s.add_runtime_dependency 'faraday', '>= 0.8.4'
27
- s.add_runtime_dependency 'hashie', '>= 2.0.2'
28
- s.add_runtime_dependency 'mixlib-authentication', '>= 1.3.0'
29
- s.add_runtime_dependency 'net-http-persistent', '>= 2.8'
30
- s.add_runtime_dependency 'net-ssh'
31
- s.add_runtime_dependency 'retryable'
32
- s.add_runtime_dependency 'solve', '>= 0.4.4'
33
- s.add_runtime_dependency 'winrm', '~> 1.1.0'
20
+ s.add_dependency 'addressable'
21
+ s.add_dependency 'varia_model', '~> 0.1'
22
+ s.add_dependency 'buff-extensions', '~> 0.3'
23
+ s.add_dependency 'buff-shell_out', '~> 0.1'
24
+ s.add_dependency 'celluloid', '~> 0.14.0'
25
+ s.add_dependency 'celluloid-io', '~> 0.14.0'
26
+ s.add_dependency 'erubis'
27
+ s.add_dependency 'faraday', '>= 0.8.4'
28
+ s.add_dependency 'hashie', '>= 2.0.2'
29
+ s.add_dependency 'json', '>= 1.7.7'
30
+ s.add_dependency 'mixlib-authentication', '>= 1.3.0'
31
+ s.add_dependency 'net-http-persistent', '>= 2.8'
32
+ s.add_dependency 'net-ssh'
33
+ s.add_dependency 'retryable'
34
+ s.add_dependency 'solve', '>= 0.4.4'
35
+ s.add_dependency 'winrm', '~> 1.1.0'
36
+
37
+ s.add_development_dependency "buff-ruby_engine", "~> 0.1"
34
38
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
- require 'chozo'
3
+ require 'buff/ruby_engine'
4
4
 
5
5
  def setup_rspec
6
6
  require 'rspec'
@@ -35,7 +35,7 @@ def setup_rspec
35
35
  end
36
36
  end
37
37
 
38
- if mri? && ENV['CI'] != 'true'
38
+ if Buff::RubyEngine.mri? && ENV['CI'] != 'true'
39
39
  require 'spork'
40
40
 
41
41
  Spork.prefork do
@@ -82,6 +82,12 @@ describe Ridley::BootstrapContext::Windows do
82
82
  end
83
83
  end
84
84
 
85
+ describe "#env_path" do
86
+ it "returns a string" do
87
+ expect(subject.env_path).to be_a(String)
88
+ end
89
+ end
90
+
85
91
  describe "#default_template" do
86
92
  it "returns a string" do
87
93
  subject.default_template.should be_a(String)
@@ -403,9 +403,9 @@ describe Ridley::Chef::Cookbook do
403
403
  subject[:cookbook_name].should be_a(String)
404
404
  end
405
405
 
406
- it "has a :metadata key with a Cookbook::Metadata value" do
406
+ it "has a :metadata key with a Hashie::Mash value" do
407
407
  subject.should have_key(:metadata)
408
- subject[:metadata].should be_a(Ridley::Chef::Cookbook::Metadata)
408
+ subject[:metadata].should be_a(Hashie::Mash)
409
409
  end
410
410
 
411
411
  it "has a :version key with a String value" do
@@ -13,22 +13,22 @@ describe Ridley::NodeObject do
13
13
  end
14
14
 
15
15
  it "includes default attributes" do
16
- instance.default = default = { default: { one: "val", two: "val" } }
16
+ instance.default = default = { "default" => { "one" => "val", "two" => "val" } }
17
17
  expect(subject.to_hash).to include(default)
18
18
  end
19
19
 
20
20
  it "includes normal attributes" do
21
- instance.normal = normal = { normal: { one: "new", two: "val" } }
21
+ instance.normal = normal = { "normal" => { "one" => "val", "two" => "val" } }
22
22
  expect(subject.to_hash).to include(normal)
23
23
  end
24
24
 
25
25
  it "includes override attributes" do
26
- instance.override = override = { override: { one: "new", two: "val" } }
26
+ instance.override = override = { "override" => { "one" => "val", "two" => "val" } }
27
27
  expect(subject.to_hash).to include(override)
28
28
  end
29
29
 
30
30
  it "includes automatic attributes" do
31
- instance.automatic = automatic = { automatic: { one: "new", two: "val" } }
31
+ instance.automatic = automatic = { "automatic" => { "one" => "val", "two" => "val" } }
32
32
  expect(subject.to_hash).to include(automatic)
33
33
  end
34
34
 
@@ -30,8 +30,8 @@ describe Ridley::Resource do
30
30
  context "when not explicitly set" do
31
31
  before { subject.set_resource_path(nil) }
32
32
 
33
- it "returns the representation's chef type, pluralized" do
34
- subject.resource_path.should eql(representation.chef_type.pluralize)
33
+ it "returns the representation's chef type" do
34
+ subject.resource_path.should eql(representation.chef_type)
35
35
  end
36
36
  end
37
37
 
@@ -91,7 +91,7 @@ describe Ridley::NodeResource do
91
91
  end
92
92
 
93
93
  it "has a deep merge between the attributes of the original node and the new attributes" do
94
- expect(result.normal.to_hash).to eql(deep: { one: "val", two: "val" })
94
+ expect(result.normal.to_hash).to eql("deep" => { "one" => "val", "two" => "val" })
95
95
  end
96
96
  end
97
97
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridley
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-06-13 00:00:00.000000000 Z
13
+ date: 2013-06-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: addressable
@@ -29,7 +29,7 @@ dependencies:
29
29
  - !ruby/object:Gem::Version
30
30
  version: '0'
31
31
  - !ruby/object:Gem::Dependency
32
- name: buff-shell_out
32
+ name: varia_model
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  none: false
35
35
  requirements:
@@ -45,21 +45,37 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0.1'
47
47
  - !ruby/object:Gem::Dependency
48
- name: chozo
48
+ name: buff-extensions
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
- - - ! '>='
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.0
54
+ version: '0.3'
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  none: false
59
59
  requirements:
60
- - - ! '>='
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: '0.3'
63
+ - !ruby/object:Gem::Dependency
64
+ name: buff-shell_out
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
61
69
  - !ruby/object:Gem::Version
62
- version: 0.6.0
70
+ version: '0.1'
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: '0.1'
63
79
  - !ruby/object:Gem::Dependency
64
80
  name: celluloid
65
81
  requirement: !ruby/object:Gem::Requirement
@@ -140,6 +156,22 @@ dependencies:
140
156
  - - ! '>='
141
157
  - !ruby/object:Gem::Version
142
158
  version: 2.0.2
159
+ - !ruby/object:Gem::Dependency
160
+ name: json
161
+ requirement: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: 1.7.7
167
+ type: :runtime
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: 1.7.7
143
175
  - !ruby/object:Gem::Dependency
144
176
  name: mixlib-authentication
145
177
  requirement: !ruby/object:Gem::Requirement
@@ -236,6 +268,22 @@ dependencies:
236
268
  - - ~>
237
269
  - !ruby/object:Gem::Version
238
270
  version: 1.1.0
271
+ - !ruby/object:Gem::Dependency
272
+ name: buff-ruby_engine
273
+ requirement: !ruby/object:Gem::Requirement
274
+ none: false
275
+ requirements:
276
+ - - ~>
277
+ - !ruby/object:Gem::Version
278
+ version: '0.1'
279
+ type: :development
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ~>
285
+ - !ruby/object:Gem::Version
286
+ version: '0.1'
239
287
  description: A reliable Chef API client with a clean syntax
240
288
  email:
241
289
  - reset@riotgames.com
@@ -296,6 +344,8 @@ files:
296
344
  - lib/ridley/middleware/retry.rb
297
345
  - lib/ridley/mixin.rb
298
346
  - lib/ridley/mixin/checksum.rb
347
+ - lib/ridley/mixin/from_file.rb
348
+ - lib/ridley/mixin/params_validate.rb
299
349
  - lib/ridley/resource.rb
300
350
  - lib/ridley/resources.rb
301
351
  - lib/ridley/resources/client_resource.rb
@@ -404,7 +454,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
404
454
  version: '0'
405
455
  segments:
406
456
  - 0
407
- hash: 3482897394780446934
457
+ hash: 1580107722882727150
408
458
  requirements: []
409
459
  rubyforge_project:
410
460
  rubygems_version: 1.8.23