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



170
171
172
# File 'lib/files.com/models/behavior.rb', line 170

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.
name - string - Name for this behavior.
description - string - Description for this behavior.
path (required) - string - Folder behaviors path.
behavior (required) - string - Behavior type.


225
226
227
228
229
230
231
232
233
234
235
236
# File 'lib/files.com/models/behavior.rb', line 225

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



283
284
285
286
287
288
289
290
291
# File 'lib/files.com/models/behavior.rb', line 283

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



293
294
295
296
# File 'lib/files.com/models/behavior.rb', line 293

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

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

Parameters:

id (required) - int64 - Behavior ID.


176
177
178
179
180
181
182
183
184
# File 'lib/files.com/models/behavior.rb', line 176

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



186
187
188
# File 'lib/files.com/models/behavior.rb', line 186

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`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `behavior`.
filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `behavior`.


158
159
160
161
162
163
164
165
166
167
168
# File 'lib/files.com/models/behavior.rb', line 158

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`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `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.
recursive - string - Show behaviors above this path?
behavior - string - DEPRECATED: If set only shows folder behaviors matching this behavior type. Use `filter[behavior]` instead.


199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/files.com/models/behavior.rb', line 199

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: recursive must be an String") if params[:recursive] and !params[:recursive].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.
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


267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
# File 'lib/files.com/models/behavior.rb', line 267

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


245
246
247
248
249
250
251
252
253
254
255
256
# File 'lib/files.com/models/behavior.rb', line 245

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



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

def attachment_delete
  @attributes[:attachment_delete]
end

#attachment_delete=(value) ⇒ Object



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

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



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

def attachment_file
  @attributes[:attachment_file]
end

#attachment_file=(value) ⇒ Object



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

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



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

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



136
137
138
139
# File 'lib/files.com/models/behavior.rb', line 136

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.



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

#saveObject



141
142
143
144
145
146
147
148
149
150
# File 'lib/files.com/models/behavior.rb', line 141

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


111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/files.com/models/behavior.rb', line 111

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