itsi 0.2.24 → 0.2.26

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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -1
  3. data/Cargo.lock +2 -2
  4. data/Cargo.toml +0 -1
  5. data/Dockerfile +2 -2
  6. data/Rakefile +0 -4
  7. data/crates/itsi_scheduler/Cargo.toml +1 -1
  8. data/crates/itsi_server/Cargo.lock +2 -2
  9. data/crates/itsi_server/Cargo.toml +1 -1
  10. data/gems/scheduler/Cargo.lock +4 -2
  11. data/gems/scheduler/Cargo.toml +0 -1
  12. data/gems/scheduler/itsi-scheduler.gemspec +0 -2
  13. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  14. data/gems/server/Cargo.lock +4 -29
  15. data/gems/server/Cargo.toml +0 -1
  16. data/gems/server/itsi-server.gemspec +0 -2
  17. data/gems/server/lib/itsi/http_request.rb +8 -1
  18. data/gems/server/lib/itsi/server/version.rb +1 -1
  19. data/gems/server/test/helpers/test_helper.rb +0 -2
  20. data/gems/server/test/rack/test_rack_server.rb +16 -0
  21. data/lib/itsi/version.rb +1 -1
  22. metadata +6 -60
  23. data/gems/scheduler/vendor/rb-sys-build/.cargo-ok +0 -1
  24. data/gems/scheduler/vendor/rb-sys-build/.cargo_vcs_info.json +0 -6
  25. data/gems/scheduler/vendor/rb-sys-build/Cargo.lock +0 -294
  26. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml +0 -71
  27. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml.orig +0 -32
  28. data/gems/scheduler/vendor/rb-sys-build/LICENSE-APACHE +0 -190
  29. data/gems/scheduler/vendor/rb-sys-build/LICENSE-MIT +0 -21
  30. data/gems/scheduler/vendor/rb-sys-build/src/bindings/sanitizer.rs +0 -185
  31. data/gems/scheduler/vendor/rb-sys-build/src/bindings/stable_api.rs +0 -247
  32. data/gems/scheduler/vendor/rb-sys-build/src/bindings/wrapper.h +0 -71
  33. data/gems/scheduler/vendor/rb-sys-build/src/bindings.rs +0 -280
  34. data/gems/scheduler/vendor/rb-sys-build/src/cc.rs +0 -421
  35. data/gems/scheduler/vendor/rb-sys-build/src/lib.rs +0 -12
  36. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/flags.rs +0 -101
  37. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/library.rs +0 -132
  38. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/search_path.rs +0 -57
  39. data/gems/scheduler/vendor/rb-sys-build/src/rb_config.rs +0 -906
  40. data/gems/scheduler/vendor/rb-sys-build/src/utils.rs +0 -53
  41. data/gems/server/vendor/rb-sys-build/.cargo-ok +0 -1
  42. data/gems/server/vendor/rb-sys-build/.cargo_vcs_info.json +0 -6
  43. data/gems/server/vendor/rb-sys-build/Cargo.lock +0 -294
  44. data/gems/server/vendor/rb-sys-build/Cargo.toml +0 -71
  45. data/gems/server/vendor/rb-sys-build/Cargo.toml.orig +0 -32
  46. data/gems/server/vendor/rb-sys-build/LICENSE-APACHE +0 -190
  47. data/gems/server/vendor/rb-sys-build/LICENSE-MIT +0 -21
  48. data/gems/server/vendor/rb-sys-build/src/bindings/sanitizer.rs +0 -185
  49. data/gems/server/vendor/rb-sys-build/src/bindings/stable_api.rs +0 -247
  50. data/gems/server/vendor/rb-sys-build/src/bindings/wrapper.h +0 -71
  51. data/gems/server/vendor/rb-sys-build/src/bindings.rs +0 -280
  52. data/gems/server/vendor/rb-sys-build/src/cc.rs +0 -421
  53. data/gems/server/vendor/rb-sys-build/src/lib.rs +0 -12
  54. data/gems/server/vendor/rb-sys-build/src/rb_config/flags.rs +0 -101
  55. data/gems/server/vendor/rb-sys-build/src/rb_config/library.rs +0 -132
  56. data/gems/server/vendor/rb-sys-build/src/rb_config/search_path.rs +0 -57
  57. data/gems/server/vendor/rb-sys-build/src/rb_config.rs +0 -906
  58. data/gems/server/vendor/rb-sys-build/src/utils.rs +0 -53
  59. data/vendor/rb-sys-build/.cargo-ok +0 -1
  60. data/vendor/rb-sys-build/.cargo_vcs_info.json +0 -6
  61. data/vendor/rb-sys-build/Cargo.lock +0 -294
  62. data/vendor/rb-sys-build/Cargo.toml +0 -71
  63. data/vendor/rb-sys-build/Cargo.toml.orig +0 -32
  64. data/vendor/rb-sys-build/LICENSE-APACHE +0 -190
  65. data/vendor/rb-sys-build/LICENSE-MIT +0 -21
  66. data/vendor/rb-sys-build/src/bindings/sanitizer.rs +0 -185
  67. data/vendor/rb-sys-build/src/bindings/stable_api.rs +0 -247
  68. data/vendor/rb-sys-build/src/bindings/wrapper.h +0 -71
  69. data/vendor/rb-sys-build/src/bindings.rs +0 -280
  70. data/vendor/rb-sys-build/src/cc.rs +0 -421
  71. data/vendor/rb-sys-build/src/lib.rs +0 -12
  72. data/vendor/rb-sys-build/src/rb_config/flags.rs +0 -101
  73. data/vendor/rb-sys-build/src/rb_config/library.rs +0 -132
  74. data/vendor/rb-sys-build/src/rb_config/search_path.rs +0 -57
  75. data/vendor/rb-sys-build/src/rb_config.rs +0 -906
  76. data/vendor/rb-sys-build/src/utils.rs +0 -53
@@ -1,101 +0,0 @@
1
- /// Some helper functionality around shell flags
2
- pub struct Flags<'a> {
3
- inner: &'a str,
4
- }
5
-
6
- impl<'a> Flags<'a> {
7
- /// Creates a new `Flags` instance
8
- pub fn new(inner: &'a str) -> Self {
9
- Self { inner }
10
- }
11
- }
12
-
13
- /// Iterates over a string of flags
14
- impl<'a> Iterator for Flags<'a> {
15
- type Item = &'a str;
16
-
17
- fn next(&mut self) -> Option<Self::Item> {
18
- let mut last_was_space = false;
19
-
20
- let last_idx = self
21
- .inner
22
- .chars()
23
- .by_ref()
24
- .take_while(|c| match c {
25
- '-' => {
26
- if last_was_space {
27
- false
28
- } else {
29
- last_was_space = false;
30
- true
31
- }
32
- }
33
- ' ' => {
34
- last_was_space = true;
35
-
36
- true
37
- }
38
- _ => {
39
- last_was_space = false;
40
- true
41
- }
42
- })
43
- .count();
44
-
45
- let buf = &self.inner[..last_idx].trim();
46
-
47
- if buf.is_empty() {
48
- None
49
- } else {
50
- self.inner = self.inner[last_idx..].trim();
51
- Some(buf)
52
- }
53
- }
54
- }
55
-
56
- #[cfg(test)]
57
- mod tests {
58
- use super::*;
59
-
60
- #[test]
61
- fn test_basic_flags() {
62
- let mut flags = Flags::new("--foo --bar -baz");
63
-
64
- assert_eq!(flags.next(), Some("--foo"));
65
- assert_eq!(flags.next(), Some("--bar"));
66
- assert_eq!(flags.next(), Some("-baz"));
67
- assert_eq!(flags.next(), None);
68
- }
69
-
70
- #[test]
71
- fn test_flag_variations() {
72
- let mut flags = Flags::new("-ltest --library test");
73
-
74
- assert_eq!(flags.next(), Some("-ltest"));
75
- assert_eq!(flags.next(), Some("--library test"));
76
- assert_eq!(flags.next(), None);
77
- }
78
-
79
- #[test]
80
- fn test_real_ldflags() {
81
- let mut flags = Flags::new("-L. -L/Users/ianks/.asdf/installs/ruby/3.1.1/lib -L/opt/homebrew/opt/openssl@1.1/lib -fstack-protector-strong");
82
-
83
- assert_eq!(flags.next(), Some("-L."));
84
- assert_eq!(
85
- flags.next(),
86
- Some("-L/Users/ianks/.asdf/installs/ruby/3.1.1/lib")
87
- );
88
- assert_eq!(flags.next(), Some("-L/opt/homebrew/opt/openssl@1.1/lib"));
89
- assert_eq!(flags.next(), Some("-fstack-protector-strong"));
90
- assert_eq!(flags.next(), None);
91
- }
92
-
93
- #[test]
94
- fn test_dashed_flag_with_dashed_val() {
95
- let mut flags = Flags::new("-ltest -fsomething-foo bar-val");
96
-
97
- assert_eq!(flags.next(), Some("-ltest"));
98
- assert_eq!(flags.next(), Some("-fsomething-foo bar-val"));
99
- assert_eq!(flags.next(), None);
100
- }
101
- }
@@ -1,132 +0,0 @@
1
- /// Represents the kind of library.
2
- #[derive(Debug, PartialEq, Eq, Clone, Copy)]
3
- pub enum LibraryKind {
4
- Framework,
5
- Dylib,
6
- Static,
7
- None,
8
- }
9
-
10
- /// Represents a search path that can be linked with Cargo.
11
- #[derive(Debug, PartialEq, Eq)]
12
- pub struct Library {
13
- pub kind: LibraryKind,
14
- pub name: String,
15
- }
16
-
17
- impl Library {
18
- pub fn is_static(&self) -> bool {
19
- self.kind == LibraryKind::Static
20
- }
21
- }
22
-
23
- impl From<&str> for LibraryKind {
24
- fn from(s: &str) -> Self {
25
- match s {
26
- "framework" => LibraryKind::Framework,
27
- "dylib" => LibraryKind::Dylib,
28
- "static" => LibraryKind::Static,
29
- _ => LibraryKind::None,
30
- }
31
- }
32
- }
33
-
34
- impl From<&str> for Library {
35
- fn from(s: &str) -> Self {
36
- let parts: Vec<_> = s.splitn(2, '=').collect();
37
-
38
- match parts.len() {
39
- 1 => (LibraryKind::None, parts[0]).into(),
40
- 2 => (parts[0], parts[1]).into(),
41
- _ => panic!("Invalid library specification: {}", s),
42
- }
43
- }
44
- }
45
-
46
- impl From<String> for Library {
47
- fn from(s: String) -> Self {
48
- s.as_str().into()
49
- }
50
- }
51
-
52
- fn sanitize_library_name(name: &str) -> &str {
53
- name.trim_end_matches(".lib").trim_start_matches("-l")
54
- }
55
-
56
- impl<K, L> From<(K, L)> for Library
57
- where
58
- K: Into<LibraryKind>,
59
- L: Into<String>,
60
- {
61
- fn from((kind, name): (K, L)) -> Self {
62
- Self {
63
- kind: kind.into(),
64
- name: sanitize_library_name(&name.into()).into(),
65
- }
66
- }
67
- }
68
-
69
- impl std::fmt::Display for Library {
70
- fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
71
- match self.kind {
72
- LibraryKind::Framework => write!(f, "framework={}", self.name),
73
- LibraryKind::Dylib => write!(f, "dylib={}", self.name),
74
- LibraryKind::Static => write!(f, "static={}", self.name),
75
- LibraryKind::None => write!(f, "{}", self.name),
76
- }
77
- }
78
- }
79
-
80
- #[cfg(test)]
81
- mod tests {
82
- use super::*;
83
-
84
- #[test]
85
- fn test_trim_leading_link_flag() {
86
- let result: Library = "-lfoo".to_string().into();
87
-
88
- assert_eq!(result.name, "foo");
89
- }
90
-
91
- #[test]
92
- fn test_trim_trailing_lib_extension() {
93
- let result: Library = "foo.lib".to_string().into();
94
-
95
- assert_eq!(result.name, "foo");
96
- }
97
-
98
- #[test]
99
- fn test_trim_leading_link_flag_and_trailing_lib_extension() {
100
- let result: Library = "-lfoo.lib".to_string().into();
101
-
102
- assert_eq!(result.name, "foo");
103
- }
104
-
105
- #[test]
106
- fn test_display_framework() {
107
- let result: Library = "framework=foo".to_string().into();
108
-
109
- assert_eq!(result.to_string(), "framework=foo");
110
- }
111
-
112
- #[test]
113
- fn test_display_dylib() {
114
- let result: Library = "dylib=foo".to_string().into();
115
-
116
- assert_eq!(result.to_string(), "dylib=foo");
117
- }
118
-
119
- #[test]
120
- fn test_display_static() {
121
- let result: Library = "static=-lfoo".to_string().into();
122
-
123
- assert_eq!(result.to_string(), "static=foo");
124
- }
125
-
126
- #[test]
127
- fn test_display_none() {
128
- let result: Library = "foo".to_string().into();
129
-
130
- assert_eq!(result.to_string(), "foo");
131
- }
132
- }
@@ -1,57 +0,0 @@
1
- /// Represents the kind of search path.
2
- #[derive(Debug, PartialEq, Eq)]
3
- pub enum SearchPathKind {
4
- Native,
5
- Framework,
6
- }
7
-
8
- /// Represents a library taht can be linked with Cargo.
9
- #[derive(Debug, PartialEq, Eq)]
10
- pub struct SearchPath {
11
- pub kind: SearchPathKind,
12
- pub name: String,
13
- }
14
-
15
- impl From<&str> for SearchPathKind {
16
- fn from(s: &str) -> Self {
17
- match s {
18
- "framework" => SearchPathKind::Framework,
19
- "native" => SearchPathKind::Native,
20
- _ => panic!("Unknown lib kind: {}", s),
21
- }
22
- }
23
- }
24
-
25
- impl From<&str> for SearchPath {
26
- fn from(s: &str) -> Self {
27
- let parts: Vec<_> = s.split('=').collect();
28
-
29
- match parts.len() {
30
- 1 => (SearchPathKind::Native, parts[0]).into(),
31
- 2 => (parts[0], parts[1]).into(),
32
- _ => panic!("Invalid library specification: {}", s),
33
- }
34
- }
35
- }
36
-
37
- impl<K, T> From<(K, T)> for SearchPath
38
- where
39
- K: Into<SearchPathKind>,
40
- T: Into<String>,
41
- {
42
- fn from((kind, name): (K, T)) -> Self {
43
- Self {
44
- kind: kind.into(),
45
- name: name.into(),
46
- }
47
- }
48
- }
49
-
50
- impl std::fmt::Display for SearchPath {
51
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
52
- match self.kind {
53
- SearchPathKind::Framework => write!(f, "framework={}", self.name),
54
- SearchPathKind::Native => write!(f, "native={}", self.name),
55
- }
56
- }
57
- }