monday_ruby 0.1.0 → 0.2.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 +4 -4
- data/.env +1 -0
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +11 -0
- data/README.md +24 -2
- data/docs/README.md +12 -0
- data/docs/SUMMARY.md +39 -0
- data/docs/client.md +15 -0
- data/docs/configuration.md +28 -0
- data/docs/getting-started.md +25 -0
- data/docs/quick-start.md +269 -0
- data/docs/resources/README.md +27 -0
- data/docs/resources/account/README.md +9 -0
- data/docs/resources/account/accounts.md +82 -0
- data/docs/resources/activity-log/README.md +9 -0
- data/docs/resources/activity-log/activity_logs.md +95 -0
- data/docs/resources/board/README.md +21 -0
- data/docs/resources/board/archive_board.md +79 -0
- data/docs/resources/board/boards.md +96 -0
- data/docs/resources/board/create_board.md +95 -0
- data/docs/resources/board/delete_board.md +79 -0
- data/docs/resources/board/delete_board_subscribers.md +87 -0
- data/docs/resources/board/duplicate_board.md +94 -0
- data/docs/resources/board/update_board.md +91 -0
- data/docs/resources/board-view/README.md +9 -0
- data/docs/resources/board-view/board_views.md +88 -0
- data/docs/resources/column/README.md +25 -0
- data/docs/resources/column/change_column_metadata.md +70 -0
- data/docs/resources/column/change_column_title.md +68 -0
- data/docs/resources/column/change_column_value.md +73 -0
- data/docs/resources/column/change_multiple_column_value.md +81 -0
- data/docs/resources/column/change_simple_column_value.md +69 -0
- data/docs/resources/column/column_values.md +115 -0
- data/docs/resources/column/columns.md +117 -0
- data/docs/resources/column/create_column.md +70 -0
- data/docs/resources/column/delete_column.md +58 -0
- data/docs/resources/item/README.md +17 -0
- data/docs/resources/item/archive_item.md +80 -0
- data/docs/resources/item/create_item.md +105 -0
- data/docs/resources/item/delete_item.md +80 -0
- data/docs/resources/item/duplicate_item.md +87 -0
- data/docs/resources/item/items.md +95 -0
- data/docs/response.md +21 -0
- data/lib/monday/client.rb +9 -8
- data/lib/monday/configuration.rb +7 -1
- data/lib/monday/version.rb +1 -1
- data/lib/monday_ruby.rb +13 -0
- data/monday_ruby.gemspec +2 -2
- metadata +43 -4
data/docs/response.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Response
|
2
|
+
|
3
|
+
Every request made using the client will return a `Monday::Response` object. This object consists of the following methods:
|
4
|
+
|
5
|
+
#### `status`
|
6
|
+
|
7
|
+
This is the returned HTTP status code.
|
8
|
+
|
9
|
+
#### `body`
|
10
|
+
|
11
|
+
This is the response body.
|
12
|
+
|
13
|
+
#### `headers`
|
14
|
+
|
15
|
+
This is the response header.
|
16
|
+
|
17
|
+
#### `success?`
|
18
|
+
|
19
|
+
This returns true or false based on the status code and the response body.
|
20
|
+
|
21
|
+
Sometimes when the application handles the exceptions, the API will return a `200` status code, but the body will return the error message.
|
data/lib/monday/client.rb
CHANGED
@@ -11,7 +11,7 @@ require_relative "resources"
|
|
11
11
|
require_relative "util"
|
12
12
|
|
13
13
|
module Monday
|
14
|
-
# Client executes requests against the
|
14
|
+
# Client executes requests against the monday.com's API and
|
15
15
|
# allows a user to mutate and retrieve resources.
|
16
16
|
class Client
|
17
17
|
include Resources
|
@@ -19,19 +19,20 @@ module Monday
|
|
19
19
|
JSON_CONTENT_TYPE = "application/json"
|
20
20
|
private_constant :JSON_CONTENT_TYPE
|
21
21
|
|
22
|
-
|
23
|
-
define_method(config_key) do
|
24
|
-
@config.public_send(config_key)
|
25
|
-
end
|
26
|
-
end
|
22
|
+
attr_reader :config
|
27
23
|
|
28
24
|
def initialize(config_args = {})
|
29
|
-
@config =
|
30
|
-
yield(@config) if block_given?
|
25
|
+
@config = config_options(config_args)
|
31
26
|
end
|
32
27
|
|
33
28
|
private
|
34
29
|
|
30
|
+
def config_options(config_args)
|
31
|
+
return Monday.config if config_args.empty?
|
32
|
+
|
33
|
+
Monday::Configuration.new(**config_args)
|
34
|
+
end
|
35
|
+
|
35
36
|
def uri
|
36
37
|
URI(@config.host)
|
37
38
|
end
|
data/lib/monday/configuration.rb
CHANGED
@@ -9,7 +9,7 @@ module Monday
|
|
9
9
|
# host: defaults to https://api.monday.com/v2
|
10
10
|
class Configuration
|
11
11
|
DEFAULT_HOST = "https://api.monday.com/v2"
|
12
|
-
|
12
|
+
DEFAULT_TOKEN = nil
|
13
13
|
|
14
14
|
CONFIGURATION_FIELDS = %i[
|
15
15
|
token
|
@@ -23,10 +23,16 @@ module Monday
|
|
23
23
|
raise ArgumentError, "Unknown arguments: #{invalid_keys}" unless invalid_keys.empty?
|
24
24
|
|
25
25
|
@host = DEFAULT_HOST
|
26
|
+
@token = DEFAULT_TOKEN
|
26
27
|
|
27
28
|
config_args.each do |key, value|
|
28
29
|
public_send("#{key}=", value)
|
29
30
|
end
|
30
31
|
end
|
32
|
+
|
33
|
+
def reset
|
34
|
+
@token = DEFAULT_TOKEN
|
35
|
+
@host = DEFAULT_HOST
|
36
|
+
end
|
31
37
|
end
|
32
38
|
end
|
data/lib/monday/version.rb
CHANGED
data/lib/monday_ruby.rb
CHANGED
@@ -2,3 +2,16 @@
|
|
2
2
|
|
3
3
|
require_relative "monday/client"
|
4
4
|
require_relative "monday/version"
|
5
|
+
|
6
|
+
# Module to configure the library globally
|
7
|
+
module Monday
|
8
|
+
module_function
|
9
|
+
|
10
|
+
def configure
|
11
|
+
yield config
|
12
|
+
end
|
13
|
+
|
14
|
+
def config
|
15
|
+
@config ||= Configuration.new
|
16
|
+
end
|
17
|
+
end
|
data/monday_ruby.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.description = "A Gem to easily interact with monday.com API using native Ruby"
|
16
16
|
spec.homepage = repository
|
17
17
|
spec.license = "MIT"
|
18
|
-
spec.required_ruby_version = ">= 2.
|
18
|
+
spec.required_ruby_version = ">= 2.7.0"
|
19
19
|
|
20
20
|
spec.metadata = {
|
21
21
|
"homepage_uri" => spec.homepage,
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.files = Dir.chdir(__dir__) do
|
28
28
|
`git ls-files -z`.split("\x0").reject do |f|
|
29
29
|
(File.expand_path(f) == __FILE__) ||
|
30
|
-
f.start_with?(*%w[bin/ test/ spec/ features/ .git
|
30
|
+
f.start_with?(*%w[bin/ test/ spec/ features/ .git Gemfile])
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monday_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sanif Himani
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A Gem to easily interact with monday.com API using native Ruby
|
14
14
|
email:
|
@@ -17,6 +17,7 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- ".env"
|
20
21
|
- ".rspec"
|
21
22
|
- ".rubocop.yml"
|
22
23
|
- ".vscode/settings.json"
|
@@ -25,6 +26,44 @@ files:
|
|
25
26
|
- LICENSE
|
26
27
|
- README.md
|
27
28
|
- Rakefile
|
29
|
+
- docs/README.md
|
30
|
+
- docs/SUMMARY.md
|
31
|
+
- docs/client.md
|
32
|
+
- docs/configuration.md
|
33
|
+
- docs/getting-started.md
|
34
|
+
- docs/quick-start.md
|
35
|
+
- docs/resources/README.md
|
36
|
+
- docs/resources/account/README.md
|
37
|
+
- docs/resources/account/accounts.md
|
38
|
+
- docs/resources/activity-log/README.md
|
39
|
+
- docs/resources/activity-log/activity_logs.md
|
40
|
+
- docs/resources/board-view/README.md
|
41
|
+
- docs/resources/board-view/board_views.md
|
42
|
+
- docs/resources/board/README.md
|
43
|
+
- docs/resources/board/archive_board.md
|
44
|
+
- docs/resources/board/boards.md
|
45
|
+
- docs/resources/board/create_board.md
|
46
|
+
- docs/resources/board/delete_board.md
|
47
|
+
- docs/resources/board/delete_board_subscribers.md
|
48
|
+
- docs/resources/board/duplicate_board.md
|
49
|
+
- docs/resources/board/update_board.md
|
50
|
+
- docs/resources/column/README.md
|
51
|
+
- docs/resources/column/change_column_metadata.md
|
52
|
+
- docs/resources/column/change_column_title.md
|
53
|
+
- docs/resources/column/change_column_value.md
|
54
|
+
- docs/resources/column/change_multiple_column_value.md
|
55
|
+
- docs/resources/column/change_simple_column_value.md
|
56
|
+
- docs/resources/column/column_values.md
|
57
|
+
- docs/resources/column/columns.md
|
58
|
+
- docs/resources/column/create_column.md
|
59
|
+
- docs/resources/column/delete_column.md
|
60
|
+
- docs/resources/item/README.md
|
61
|
+
- docs/resources/item/archive_item.md
|
62
|
+
- docs/resources/item/create_item.md
|
63
|
+
- docs/resources/item/delete_item.md
|
64
|
+
- docs/resources/item/duplicate_item.md
|
65
|
+
- docs/resources/item/items.md
|
66
|
+
- docs/response.md
|
28
67
|
- lib/monday/client.rb
|
29
68
|
- lib/monday/configuration.rb
|
30
69
|
- lib/monday/request.rb
|
@@ -46,7 +85,7 @@ licenses:
|
|
46
85
|
metadata:
|
47
86
|
homepage_uri: https://github.com/sanifhimani/monday_ruby
|
48
87
|
documentation_uri: https://monday-ruby.gitbook.io/docs/
|
49
|
-
changelog_uri: https://github.com/sanifhimani/monday_ruby/blob/v0.
|
88
|
+
changelog_uri: https://github.com/sanifhimani/monday_ruby/blob/v0.2.0/CHANGELOG.md
|
50
89
|
rubygems_mfa_required: 'true'
|
51
90
|
post_install_message:
|
52
91
|
rdoc_options: []
|
@@ -56,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
56
95
|
requirements:
|
57
96
|
- - ">="
|
58
97
|
- !ruby/object:Gem::Version
|
59
|
-
version: 2.
|
98
|
+
version: 2.7.0
|
60
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
100
|
requirements:
|
62
101
|
- - ">="
|