ironcalc 0.7.1.3 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e423d8876c68053cd736a73c1c7b55590cf5acfad0cf6ac34c0e0b2560f16851
4
- data.tar.gz: a7c31425bf0270ab1e34cd0ee11ddb582ef9cc194e01ea4aea626de560aa8fc2
3
+ metadata.gz: e511f58c879d0fdac27a5c4b2d06f424d836bb2c995f4a9562d61bef955f7ea4
4
+ data.tar.gz: 3761670586bb8ed3518e91d270391e51c1f3f9590a8e5aba5e100791de5446c0
5
5
  SHA512:
6
- metadata.gz: b3065ab58649278cde300ca74dc6702659c452bd9c35cd962c1f8d65573b717ec8b4eb80536b1abbc39dc2a88c8cd551d204ef25a5c06efad4780d28fe2d4180
7
- data.tar.gz: f176d0ddfffd5cff1088e221380c25008d296aeb857129d9e8427133731120b24a6d5f6f1a86d44e3cec035a8f4398017f14ce05c4b1688c1b4739a9eb4b5e4f
6
+ metadata.gz: 6728ca159b613acd5dbcd604c286b674a9c2903040a78d2bfdbb51273d31be5e77f0942f8f20587299778586c06fc83cf2e7ae0c2f92f7d2e1b70e1ba5f2aeac
7
+ data.tar.gz: 4e7b42714f19977be65194cd1af3ffadbf1ac370fc2572613f166c84229f29710b95d95baf0b3688a4387a6e519611e81816f0dd29feda48030ba603f2d18944
data/.yardopts ADDED
@@ -0,0 +1,11 @@
1
+ --markup markdown
2
+ --main README.md
3
+ --readme README.md
4
+ --output-dir doc
5
+ --no-private
6
+ lib/**/*.rb
7
+ -
8
+ README.md
9
+ CHANGELOG.md
10
+ LICENSE-MIT.md
11
+ LICENSE-Apache-2.0.md
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 0.7.1.5
2
+
3
+ - link to changelog and documentation in gemspec
4
+ - update actions
5
+ - work-around for yard bug
6
+
7
+ ## 0.7.1.4
8
+
9
+ - build for Ruby 4.0
10
+ - push with attestation
11
+ - include .yardopts
12
+
1
13
  ## 0.7.1.3
2
14
 
3
15
  - fix build-provenance and setup github releases
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,
@@ -16,7 +16,9 @@ Add this line to your application's Gemfile:
16
16
  gem "ironcalc"
17
17
  ```
18
18
 
19
- A Rust toolchain is required to build from source.
19
+ On common platforms (Linux, macOS, Windows) a precompiled gem is installed, so
20
+ no Rust toolchain is required. On other platforms the gem builds the IronCalc
21
+ engine from source, which requires a Rust toolchain.
20
22
 
21
23
  ## Usage
22
24
 
@@ -25,7 +27,7 @@ require "ironcalc"
25
27
 
26
28
  # Raw API — call evaluate yourself.
27
29
  model = IronCalc.create("model", "en", "UTC", "en")
28
- model.set_user_input(0, 1, 1, "=21*2")
30
+ model.set_user_input(0, 1, 1, "=6*7")
29
31
  model.evaluate
30
32
  model.get_formatted_cell_value(0, 1, 1) # => "42"
31
33
  model.save_to_xlsx("out.xlsx")
@@ -67,7 +69,7 @@ via **pyo3**, Ruby via **magnus** / **rb-sys**) exposing a module named
67
69
  `create_user_model_from_bytes`.
68
70
  - **Method names and signatures** on `Model` / `UserModel` — `set_user_input`,
69
71
  `get_formatted_cell_value`, `evaluate`, `insert_rows`, `set_column_width`,
70
- `add_sheet`, `save_to_xlsx`, `to_bytes`, … (Python's `snake_case` is also
72
+ `new_sheet`, `save_to_xlsx`, `to_bytes`, … (Python's `snake_case` is also
71
73
  Ruby's convention, so they match exactly).
72
74
  - **Coordinates**: `sheet` is a 0-based index; `row` and `column` are 1-based.
73
75
  - **Semantics**: the same engine, so the same inputs produce the same results.
@@ -76,7 +78,7 @@ via **pyo3**, Ruby via **magnus** / **rb-sys**) exposing a module named
76
78
  # Python
77
79
  import ironcalc as ic
78
80
  model = ic.create("model", "en", "UTC", "en")
79
- model.set_user_input(0, 1, 1, "=21*2")
81
+ model.set_user_input(0, 1, 1, "=6*7")
80
82
  model.evaluate()
81
83
  model.get_formatted_cell_value(0, 1, 1) # "42"
82
84
  ```
@@ -85,7 +87,7 @@ model.get_formatted_cell_value(0, 1, 1) # "42"
85
87
  # Ruby
86
88
  require "ironcalc"
87
89
  model = IronCalc.create("model", "en", "UTC", "en")
88
- model.set_user_input(0, 1, 1, "=21*2")
90
+ model.set_user_input(0, 1, 1, "=6*7")
89
91
  model.evaluate
90
92
  model.get_formatted_cell_value(0, 1, 1) # "42"
91
93
  ```
@@ -103,21 +105,13 @@ ports:
103
105
  | Cell type | `CellType` enum | `Symbol` (`:number`, `:text`, …) |
104
106
  | Worksheet properties | list of `SheetProperty` objects | array of `Hash`es (`:name`, `:state`, `:sheet_id`, `:color`) |
105
107
  | Sheet dimensions | tuple `(min_row, max_row, min_col, max_col)` | 4-element `Array` |
106
- | Binary blobs | `bytes` | binary `String` |
108
+ | Binary data | `bytes` | binary `String` |
107
109
  | Version | `ironcalc.__version__` | `IronCalc::VERSION` |
108
110
 
109
111
  Rather than reconstruct Python's per-field style classes, Ruby exchanges styles
110
112
  as plain hashes (serialized as JSON across the boundary). Everything else is kept
111
113
  as close to the Python bindings as the two languages allow.
112
114
 
113
- ## Development
114
-
115
- ```sh
116
- bundle install
117
- bundle exec rake compile
118
- bundle exec rake test
119
- ```
120
-
121
115
  ## License
122
116
 
123
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
@@ -1,3 +1,3 @@
1
1
  module IronCalc
2
- VERSION = "0.7.1.3"
2
+ VERSION = "0.7.1.5"
3
3
  end
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.3
4
+ version: 0.7.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - jvdp
@@ -33,6 +33,7 @@ extensions:
33
33
  - ext/ironcalc/extconf.rb
34
34
  extra_rdoc_files: []
35
35
  files:
36
+ - ".yardopts"
36
37
  - CHANGELOG.md
37
38
  - Cargo.lock
38
39
  - Cargo.toml
@@ -56,6 +57,8 @@ metadata:
56
57
  homepage_uri: https://www.ironcalc.com/
57
58
  source_code_uri: https://github.com/jvdp/IronCalc-Ruby
58
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/
59
62
  rdoc_options: []
60
63
  require_paths:
61
64
  - lib