brick_ftp 0.4.2 → 0.5.0

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: efcf14ff7da3058bb071b4a9251b5a5095592fa2
4
- data.tar.gz: 5623fd52d961f55413e969d2f9fe052a1a7bf15a
3
+ metadata.gz: 67e27256028d06b5cb9167defaf94070389e78c7
4
+ data.tar.gz: 5375380bdd23e8bb8c9e06fe40269783e360ae0b
5
5
  SHA512:
6
- metadata.gz: b67ecd716f8638a20c78503089564d8422f975f22efa42cd1396898c443ee6ee2f4c61ea783f1c0752b1b58b2bdfbde2d802ec7936f4be2dc20d23285ba782f4
7
- data.tar.gz: 0432c3ce5cb5f19d59f2b003a6bdf4dc0f612d759b067a5b2915b9cf46d882e21a0440b7484422aff31facde3ca2adda6f1f9825f9beaf91978c09a7d98e451f
6
+ metadata.gz: 9120b3055417d1a7980ed09330934f89eab65f78a767a488662d8abcf022bea2b29945c09e706bbbfbd10427545c7eda980ea24f901fb60707a34f6873f1d221
7
+ data.tar.gz: d35bb41e786805d6006bfa3ccf3685cbdf8db0e1398bd525d21bf8e5e6ba817d9e98dc4c7719582086488b92a85e20fb430568941da91e09fea536511f40eae6
data/CHANGELOG.md CHANGED
@@ -2,16 +2,28 @@ Changelog
2
2
  ====
3
3
 
4
4
 
5
- [unreleased](https://github.com/koshigoe/brick_ftp/compare/v0.4.2...master)
5
+ [unreleased](https://github.com/koshigoe/brick_ftp/compare/v0.5.0...master)
6
6
  ----
7
7
 
8
- [Full Changelog](https://github.com/koshigoe/brick_ftp/compare/v0.4.2...master)
8
+ [Full Changelog](https://github.com/koshigoe/brick_ftp/compare/v0.5.0...master)
9
9
 
10
10
  ### Enhancements:
11
11
 
12
12
  ### Fixed Bugs:
13
13
 
14
14
 
15
+ [v0.5.0](https://github.com/koshigoe/brick_ftp/compare/v0.4.2...v0.5.0)
16
+ ----
17
+
18
+ [Full Changelog](https://github.com/koshigoe/brick_ftp/compare/v0.4.2...v0.5.0)
19
+
20
+ ### Enhancements:
21
+
22
+ - [#65](https://github.com/koshigoe/brick_ftp/pull/65) Allow to specify resource as ID
23
+
24
+ ### Fixed Bugs:
25
+
26
+
15
27
  [0.4.2](https://github.com/koshigoe/brick_ftp/compare/v0.4.1...v0.4.2)
16
28
  ----
17
29
 
@@ -38,19 +38,19 @@ module BrickFTP
38
38
 
39
39
  # Update an existing user.
40
40
  # @see https://brickftp.com/ja/docs/rest-api/users/
41
- # @param user [BrickFTP::API::User] user object.
41
+ # @param user_or_id [BrickFTP::API::User, Integer] user object or user id.
42
42
  # @param attributes [Hash] User's attributes.
43
43
  # @return [BrickFTP::API::User] user object.
44
- def update_user(user, attributes)
45
- user.update(attributes)
44
+ def update_user(user_or_id, attributes)
45
+ instantize_user(user_or_id).update(attributes)
46
46
  end
47
47
 
48
48
  # Delete a user.
49
49
  # @see https://brickftp.com/ja/docs/rest-api/users/
50
- # @param user [BrickFTP::API::User] user object.
50
+ # @param user_or_id [BrickFTP::API::User, Integer] user object or user id.
51
51
  # @return [Boolean] return true.
52
- def delete_user(user)
53
- user.destroy
52
+ def delete_user(user_or_id)
53
+ instantize_user(user_or_id).destroy
54
54
  end
55
55
 
56
56
  # List all groups on the current site.
@@ -76,19 +76,19 @@ module BrickFTP
76
76
 
77
77
  # Update an existing group.
78
78
  # @see https://brickftp.com/ja/docs/rest-api/groups/
79
- # @param group [BrickFTP::API::Group] group object.
79
+ # @param group_or_id [BrickFTP::API::Group, Integer] group object or group id.
80
80
  # @param attributes [Hash] Group's attributes.
81
81
  # @return [BrickFTP::API::Group] group object.
82
- def update_group(group, attributes)
83
- group.update(attributes)
82
+ def update_group(group_or_id, attributes)
83
+ instantize_group(group_or_id).update(attributes)
84
84
  end
85
85
 
86
86
  # Delete a group.
87
87
  # @see https://brickftp.com/ja/docs/rest-api/groups/
88
- # @param group [BrickFTP::API::Group] group object.
88
+ # @param group_or_id [BrickFTP::API::Group, Integer] group object or group id.
89
89
  # @return [Boolean] return true.
90
- def delete_group(group)
91
- group.destroy
90
+ def delete_group(group_or_id)
91
+ instantize_group(group_or_id).destroy
92
92
  end
93
93
 
94
94
  # List all permissions on the current site.
@@ -106,10 +106,10 @@ module BrickFTP
106
106
 
107
107
  # Delete a permission.
108
108
  # @see https://brickftp.com/ja/docs/rest-api/permissions/
109
- # @param permission [BrickFTP::API::Permission] permission object.
109
+ # @param permission_or_id [BrickFTP::API::Permission, Integer] permission object or permission id.
110
110
  # @return [Boolean] return true.
111
- def delete_permission(permission)
112
- permission.destroy
111
+ def delete_permission(permission_or_id)
112
+ instantize_permission(permission_or_id).destroy
113
113
  end
114
114
 
115
115
  # List all notifications on the current site.
@@ -127,10 +127,10 @@ module BrickFTP
127
127
 
128
128
  # Delete a notification.
129
129
  # @see https://brickftp.com/ja/docs/rest-api/notifications/
130
- # @param notification [BrickFTP::API::Notification] notification object.
130
+ # @param notification_or_id [BrickFTP::API::Notification, Integer] notification object or notification id.
131
131
  # @return [Boolean] return true.
132
- def delete_notification(notification)
133
- notification.destroy
132
+ def delete_notification(notification_or_id)
133
+ instantize_notification(notification_or_id).destroy
134
134
  end
135
135
 
136
136
  # Show the entire history for the current site.
@@ -215,10 +215,10 @@ module BrickFTP
215
215
 
216
216
  # Delete a bundle.
217
217
  # @see https://brickftp.com/ja/docs/rest-api/bundles/
218
- # @param bundle [BrickFTP::API::Bundle] bundle object.
218
+ # @param bundle_or_id [BrickFTP::API::Bundle, Integer] bundle object or bundle id.
219
219
  # @return [Boolean] return true.
220
- def delete_bundle(bundle)
221
- bundle.destroy
220
+ def delete_bundle(bundle_or_id)
221
+ instantize_bundle(bundle_or_id).destroy
222
222
  end
223
223
 
224
224
  # List the contents of a bundle.
@@ -265,19 +265,19 @@ module BrickFTP
265
265
 
266
266
  # Update an existing behavior.
267
267
  # @see https://brickftp.com/ja/docs/rest-api/behaviors/
268
- # @param behavior [BrickFTP::API::Behavior] behavior object.
268
+ # @param behavior_or_id [BrickFTP::API::Behavior, Integer] behavior object or behavior id.
269
269
  # @param attributes [Hash] Behavior's attributes.
270
270
  # @return [BrickFTP::API::Behavior] behavior object.
271
- def update_behavior(behavior, attributes)
272
- behavior.update(attributes)
271
+ def update_behavior(behavior_or_id, attributes)
272
+ instantize_behavior(behavior_or_id).update(attributes)
273
273
  end
274
274
 
275
275
  # Delete a behavior.
276
276
  # @see https://brickftp.com/ja/docs/rest-api/behaviors/
277
- # @param behavior [BrickFTP::API::Behavior] behavior object.
277
+ # @param behavior_or_id [BrickFTP::API::Behavior, Integer] behavior object or behavior id.
278
278
  # @return [Boolean] return true.
279
- def delete_behavior(behavior)
280
- behavior.destroy
279
+ def delete_behavior(behavior_or_id)
280
+ instantize_behavior(behavior_or_id).destroy
281
281
  end
282
282
 
283
283
  # shows the behaviors that apply to the given path.
@@ -344,11 +344,11 @@ module BrickFTP
344
344
 
345
345
  # Delete a file.
346
346
  # @see https://brickftp.com/ja/docs/rest-api/file-operations/
347
- # @param file [BrickFTP::API::File] file object.
347
+ # @param file_or_path [BrickFTP::API::File, String] file object or file(folder) path.
348
348
  # @param recursive: [Boolean]
349
349
  # @return [Boolean] return true.
350
- def delete_file(file, recursive: false)
351
- file.destroy(recursive: recursive)
350
+ def delete_file(file_or_path, recursive: false)
351
+ instantize_file(file_or_path).destroy(recursive: recursive)
352
352
  end
353
353
 
354
354
  # Upload file.
@@ -365,5 +365,49 @@ module BrickFTP
365
365
  def site_usage
366
366
  BrickFTP::API::SiteUsage.find
367
367
  end
368
+
369
+ private
370
+
371
+ def instantize_user(user_or_id)
372
+ return user_or_id if user_or_id.is_a?(BrickFTP::API::User)
373
+
374
+ BrickFTP::API::User.new(id: user_or_id)
375
+ end
376
+
377
+ def instantize_group(group_or_id)
378
+ return group_or_id if group_or_id.is_a?(BrickFTP::API::Group)
379
+
380
+ BrickFTP::API::Group.new(id: group_or_id)
381
+ end
382
+
383
+ def instantize_permission(permission_or_id)
384
+ return permission_or_id if permission_or_id.is_a?(BrickFTP::API::Permission)
385
+
386
+ BrickFTP::API::Permission.new(id: permission_or_id)
387
+ end
388
+
389
+ def instantize_notification(notification_or_id)
390
+ return notification_or_id if notification_or_id.is_a?(BrickFTP::API::Notification)
391
+
392
+ BrickFTP::API::Notification.new(id: notification_or_id)
393
+ end
394
+
395
+ def instantize_bundle(bundle_or_id)
396
+ return bundle_or_id if bundle_or_id.is_a?(BrickFTP::API::Bundle)
397
+
398
+ BrickFTP::API::Bundle.new(id: bundle_or_id)
399
+ end
400
+
401
+ def instantize_behavior(behavior_or_id)
402
+ return behavior_or_id if behavior_or_id.is_a?(BrickFTP::API::Behavior)
403
+
404
+ BrickFTP::API::Behavior.new(id: behavior_or_id)
405
+ end
406
+
407
+ def instantize_file(file_or_path)
408
+ return file_or_path if file_or_path.is_a?(BrickFTP::API::File)
409
+
410
+ BrickFTP::API::File.new(path: file_or_path)
411
+ end
368
412
  end
369
413
  end
@@ -1,3 +1,3 @@
1
1
  module BrickFTP
2
- VERSION = "0.4.2"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brick_ftp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - koshigoe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-10 00:00:00.000000000 Z
11
+ date: 2017-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler