lib/fastly/dictionary.rb in fastly-1.4.3 vs lib/fastly/dictionary.rb in fastly-1.5.0
- old
+ new
@@ -1,8 +1,40 @@
class Fastly
class Dictionary < BelongsToServiceAndVersion
attr_accessor :id, :name, :service_id
+ def items
+ fetcher.list_dictionary_items(:service_id => service_id, :dictionary_id => id)
+ end
+
+ # Returns a Fastly::DictionaryItem corresponding to this dictionary and the +key+
+ #
+ # * +key+ - Key of the dictionary item
+ def item(key)
+ fetcher.get_dictionary_item(service_id, id, key)
+ rescue Fastly::Error => e
+ raise unless e.message =~ /Record not found/
+ end
+
+ def add_item(key, value)
+ fetcher.create_dictionary_item(service_id: service_id, dictionary_id: id, item_key: key, item_value: value)
+ end
+
+ def update_item(key, value)
+ di = items.select {|item| item.item_key.eql? key }.first
+ if di
+ di.item_value = value
+ fetcher.update_dictionary_item(di)
+ else
+ add_item(key, value)
+ end
+ end
+
+ def delete_item(key)
+ di = items.select {|item| item.item_key.eql? key }.first
+ fetcher.delete_dictionary_item(di) if di
+ end
+
def self.pluralize
'dictionaries'
end
end
end