Class: Shef::ModelWrapper
Instance Attribute Summary collapse
Instance Method Summary
collapse
#convert_to_class_name, #convert_to_snake_case, #filename_to_qualified_string, #snake_case_basename
Constructor Details
#initialize(model_class, symbol = nil) ⇒ ModelWrapper
Returns a new instance of ModelWrapper.
29
30
31
32
|
# File 'lib/chef/shef/model_wrapper.rb', line 29
def initialize(model_class, symbol=nil)
@model_class = model_class
@model_symbol = symbol || convert_to_snake_case(model_class.name, "Chef").to_sym
end
|
Instance Attribute Details
#model_symbol ⇒ Object
Returns the value of attribute model_symbol.
27
28
29
|
# File 'lib/chef/shef/model_wrapper.rb', line 27
def model_symbol
@model_symbol
end
|
Instance Method Details
#all(&block) ⇒ Object
Also known as:
list
49
50
51
52
|
# File 'lib/chef/shef/model_wrapper.rb', line 49
def all(&block)
all_objects = list_objects
block_given? ? all_objects.map(&block) : all_objects
end
|
#search(query) ⇒ Object
Also known as:
find
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/chef/shef/model_wrapper.rb', line 34
def search(query)
return all if query.to_s == "all"
results = []
Chef::Search::Query.new.search(@model_symbol, format_query(query)) do |obj|
if block_given?
results << yield(obj)
else
results << obj
end
end
results
end
|
#show(obj_id) ⇒ Object
Also known as:
load
56
57
58
|
# File 'lib/chef/shef/model_wrapper.rb', line 56
def show(obj_id)
@model_class.load(obj_id)
end
|
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/chef/shef/model_wrapper.rb', line 62
def transform(what_to_transform, &block)
if what_to_transform == :all
objects_to_transform = list_objects
else
objects_to_transform = search(what_to_transform)
end
objects_to_transform.each do |obj|
if result = yield(obj)
obj.save
end
end
end
|