bloomy 0.8.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a147716e1b8f4ccad09501b59a7bc2ad58b38995f1aaeb4ef6f951707c35a10
4
- data.tar.gz: 6aed3b2ecf2622a802aa3e010308675175e1f5376b375208893e19483476d879
3
+ metadata.gz: c37c4101db5cde3d7ccb8d650abeea58416383c131eb35b71a74878aec1c6e69
4
+ data.tar.gz: '04397e91d4acaf30dddf615d01464c234c87e940b22d00eb2678da63f82fdcba'
5
5
  SHA512:
6
- metadata.gz: b94e517996379058516393a91851d4ff6c7a3fc3cd2d6612dbe78bf9a183ce1372fac6b2ddadc63d9b296c878ba787e74e4359441b01b2c450cd985f4160ac5b
7
- data.tar.gz: 86b457f7ae1b198f8acd350e272e23a5a180875bd82da202ea246a93b03750083dde02a7ac29a18f24abd00527dd60081c782dfe73465884ad9926b4288ba969
6
+ metadata.gz: c2e00f5ce8c4435083d1809b3663d810a5a2b296be289e873c82a44180cc324eb0b297607b9c6314f925adb9ba7e17aaea5dcfbcca20df07b10b06d5f0f8cef3
7
+ data.tar.gz: 47be893750490311029c294edc904468bc147e902dabc6dbb16634c5c76bfe5b005c0cf9386b57cb4012ff412f578979ef3d3fa28c259b663202b27a4b2958eb
data/lib/bloomy/client.rb CHANGED
@@ -8,6 +8,7 @@ require_relative "operations/meetings"
8
8
  require_relative "operations/scorecard"
9
9
  require_relative "operations/issues"
10
10
  require_relative "operations/headlines"
11
+ require_relative "utils/plugin_loader"
11
12
 
12
13
  module Bloomy
13
14
  # The Client class is the main entry point for interacting with the Bloomy API.
@@ -43,6 +44,9 @@ module Bloomy
43
44
  @scorecard = Scorecard.new(@conn)
44
45
  @issue = Issue.new(@conn)
45
46
  @headline = Headline.new(@conn)
47
+
48
+ # Initialize plugins
49
+ Bloomy::Utilities::Plugin.apply(self)
46
50
  end
47
51
  end
48
52
  end
@@ -55,7 +55,7 @@ class Goal
55
55
  meeting_title: response["Origins"][0]["Name"],
56
56
  user_id: user_id,
57
57
  user_name: response["Owner"]["Name"],
58
- created_at: DateTime.parse(response["CreateTime"])
58
+ created_at: response["CreateTime"]
59
59
  }
60
60
  end
61
61
 
@@ -78,4 +78,27 @@ class User
78
78
  }
79
79
  end
80
80
  end
81
+
82
+ # Retrieves all users in the system
83
+ #
84
+ # @param include_placeholders [Boolean] whether to include users
85
+ # @return [Array<Hash>] an array of hashes containing user details
86
+ # @example
87
+ # user.all
88
+ # #=> [{id: 1, name: "John Doe", email: "john@example.com", ...}, ...]
89
+ def all(include_placeholders: false)
90
+ users = @conn.get("search/all", term: "%").body
91
+ users
92
+ .select { |user| user["ResultType"] == "User" }
93
+ .reject { |user| !include_placeholders && user["ImageUrl"] == "/i/userplaceholder" }
94
+ .map do |user|
95
+ {
96
+ id: user["Id"],
97
+ name: user["Name"],
98
+ email: user["Email"],
99
+ position: user["Description"],
100
+ image_url: user["ImageUrl"]
101
+ }
102
+ end
103
+ end
81
104
  end
@@ -0,0 +1,28 @@
1
+ module Bloomy
2
+ module Utilities
3
+ module Plugin
4
+ # A collection of registered plugins.
5
+ @plugins = []
6
+
7
+ class << self
8
+ # Registers a plugin module.
9
+ #
10
+ # @param plugin_module [Module] The plugin module to register.
11
+ # @return [void]
12
+ def register(plugin_module)
13
+ @plugins << plugin_module
14
+ end
15
+
16
+ # Applies all registered plugins to the given client.
17
+ #
18
+ # @param client [Object] The client to which the plugins will be applied.
19
+ # @return [void]
20
+ def apply(client)
21
+ @plugins.each do |plugin|
22
+ plugin.apply(client)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bloomy
4
- VERSION = "0.8.0"
4
+ VERSION = "0.10.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bloomy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franccesco Orozco
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-13 00:00:00.000000000 Z
11
+ date: 2024-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -67,6 +67,7 @@ files:
67
67
  - lib/bloomy/operations/todos.rb
68
68
  - lib/bloomy/operations/users.rb
69
69
  - lib/bloomy/utils/get_user_id.rb
70
+ - lib/bloomy/utils/plugin_loader.rb
70
71
  - lib/bloomy/version.rb
71
72
  - sig/bloomy.rbs
72
73
  homepage: https://github.com/franccesco/bloomy