chef_fixie 0.2.0 → 0.2.1

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
  SHA1:
3
- metadata.gz: 1cc981bb23297717dac0de3676f42ea4422016ad
4
- data.tar.gz: cfdc771777545508b0d3d195adc668e824ffe4f2
3
+ metadata.gz: 825da7433a38666e0611aa0a4a483f588fb5a960
4
+ data.tar.gz: 9d847319ee053fa87a1b227dc4a98be81c8607fe
5
5
  SHA512:
6
- metadata.gz: 4241554e99a513b1461bd8de38a199cab655f3ac526c276565c7b7ca2a700fc363d183d8b89bd7f5f12308c0c4fe3a82706c781bccc90ba0772c8a94b73a1dd7
7
- data.tar.gz: 1384e2f28b152c93c83a398940d2bbf5f6b1d052bca96817e429aff860bc22d2e7df84edbcad6f07d439f14a11639044b285c0f8b03caaffb597b53dce218a9f
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
@@ -1,3 +1,3 @@
1
1
  module ChefFixie
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef_fixie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Anderson