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



176
177
178
# File 'lib/files.com/models/behavior.rb', line 176

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.


232
233
234
235
236
237
238
239
240
241
242
243
# File 'lib/files.com/models/behavior.rb', line 232

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



287
288
289
290
291
292
293
294
295
# File 'lib/files.com/models/behavior.rb', line 287

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



297
298
299
300
# File 'lib/files.com/models/behavior.rb', line 297

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

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

Parameters:

id (required) - int64 - Behavior ID.


182
183
184
185
186
187
188
189
190
# File 'lib/files.com/models/behavior.rb', line 182

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



192
193
194
# File 'lib/files.com/models/behavior.rb', line 192

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


164
165
166
167
168
169
170
171
172
173
174
# File 'lib/files.com/models/behavior.rb', line 164

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.


205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# File 'lib/files.com/models/behavior.rb', line 205

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.
attachment_delete - boolean - If true, will delete the file stored in attachment


273
274
275
276
277
278
279
280
281
282
283
284
285
# File 'lib/files.com/models/behavior.rb', line 273

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


252
253
254
255
256
257
258
259
260
261
262
263
# File 'lib/files.com/models/behavior.rb', line 252

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



132
133
134
135
136
137
138
139
140
# File 'lib/files.com/models/behavior.rb', line 132

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



142
143
144
145
# File 'lib/files.com/models/behavior.rb', line 142

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



147
148
149
150
151
152
153
154
155
156
# File 'lib/files.com/models/behavior.rb', line 147

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.
attachment_delete - boolean - If true, will delete the file stored in attachment


119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/files.com/models/behavior.rb', line 119

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