ironcalc 0.7.1.4 → 0.7.1.5
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 +9 -1
- data/README.md +6 -14
- data/lib/ironcalc/native_methods.rb +9 -0
- data/lib/ironcalc/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e511f58c879d0fdac27a5c4b2d06f424d836bb2c995f4a9562d61bef955f7ea4
|
|
4
|
+
data.tar.gz: 3761670586bb8ed3518e91d270391e51c1f3f9590a8e5aba5e100791de5446c0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6728ca159b613acd5dbcd604c286b674a9c2903040a78d2bfdbb51273d31be5e77f0942f8f20587299778586c06fc83cf2e7ae0c2f92f7d2e1b70e1ba5f2aeac
|
|
7
|
+
data.tar.gz: 4e7b42714f19977be65194cd1af3ffadbf1ac370fc2572613f166c84229f29710b95d95baf0b3688a4387a6e519611e81816f0dd29feda48030ba603f2d18944
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
## 0.7.1.5
|
|
2
|
+
|
|
3
|
+
- link to changelog and documentation in gemspec
|
|
4
|
+
- update actions
|
|
5
|
+
- work-around for yard bug
|
|
6
|
+
|
|
1
7
|
## 0.7.1.4
|
|
2
8
|
|
|
3
|
-
- build for Ruby 4.0
|
|
9
|
+
- build for Ruby 4.0
|
|
10
|
+
- push with attestation
|
|
11
|
+
- include .yardopts
|
|
4
12
|
|
|
5
13
|
## 0.7.1.3
|
|
6
14
|
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# IronCalc Ruby
|
|
1
|
+
# IronCalc for Ruby
|
|
2
2
|
|
|
3
3
|
Ruby bindings for [IronCalc](https://www.ironcalc.com/), a modern spreadsheet
|
|
4
4
|
engine written in Rust. Create, read and manipulate xlsx files — manage sheets,
|
|
@@ -27,7 +27,7 @@ require "ironcalc"
|
|
|
27
27
|
|
|
28
28
|
# Raw API — call evaluate yourself.
|
|
29
29
|
model = IronCalc.create("model", "en", "UTC", "en")
|
|
30
|
-
model.set_user_input(0, 1, 1, "=
|
|
30
|
+
model.set_user_input(0, 1, 1, "=6*7")
|
|
31
31
|
model.evaluate
|
|
32
32
|
model.get_formatted_cell_value(0, 1, 1) # => "42"
|
|
33
33
|
model.save_to_xlsx("out.xlsx")
|
|
@@ -69,7 +69,7 @@ via **pyo3**, Ruby via **magnus** / **rb-sys**) exposing a module named
|
|
|
69
69
|
`create_user_model_from_bytes`.
|
|
70
70
|
- **Method names and signatures** on `Model` / `UserModel` — `set_user_input`,
|
|
71
71
|
`get_formatted_cell_value`, `evaluate`, `insert_rows`, `set_column_width`,
|
|
72
|
-
`
|
|
72
|
+
`new_sheet`, `save_to_xlsx`, `to_bytes`, … (Python's `snake_case` is also
|
|
73
73
|
Ruby's convention, so they match exactly).
|
|
74
74
|
- **Coordinates**: `sheet` is a 0-based index; `row` and `column` are 1-based.
|
|
75
75
|
- **Semantics**: the same engine, so the same inputs produce the same results.
|
|
@@ -78,7 +78,7 @@ via **pyo3**, Ruby via **magnus** / **rb-sys**) exposing a module named
|
|
|
78
78
|
# Python
|
|
79
79
|
import ironcalc as ic
|
|
80
80
|
model = ic.create("model", "en", "UTC", "en")
|
|
81
|
-
model.set_user_input(0, 1, 1, "=
|
|
81
|
+
model.set_user_input(0, 1, 1, "=6*7")
|
|
82
82
|
model.evaluate()
|
|
83
83
|
model.get_formatted_cell_value(0, 1, 1) # "42"
|
|
84
84
|
```
|
|
@@ -87,7 +87,7 @@ model.get_formatted_cell_value(0, 1, 1) # "42"
|
|
|
87
87
|
# Ruby
|
|
88
88
|
require "ironcalc"
|
|
89
89
|
model = IronCalc.create("model", "en", "UTC", "en")
|
|
90
|
-
model.set_user_input(0, 1, 1, "=
|
|
90
|
+
model.set_user_input(0, 1, 1, "=6*7")
|
|
91
91
|
model.evaluate
|
|
92
92
|
model.get_formatted_cell_value(0, 1, 1) # "42"
|
|
93
93
|
```
|
|
@@ -105,21 +105,13 @@ ports:
|
|
|
105
105
|
| Cell type | `CellType` enum | `Symbol` (`:number`, `:text`, …) |
|
|
106
106
|
| Worksheet properties | list of `SheetProperty` objects | array of `Hash`es (`:name`, `:state`, `:sheet_id`, `:color`) |
|
|
107
107
|
| Sheet dimensions | tuple `(min_row, max_row, min_col, max_col)` | 4-element `Array` |
|
|
108
|
-
| Binary
|
|
108
|
+
| Binary data | `bytes` | binary `String` |
|
|
109
109
|
| Version | `ironcalc.__version__` | `IronCalc::VERSION` |
|
|
110
110
|
|
|
111
111
|
Rather than reconstruct Python's per-field style classes, Ruby exchanges styles
|
|
112
112
|
as plain hashes (serialized as JSON across the boundary). Everything else is kept
|
|
113
113
|
as close to the Python bindings as the two languages allow.
|
|
114
114
|
|
|
115
|
-
## Development
|
|
116
|
-
|
|
117
|
-
```sh
|
|
118
|
-
bundle install
|
|
119
|
-
bundle exec rake compile
|
|
120
|
-
bundle exec rake test
|
|
121
|
-
```
|
|
122
|
-
|
|
123
115
|
## License
|
|
124
116
|
|
|
125
117
|
Dual-licensed under [MIT](LICENSE-MIT.md) or [Apache-2.0](LICENSE-Apache-2.0.md),
|
|
@@ -275,6 +275,11 @@ module IronCalc
|
|
|
275
275
|
# @param sheet [Integer]
|
|
276
276
|
# @return [Array(Integer, Integer, Integer, Integer)]
|
|
277
277
|
# @raise [IronCalc::Error]
|
|
278
|
+
|
|
279
|
+
# Without a real def, the @!method stubs above leak to the IronCalc module
|
|
280
|
+
# (yardoc bug lsegal/yard#1207). Doc-only file, never loaded at runtime.
|
|
281
|
+
# @!visibility private
|
|
282
|
+
def __yard_anchor__; end
|
|
278
283
|
end
|
|
279
284
|
|
|
280
285
|
# The recommended, higher-level IronCalc API. Auto-evaluates after every action
|
|
@@ -497,5 +502,9 @@ module IronCalc
|
|
|
497
502
|
# @param sheet [Integer]
|
|
498
503
|
# @return [Array(Integer, Integer, Integer, Integer)]
|
|
499
504
|
# @raise [IronCalc::Error]
|
|
505
|
+
|
|
506
|
+
# Anchors the @!method stubs above — see {Model}.
|
|
507
|
+
# @!visibility private
|
|
508
|
+
def __yard_anchor__; end
|
|
500
509
|
end
|
|
501
510
|
end
|
data/lib/ironcalc/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ironcalc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.1.
|
|
4
|
+
version: 0.7.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- jvdp
|
|
@@ -57,6 +57,8 @@ metadata:
|
|
|
57
57
|
homepage_uri: https://www.ironcalc.com/
|
|
58
58
|
source_code_uri: https://github.com/jvdp/IronCalc-Ruby
|
|
59
59
|
bug_tracker_uri: https://github.com/jvdp/IronCalc-Ruby/issues
|
|
60
|
+
changelog_uri: https://raw.githubusercontent.com/jvdp/IronCalc-Ruby/refs/heads/main/CHANGELOG.md
|
|
61
|
+
documentation_uri: https://www.rubydoc.info/gems/ironcalc/
|
|
60
62
|
rdoc_options: []
|
|
61
63
|
require_paths:
|
|
62
64
|
- lib
|