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 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