Class: Files::Behavior

Inherits:
Object
  • Object
show all
Defined in:
lib/files.com/models/behavior.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}, options = {}) ⇒ Behavior

Returns a new instance of Behavior.



7
8
9
10
# File 'lib/files.com/models/behavior.rb', line 7

def initialize(attributes = {}, options = {})
  @attributes = attributes || {}
  @options = options || {}
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



5
6
7
# File 'lib/files.com/models/behavior.rb', line 5

def attributes
  @attributes
end

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/files.com/models/behavior.rb', line 5

def options
  @options
end

Class Method Details

.all(params = {}, options = {}) ⇒ Object



180
181
182
# File 'lib/files.com/models/behavior.rb', line 180

def self.all(params = {}, options = {})
  list(params, options)
end

.create(params = {}, options = {}) ⇒ Object

Parameters:

value - string - The value of the folder behavior.  Can be an integer, array, or hash depending on the type of folder behavior. See The Behavior Types section for example values for each type of behavior.
attachment_file - file - Certain behaviors may require a file, for instance, the "watermark" behavior requires a watermark image
disable_parent_folder_behavior - boolean - If true, the parent folder's behavior will be disabled for this folder and its children.
recursive - boolean - Is behavior recursive?
name - string - Name for this behavior.
description - string - Description for this behavior.
path (required) - string - Folder behaviors path.
behavior (required) - string - Behavior type.


236
237
238
239
240
241
242
243
244
245
246
247
# File 'lib/files.com/models/behavior.rb', line 236

def self.create(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: value must be an String") if params[:value] and !params[:value].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: behavior must be an String") if params[:behavior] and !params[:behavior].is_a?(String)
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
  raise MissingParameterError.new("Parameter missing: behavior") unless params[:behavior]

  response, options = Api.send_request("/behaviors", :post, params, options)
  Behavior.new(response.data, options)
end

.delete(id, params = {}, options = {}) ⇒ Object



295
296
297
298
299
300
301
302
303
# File 'lib/files.com/models/behavior.rb', line 295

def self.delete(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/behaviors/#{params[:id]}", :delete, params, options)
  nil
end

.destroy(id, params = {}, options = {}) ⇒ Object



305
306
307
308
# File 'lib/files.com/models/behavior.rb', line 305

def self.destroy(id, params = {}, options = {})
  delete(id, params, options)
  nil
end

.find(id, params = {}, options = {}) ⇒ Object

Parameters:

id (required) - int64 - Behavior ID.


186
187
188
189
190
191
192
193
194
# File 'lib/files.com/models/behavior.rb', line 186

def self.find(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/behaviors/#{params[:id]}", :get, params, options)
  Behavior.new(response.data, options)
end

.get(id, params = {}, options = {}) ⇒ Object



196
197
198
# File 'lib/files.com/models/behavior.rb', line 196

def self.get(id, params = {}, options = {})
  find(id, params, options)
end

.list(params = {}, options = {}) ⇒ Object

Parameters:

cursor - string - Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
per_page - int64 - Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).
sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[behavior]=desc`). Valid fields are `behavior` and `impacts_ui`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `impacts_ui` and `behavior`.
filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `behavior`.


168
169
170
171
172
173
174
175
176
177
178
# File 'lib/files.com/models/behavior.rb', line 168

def self.list(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)

  List.new(Behavior, params) do
    Api.send_request("/behaviors", :get, params, options)
  end
end

.list_for(path, params = {}, options = {}) ⇒ Object

Parameters:

cursor - string - Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
per_page - int64 - Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).
sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[behavior]=desc`). Valid fields are `behavior` and `impacts_ui`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `impacts_ui` and `behavior`.
filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `behavior`.
path (required) - string - Path to operate on.
ancestor_behaviors - string - Show behaviors above this path?
behavior - string - DEPRECATED: If set only shows folder behaviors matching this behavior type. Use `filter[behavior]` instead.


209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# File 'lib/files.com/models/behavior.rb', line 209

def self.list_for(path, params = {}, options = {})
  params ||= {}
  params[:path] = path
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: ancestor_behaviors must be an String") if params[:ancestor_behaviors] and !params[:ancestor_behaviors].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: behavior must be an String") if params[:behavior] and !params[:behavior].is_a?(String)
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]

  List.new(Behavior, params) do
    Api.send_request("/behaviors/folders/#{params[:path]}", :get, params, options)
  end
end

.update(id, params = {}, options = {}) ⇒ Object

Parameters:

value - string - The value of the folder behavior.  Can be an integer, array, or hash depending on the type of folder behavior. See The Behavior Types section for example values for each type of behavior.
attachment_file - file - Certain behaviors may require a file, for instance, the "watermark" behavior requires a watermark image
disable_parent_folder_behavior - boolean - If true, the parent folder's behavior will be disabled for this folder and its children.
recursive - boolean - Is behavior recursive?
name - string - Name for this behavior.
description - string - Description for this behavior.
behavior - string - Behavior type.
path - string - Folder behaviors path.
attachment_delete - boolean - If true, will delete the file stored in attachment


279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'lib/files.com/models/behavior.rb', line 279

def self.update(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be one of String, Integer, Hash") if params[:id] and [ String, Integer, Hash ].none? { |klass| params[:id].is_a?(klass) }
  raise InvalidParameterError.new("Bad parameter: value must be an String") if params[:value] and !params[:value].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: behavior must be an String") if params[:behavior] and !params[:behavior].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: attachment_delete must be one of String, Integer, Hash") if params[:attachment_delete] and [ String, Integer, Hash ].none? { |klass| params[:attachment_delete].is_a?(klass) }
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/behaviors/#{params[:id]}", :patch, params, options)
  Behavior.new(response.data, options)
end

.webhook_test(params = {}, options = {}) ⇒ Object

Parameters:

url (required) - string - URL for testing the webhook.
method - string - HTTP method(GET or POST).
encoding - string - HTTP encoding method.  Can be JSON, XML, or RAW (form data).
headers - object - Additional request headers.
body - object - Additional body parameters.
action - string - action for test body


256
257
258
259
260
261
262
263
264
265
266
267
# File 'lib/files.com/models/behavior.rb', line 256

def self.webhook_test(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: url must be an String") if params[:url] and !params[:url].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: method must be an String") if params[:method] and !params[:method].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: encoding must be an String") if params[:encoding] and !params[:encoding].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: headers must be an Hash") if params[:headers] and !params[:headers].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: body must be an Hash") if params[:body] and !params[:body].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: action must be an String") if params[:action] and !params[:action].is_a?(String)
  raise MissingParameterError.new("Parameter missing: url") unless params[:url]

  Api.send_request("/behaviors/webhook/test", :post, params, options)
  nil
end

Instance Method Details

#attachment_deleteObject

boolean - If true, will delete the file stored in attachment



103
104
105
# File 'lib/files.com/models/behavior.rb', line 103

def attachment_delete
  @attributes[:attachment_delete]
end

#attachment_delete=(value) ⇒ Object



107
108
109
# File 'lib/files.com/models/behavior.rb', line 107

def attachment_delete=(value)
  @attributes[:attachment_delete] = value
end

#attachment_fileObject

file - Certain behaviors may require a file, for instance, the “watermark” behavior requires a watermark image



94
95
96
# File 'lib/files.com/models/behavior.rb', line 94

def attachment_file
  @attributes[:attachment_file]
end

#attachment_file=(value) ⇒ Object



98
99
100
# File 'lib/files.com/models/behavior.rb', line 98

def attachment_file=(value)
  @attributes[:attachment_file] = value
end

#attachment_urlObject

string - URL for attached file



31
32
33
# File 'lib/files.com/models/behavior.rb', line 31

def attachment_url
  @attributes[:attachment_url]
end

#attachment_url=(value) ⇒ Object



35
36
37
# File 'lib/files.com/models/behavior.rb', line 35

def attachment_url=(value)
  @attributes[:attachment_url] = value
end

#behaviorObject

string - Behavior type.



40
41
42
# File 'lib/files.com/models/behavior.rb', line 40

def behavior
  @attributes[:behavior]
end

#behavior=(value) ⇒ Object



44
45
46
# File 'lib/files.com/models/behavior.rb', line 44

def behavior=(value)
  @attributes[:behavior] = value
end

#delete(params = {}) ⇒ Object



136
137
138
139
140
141
142
143
144
# File 'lib/files.com/models/behavior.rb', line 136

def delete(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/behaviors/#{@attributes[:id]}", :delete, params, @options)
end

#descriptionObject

string - Description for this behavior.



58
59
60
# File 'lib/files.com/models/behavior.rb', line 58

def description
  @attributes[:description]
end

#description=(value) ⇒ Object



62
63
64
# File 'lib/files.com/models/behavior.rb', line 62

def description=(value)
  @attributes[:description] = value
end

#destroy(params = {}) ⇒ Object



146
147
148
149
# File 'lib/files.com/models/behavior.rb', line 146

def destroy(params = {})
  delete(params)
  nil
end

#disable_parent_folder_behaviorObject

boolean - If true, the parent folder’s behavior will be disabled for this folder and its children.



76
77
78
# File 'lib/files.com/models/behavior.rb', line 76

def disable_parent_folder_behavior
  @attributes[:disable_parent_folder_behavior]
end

#disable_parent_folder_behavior=(value) ⇒ Object



80
81
82
# File 'lib/files.com/models/behavior.rb', line 80

def disable_parent_folder_behavior=(value)
  @attributes[:disable_parent_folder_behavior] = value
end

#idObject

int64 - Folder behavior ID



13
14
15
# File 'lib/files.com/models/behavior.rb', line 13

def id
  @attributes[:id]
end

#id=(value) ⇒ Object



17
18
19
# File 'lib/files.com/models/behavior.rb', line 17

def id=(value)
  @attributes[:id] = value
end

#nameObject

string - Name for this behavior.



49
50
51
# File 'lib/files.com/models/behavior.rb', line 49

def name
  @attributes[:name]
end

#name=(value) ⇒ Object



53
54
55
# File 'lib/files.com/models/behavior.rb', line 53

def name=(value)
  @attributes[:name] = value
end

#pathObject

string - Folder path. Note that Behavior paths cannot be updated once initially set. You will need to remove and re-create the behavior on the new path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.



22
23
24
# File 'lib/files.com/models/behavior.rb', line 22

def path
  @attributes[:path]
end

#path=(value) ⇒ Object



26
27
28
# File 'lib/files.com/models/behavior.rb', line 26

def path=(value)
  @attributes[:path] = value
end

#recursiveObject

boolean - Is behavior recursive?



85
86
87
# File 'lib/files.com/models/behavior.rb', line 85

def recursive
  @attributes[:recursive]
end

#recursive=(value) ⇒ Object



89
90
91
# File 'lib/files.com/models/behavior.rb', line 89

def recursive=(value)
  @attributes[:recursive] = value
end

#saveObject



151
152
153
154
155
156
157
158
159
160
# File 'lib/files.com/models/behavior.rb', line 151

def save
  if @attributes[:id]
    new_obj = update(@attributes)
  else
    new_obj = Behavior.create(@attributes, @options)
  end

  @attributes = new_obj.attributes
  true
end

#update(params = {}) ⇒ Object

Parameters:

value - string - The value of the folder behavior.  Can be an integer, array, or hash depending on the type of folder behavior. See The Behavior Types section for example values for each type of behavior.
attachment_file - file - Certain behaviors may require a file, for instance, the "watermark" behavior requires a watermark image
disable_parent_folder_behavior - boolean - If true, the parent folder's behavior will be disabled for this folder and its children.
recursive - boolean - Is behavior recursive?
name - string - Name for this behavior.
description - string - Description for this behavior.
behavior - string - Behavior type.
path - string - Folder behaviors path.
attachment_delete - boolean - If true, will delete the file stored in attachment


121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/files.com/models/behavior.rb', line 121

def update(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: value must be an String") if params[:value] and !params[:value].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: behavior must be an String") if params[:behavior] and !params[:behavior].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/behaviors/#{@attributes[:id]}", :patch, params, @options)
end

#valueObject

object - Settings for this behavior. See the section above for an example value to provide here. Formatting is different for each Behavior type. May be sent as nested JSON or a single JSON-encoded string. If using XML encoding for the API call, this data must be sent as a JSON-encoded string.



67
68
69
# File 'lib/files.com/models/behavior.rb', line 67

def value
  @attributes[:value]
end

#value=(value) ⇒ Object



71
72
73
# File 'lib/files.com/models/behavior.rb', line 71

def value=(value)
  @attributes[:value] = value
end