chef_fixie 0.2.0 → 0.2.1
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.
- checksums.yaml +4 -4
- data/lib/chef_fixie/authz_objects.rb +7 -0
- data/lib/chef_fixie/sql_objects.rb +32 -2
- data/lib/chef_fixie/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 825da7433a38666e0611aa0a4a483f588fb5a960
|
4
|
+
data.tar.gz: 9d847319ee053fa87a1b227dc4a98be81c8607fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d84e4c74eff5263bf5cb04b6c34cb685277b7e6b968171b57432add99536b9339bed1bbed9adf3cebf7697c171231dbd329160fdd184e21e4437776de642f188
|
7
|
+
data.tar.gz: ded9a2ada6cf314e19ddf44f666b25138ec4edb1cacf5cc9a55a10cec7d1e49c71382ccbc740c634ac08945bf3474e0f115e198c4eababdbc4bf01269cff00a7
|
@@ -145,6 +145,10 @@ module ChefFixie
|
|
145
145
|
[:unparsed, result] # todo figure this out in more detail
|
146
146
|
end
|
147
147
|
|
148
|
+
def authz_delete
|
149
|
+
authz_api.delete(prefix)
|
150
|
+
end
|
151
|
+
|
148
152
|
def acl_raw
|
149
153
|
authz_api.get("#{prefix}/acl")
|
150
154
|
end
|
@@ -258,6 +262,9 @@ module ChefFixie
|
|
258
262
|
def group
|
259
263
|
ChefFixie::AuthzMapper.struct_to_name(group_raw)
|
260
264
|
end
|
265
|
+
def list
|
266
|
+
group
|
267
|
+
end
|
261
268
|
|
262
269
|
def group_add_raw(actor_or_group, entity)
|
263
270
|
entity_resource = to_resource(actor_or_group)
|
@@ -39,18 +39,38 @@ module ChefFixie
|
|
39
39
|
"ChefFixie::Sql" + "::" # this should be autogenerated not hardcoded
|
40
40
|
end
|
41
41
|
|
42
|
+
def self.to_name(class_or_name)
|
43
|
+
name =
|
44
|
+
case
|
45
|
+
when class_or_name.is_a?(Symbol)
|
46
|
+
class_or_name.to_s
|
47
|
+
when class_or_name.is_a?(Class)
|
48
|
+
class_or_name.name
|
49
|
+
when class_or_name.is_a?(String)
|
50
|
+
class_or_name
|
51
|
+
else
|
52
|
+
class_or_name.class.to_s
|
53
|
+
end
|
54
|
+
name.split('::')[-1]
|
55
|
+
end
|
56
|
+
|
42
57
|
# The class for the table, e.g. Orgs
|
43
58
|
def self.table_class(name)
|
59
|
+
name = self.to_name(name)
|
44
60
|
(base + name.to_s.pluralize.camelize).constantize
|
45
61
|
end
|
46
62
|
# The class for one instance of the object, e.g. Org
|
47
63
|
def self.object_class(name)
|
64
|
+
name = self.to_name(name)
|
48
65
|
(base + name.to_s.singularize.camelize).constantize
|
49
66
|
end
|
50
67
|
def self.singular(name)
|
68
|
+
name = self.to_name(name)
|
51
69
|
name.to_s.singularize
|
52
70
|
end
|
53
71
|
def self.plural(name)
|
72
|
+
name = self.to_name(name)
|
73
|
+
pp :name_plural=>name
|
54
74
|
name.to_s.pluralize
|
55
75
|
end
|
56
76
|
end
|
@@ -63,6 +83,9 @@ module ChefFixie
|
|
63
83
|
def data
|
64
84
|
@data
|
65
85
|
end
|
86
|
+
def table
|
87
|
+
Relationships.table_class(self).new
|
88
|
+
end
|
66
89
|
|
67
90
|
# TODO rework this to use better style
|
68
91
|
def self.ro_access(*args)
|
@@ -91,7 +114,14 @@ module ChefFixie
|
|
91
114
|
end
|
92
115
|
end
|
93
116
|
|
94
|
-
|
117
|
+
def delete
|
118
|
+
rows = table.by_id(id)
|
119
|
+
raise "id #{id} matches more than one object" if rows.all.count != 1
|
120
|
+
rows.inner.delete
|
121
|
+
if self.respond_to?(:authz_delete)
|
122
|
+
authz_delete
|
123
|
+
end
|
124
|
+
end
|
95
125
|
end
|
96
126
|
|
97
127
|
class Org < SqlObject
|
@@ -305,7 +335,7 @@ module ChefFixie
|
|
305
335
|
def self.max_count_default
|
306
336
|
50
|
307
337
|
end
|
308
|
-
|
338
|
+
|
309
339
|
def get_table
|
310
340
|
:unknown_table
|
311
341
|
end
|
data/lib/chef_fixie/version.rb
CHANGED