flex-cartesian 1.2 → 1.2.1
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/CHANGELOG.md +4 -0
- data/lib/flex-cartesian.rb +13 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3005b96077c2ec5e9a273bf58c6740fb3715524ca69328523370f1d67db01e9
|
4
|
+
data.tar.gz: 95c612d95526fa4fa2aafa3fe38ab9861e0bb2b442bdec5a34b74bd45ee3180b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0560a624b178dda3526775093e692a3cb09d032a5b00463ec556bd6a24a4bc51281c0294249f6ae2c0a1070bee8eae8ef4f7f686aed4092ea1f8e33295a4da57
|
7
|
+
data.tar.gz: fabdc19cb4647e2863aceffbf3888c3f274c7df3f1514ff31dd9e94f142506cf67b3715b7d6bac9df8aa504d416ba39282a319d59bb370f9a63e424c389e3e57
|
data/CHANGELOG.md
CHANGED
data/lib/flex-cartesian.rb
CHANGED
@@ -114,6 +114,11 @@ end
|
|
114
114
|
|
115
115
|
def add_function(name, &block)
|
116
116
|
raise ArgumentError, "Block required" unless block_given?
|
117
|
+
if reserved_function_names.include?(name.to_sym)
|
118
|
+
raise ArgumentError, "Function name '#{name}' has been already added"
|
119
|
+
elsif reserved_struct_names.include?(name.to_sym)
|
120
|
+
raise ArgumentError, "Name '#{name}' has been reserved for internal method, you can't use it for a function"
|
121
|
+
end
|
117
122
|
@derived[name.to_sym] = block
|
118
123
|
end
|
119
124
|
|
@@ -282,6 +287,14 @@ end
|
|
282
287
|
|
283
288
|
private
|
284
289
|
|
290
|
+
def reserved_struct_names
|
291
|
+
(base_struct_methods = Struct.new(:dummy).methods(false) + Struct.new(:dummy).instance_methods(false)).uniq
|
292
|
+
end
|
293
|
+
|
294
|
+
def reserved_function_names
|
295
|
+
(self.methods + self.class.instance_methods(false)).uniq
|
296
|
+
end
|
297
|
+
|
285
298
|
def fmt_cell(value, colorize, width = nil)
|
286
299
|
str = case value
|
287
300
|
when String then value
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flex-cartesian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yury Rassokhin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-07-
|
11
|
+
date: 2025-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|