uploadcare-rails 5.0.0.rc1 → 5.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e298d6f7b6671b0c29b4a040208d9c9a8d3def62b758a9489e64cacc989ffb5f
4
- data.tar.gz: fdf9c58bad10d03b151d1f8414443aae1f7a64fbf91898af09986b59d26e68f9
3
+ metadata.gz: 79ccaf67f09fa687590ea3d3d4eb394aa259ed9ebef5b34179f9a7deba1ea0b5
4
+ data.tar.gz: 3ee7734f5538da3e95d600bcf2c359b0fa4a7654cff3eb22da54bc64e0f68e2a
5
5
  SHA512:
6
- metadata.gz: 7551eee19f17587751135df4b7d230ca47c72c5d6385cf7fd53e30fbe340386c6e2355ad14afff9da4676f4fa10c832099a258d29aecae0999798a2a3b011c31
7
- data.tar.gz: 15188e878f0e66d778ae02fce2df71c6a3d0ae8f35d47ee9cad9f640636e486929d881af6e7504bbd41b04ad70656b0c2a890e4885bf580798737d150422f127
6
+ metadata.gz: 9d3c79d19c9d2b2e8c0510cb8dc6e7b94338bc4575f01abb97d61f169668556b05832157a9b5ffb585813c2d352bbf1009dc7853ec374c09de807ae77bbc4bad
7
+ data.tar.gz: 5a27847f42b057b47dbab7b0ca15a205ce19f3bd062e5eacb80cb951ca1a97df3278aa29ecaef0b84420d310f1f31bcbc4a2c41a71a4fa3366069bcc52b569ef
data/CHANGELOG.md CHANGED
@@ -6,11 +6,84 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## 5.0.1 - 2026-06-22
10
+
11
+ ### Fixed
12
+
13
+ * Fixed Rails engine helper loading by qualifying top-level `ActionView::Base`
14
+ * Fixed configuration loading when `config/uploadcare.yml` exists but
15
+ `config_for(:uploadcare)` returns no settings for the current environment
16
+
17
+ ## 5.0.0 - 2026-05-17
18
+
19
+ This is the stable release of the v5 rewrite.
20
+
21
+ There are no breaking API changes from `5.0.0.rc1`. This release promotes the
22
+ rewrite to the stable line, removes prerelease dependency pins, and hardens the
23
+ release workflow for tag-based RubyGems publishing.
24
+
25
+ See [MIGRATING_V5.md](MIGRATING_V5.md)
26
+ for the migration guide and [docs/release-notes-5.0.0.md](docs/release-notes-5.0.0.md)
27
+ for release notes and examples.
28
+
29
+ ### Added
30
+
31
+ * Active Storage service integration through `ActiveStorage::Service::UploadcareService`
32
+ * Uploadcare-backed Active Storage preview and remote variant processing support
33
+ * `Uploadcare::Rails.client` as the default Rails client entry point
34
+ * explicit multi-account usage through `Uploadcare::Client`
35
+ * `has_uploadcare_file` and `has_uploadcare_files` model macros
36
+ * `uploadcare_file_field`, `uploadcare_files_field`, and matching FormBuilder helpers
37
+ * `Uploadcare::Rails::AttachedFile` and `Uploadcare::Rails::AttachedFiles` wrappers
38
+ * `rails g uploadcare_config` support for `config/uploadcare.yml`
39
+ * Rails 7.2, 8.0, and 8.1 test matrix coverage
40
+ * Ruby 3.3, 3.4, and experimental Ruby 4.0 CI coverage
41
+
42
+ ### Changed
43
+
44
+ * Re-centered the gem around `uploadcare-ruby` 5.x instead of maintaining a
45
+ second API wrapper layer in `uploadcare-rails`
46
+ * Simplified the documented public API to the Rails integration surface
47
+ * Configuration now loads from `config/uploadcare.yml` when present and still
48
+ supports `Uploadcare::Rails.configure`
49
+ * Active Storage service defaults to public URL mode and supports configurable
50
+ HTTP timeouts (`open_timeout`, `read_timeout`, `write_timeout`)
51
+ * Mongoid hooks prefer `after_commit` callbacks when available, with fallback
52
+ to `after_save`/`after_destroy`
53
+ * README and migration docs now describe the v5 client-first API and upgrade path
54
+
55
+ ### Fixed
56
+
57
+ * Edit-form uploader prefill now binds `value` to `<uc-form-input>` instead of
58
+ leaking into `<uc-config>`
59
+ * Active Storage blob-key to UUID cache writes are synchronized for thread safety
60
+ * Variant and preview remote-processing paths avoid redundant API roundtrips for
61
+ CDN URL resolution
62
+ * `AttachedFile#store` avoids a redundant file pre-fetch before storing
63
+ * Uploadcare uploader helper options now warn on unknown keys and support
64
+ Rails-style `data: { ... }` passthrough attributes
65
+ * SQL wildcard escaping in `delete_prefixed`
66
+ * nil-key SDK configuration synchronization
67
+ * tag-based gem publishing now validates the release tag against the gem version
68
+ before pushing to RubyGems
69
+
70
+ ### Removed
71
+
72
+ * `mount_uploadcare_file`
73
+ * `mount_uploadcare_file_group`
74
+ * `uploadcare_uploader_field`
75
+ * `uploadcare_uploader_field_tag`
76
+ * `f.uploadcare_file`
77
+ * `Uploadcare::Rails::File`
78
+ * `Uploadcare::Rails::Group`
79
+ * low-level uploader composition helpers from the documented public API
80
+ * stale migration guides that described the pre-rewrite compatibility surface
81
+
9
82
  ## 5.0.0.rc1 - 2026-03-24
10
83
 
11
84
  This is the first release candidate for the 5.0 rewrite.
12
85
 
13
- See [MIGRATING_V5.md](https://github.com/uploadcare/uploadcare-rails/blob/5-0-stable/MIGRATING_V5.md) for the migration guide.
86
+ See [MIGRATING_V5.md](MIGRATING_V5.md) for the migration guide.
14
87
 
15
88
  ### Changed
16
89
 
data/Gemfile CHANGED
@@ -5,13 +5,13 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in uploadcare-rails.gemspec
6
6
  gemspec
7
7
 
8
- gem "uploadcare-ruby", "5.0.0.rc1"
8
+ # Pin the released SDK for local and CI release validation.
9
+ gem "uploadcare-ruby", "5.0.0"
9
10
 
10
11
  gem "http-parser", "~> 1.2", ">= 1.2.3"
11
12
  gem "rake", "~> 13.0.6"
12
13
 
13
14
  group :test do
14
- gem "benchmark", "~> 0.4"
15
15
  gem "mongoid", "~> 9", require: false
16
16
  gem "ostruct"
17
17
  gem "rspec", "~> 3.12"
@@ -19,5 +19,4 @@ group :test do
19
19
  gem "rubocop-rails-omakase", require: false
20
20
  gem "vcr", "~> 6.1"
21
21
  gem "webmock", "~> 3.18"
22
- gem "yard", "~> 0.9"
23
22
  end
data/MIGRATING_V5.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # Migrating to uploadcare-rails 5.0
2
2
 
3
- This guide covers migration from the older `uploadcare-rails` surface to the rewritten, client-first API released in `5.0.0.rc1`.
3
+ This guide covers migration from the older `uploadcare-rails` surface to the rewritten, client-first API released in `5.0.0`.
4
+
5
+ ## Compatibility summary
6
+
7
+ - Runtime minimums are Ruby 3.3+ and Rails 7.2+.
8
+ - This is a breaking major upgrade from the pre-v5 API.
9
+ - API usage now goes through `Uploadcare::Rails.client` or explicit `Uploadcare::Client` instances.
10
+ - Active Storage direct uploads are not supported by `ActiveStorage::Service::UploadcareService`; use the Uploadcare uploader field helpers for browser direct uploads.
11
+ - Custom per-tenant clients work with mounted objects and synchronous callbacks. Async callbacks use the default `Uploadcare::Rails.client`.
4
12
 
5
13
  The short version:
6
14
 
data/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  `uploadcare-rails` is a Rails integration for Uploadcare built on top of the rewritten `uploadcare-ruby` client API.
10
10
 
11
- The current stable branch is shipping as the `5.0.0.rc1` release candidate line.
11
+ The current stable branch is the `5.0` release line.
12
12
 
13
13
  The gem is centered on:
14
14
 
@@ -45,7 +45,7 @@ This version uses the new [Uploadcare File Uploader](https://uploadcare.com/docs
45
45
  Add the gem to your Gemfile:
46
46
 
47
47
  ```ruby
48
- gem "uploadcare-rails", "5.0.0.rc1"
48
+ gem "uploadcare-rails", "~> 5.0"
49
49
  ```
50
50
 
51
51
  Then install:
@@ -63,7 +63,7 @@ gem "uploadcare-api_struct"
63
63
  You can also install the gem directly:
64
64
 
65
65
  ```bash
66
- gem install uploadcare-rails --pre -v 5.0.0.rc1
66
+ gem install uploadcare-rails -v 5.0.0
67
67
  ```
68
68
 
69
69
  ## Configuration
@@ -535,6 +535,8 @@ Public utility constants:
535
535
 
536
536
  ## Useful links
537
537
 
538
+ - [Release notes for 5.0.0](docs/release-notes-5.0.0.md)
539
+ - [Migration guide for 5.0](MIGRATING_V5.md)
538
540
  - [Uploadcare File Uploader docs](https://uploadcare.com/docs/file-uploader/)
539
541
  - [Uploadcare Ruby SDK](https://github.com/uploadcare/uploadcare-ruby)
540
542
  - [Uploadcare API docs](https://uploadcare.com/docs/start/api/)
@@ -0,0 +1,128 @@
1
+ # uploadcare-rails 5.0.0 release notes
2
+
3
+ Release v5.0.0: stable rewrite on `uploadcare-ruby` 5.x.
4
+
5
+ Must: publish `uploadcare-ruby` 5.0.0 first. CI/install will fail otherwise.
6
+
7
+ Before tagging:
8
+
9
+ - Verify CI: Rails 7.2, 8.0, 8.1 plus Active Storage.
10
+ - Smoke-test one 4.x to 5.0 migration using [MIGRATING_V5.md](../MIGRATING_V5.md).
11
+ - Tag and publish `uploadcare-rails` 5.0.0.
12
+
13
+ Migration priority: test in this order.
14
+
15
+ - Manual API wrappers: `Uploadcare::FileApi`, `Uploadcare::GroupApi`, `Uploadcare::UploadApi`
16
+ - `mount_uploadcare_file` or `mount_uploadcare_file_group`
17
+ - Removed uploader helper aliases
18
+ - Active Storage
19
+
20
+ Quick scan:
21
+
22
+ ```sh
23
+ git grep -n "mount_uploadcare_file\|Uploadcare::FileApi\|Uploadcare::GroupApi\|Uploadcare::UploadApi\|uploadcare_uploader_field"
24
+ ```
25
+
26
+ No API changes since `5.0.0.rc1`. Applications moving from 4.x or older should
27
+ follow [MIGRATING_V5.md](../MIGRATING_V5.md).
28
+
29
+ ## Highlights
30
+
31
+ - Client-first API: `Uploadcare::Rails.client` and `Uploadcare::Client`
32
+ - Model macros: `has_uploadcare_file` and `has_uploadcare_files`
33
+ - Uploader helpers: `uploadcare_file_field`, `uploadcare_files_field`, and FormBuilder equivalents
34
+ - Wrapper objects: `Uploadcare::Rails::AttachedFile` and `Uploadcare::Rails::AttachedFiles`
35
+ - Active Storage service: `ActiveStorage::Service::UploadcareService`
36
+ - Active Storage preview and remote variant processing for Uploadcare-backed blobs
37
+ - Rails 7.2+ and Ruby 3.3+ runtime baseline
38
+
39
+ ## Breaking changes
40
+
41
+ - `mount_uploadcare_file` and `mount_uploadcare_file_group` are removed. Use `has_uploadcare_file` and `has_uploadcare_files`.
42
+ - `uploadcare_uploader_field`, `uploadcare_uploader_field_tag`, and `f.uploadcare_file` are removed. Use `uploadcare_file_field`, `uploadcare_files_field`, `f.uploadcare_file_field`, and `f.uploadcare_files_field`.
43
+ - `Uploadcare::Rails::File` and `Uploadcare::Rails::Group` are replaced by `Uploadcare::Rails::AttachedFile` and `Uploadcare::Rails::AttachedFiles`.
44
+ - Manual API wrappers such as `Uploadcare::FileApi`, `Uploadcare::GroupApi`, and `Uploadcare::UploadApi` are no longer the public path. Use `Uploadcare::Rails.client` or explicit `Uploadcare::Client` instances.
45
+ - `do_not_store:` is replaced by the positive `store_files_after_save` configuration.
46
+
47
+ ## Upgrade examples
48
+
49
+ Model macros:
50
+
51
+ ```ruby
52
+ class Post < ApplicationRecord
53
+ has_uploadcare_file :picture
54
+ has_uploadcare_files :attachments
55
+ end
56
+ ```
57
+
58
+ Uploader fields:
59
+
60
+ ```erb
61
+ <%= form_with model: @post do |f| %>
62
+ <%= f.uploadcare_file_field :picture %>
63
+ <%= f.uploadcare_files_field :attachments, solution: "inline" %>
64
+ <%= f.submit %>
65
+ <% end %>
66
+ ```
67
+
68
+ Manual API usage:
69
+
70
+ ```ruby
71
+ client = Uploadcare::Rails.client
72
+
73
+ file = client.files.find(uuid: "2d33999d-c74a-4ff9-99ea-abc23496b052")
74
+ group = client.groups.find(group_id: "dbc4e868-b7a6-43ff-a35f-2ebef935dc1b~2")
75
+ project = client.project.current
76
+ ```
77
+
78
+ Multi-account usage:
79
+
80
+ ```ruby
81
+ client = Uploadcare::Client.new(
82
+ public_key: account.uploadcare_public_key,
83
+ secret_key: account.uploadcare_secret_key
84
+ )
85
+
86
+ client.files.find(uuid: "2d33999d-c74a-4ff9-99ea-abc23496b052")
87
+ ```
88
+
89
+ Active Storage:
90
+
91
+ ```yml
92
+ uploadcare:
93
+ service: Uploadcare
94
+ public_key: <%= ENV.fetch("UPLOADCARE_PUBLIC_KEY") %>
95
+ secret_key: <%= ENV.fetch("UPLOADCARE_SECRET_KEY") %>
96
+ public: true
97
+ ```
98
+
99
+ ```ruby
100
+ config.active_storage.service = :uploadcare
101
+ ```
102
+
103
+ ## Operator notes
104
+
105
+ - Must: publish `uploadcare-ruby` 5.0.0 first. CI/install will fail otherwise.
106
+ - Verify: Rails 7.2, 8.0, 8.1 plus Active Storage specs are green before tagging.
107
+ - Risk: `UploadcareService` does not support direct uploads or signed private URLs. Private blobs and direct client uploads will break.
108
+ - Mitigation before tagging:
109
+ - Set service `public: true` for affected apps.
110
+ - Prefer uploader field helpers, not direct service calls.
111
+ - Smoke-test previews and remote variants end-to-end.
112
+ - Per-tenant clients: use `uploadcare_client:` for mounted objects and synchronous callbacks. Async callbacks use `Uploadcare::Rails.client`.
113
+ - Migration priority: test apps that use manual API wrappers, `mount_*` macros, uploader helper aliases, or Active Storage first.
114
+
115
+ ## Release checklist
116
+
117
+ Do not skip:
118
+
119
+ 1. `bundle install` resolves `uploadcare-ruby (= 5.0.0)`.
120
+ 2. CI green: Rails 7.2, 8.0, 8.1 plus Active Storage specs.
121
+ 3. Tag: `git tag -a v5.0.0 -m "uploadcare-rails v5.0.0" && git push origin v5.0.0`.
122
+ 4. Publish: confirm the `Publish Gem` workflow uploads `uploadcare-rails-5.0.0.gem`.
123
+ 5. Post-release: smoke test a migrated app and verify Active Storage blobs, previews, and variants.
124
+
125
+ Rollback policy:
126
+
127
+ - If RubyGems rejects the gem before publish, delete the failed tag, fix, and retag.
128
+ - If the gem is published, do not reuse the tag. Ship a patch release.
@@ -34,6 +34,7 @@ module Uploadcare
34
34
  end
35
35
 
36
36
  def store
37
+ ensure_uuid!("store file")
37
38
  resource = Uploadcare::Resources::File.new({ "uuid" => uuid }, resolve_client)
38
39
  resource.store
39
40
  file_info = file_info_from_resource(resource)
@@ -42,10 +43,12 @@ module Uploadcare
42
43
  end
43
44
 
44
45
  def delete
46
+ ensure_uuid!("delete file")
45
47
  resolve_client.files.batch_delete(uuids: [ uuid ])
46
48
  end
47
49
 
48
50
  def load(force: false)
51
+ ensure_uuid!("load file")
49
52
  ::Rails.cache.delete(cache_key) if force && caching_enabled?
50
53
 
51
54
  file_info = if caching_enabled?
@@ -86,6 +89,12 @@ module Uploadcare
86
89
  resolved_cdn_url = cdn_url.presence || resource_hash["cdn_url"].presence || resource_hash["url"]
87
90
  resource_hash.merge("cdn_url" => resolved_cdn_url)
88
91
  end
92
+
93
+ def ensure_uuid!(action)
94
+ return if uuid.present?
95
+
96
+ raise ArgumentError, "uuid is required to #{action}"
97
+ end
89
98
  end
90
99
  end
91
100
  end
@@ -42,6 +42,8 @@ module Uploadcare
42
42
  end
43
43
 
44
44
  def file_urls
45
+ return [] if cdn_url.blank?
46
+
45
47
  map_file_urls do |index|
46
48
  group_file_url(index)
47
49
  end
@@ -96,7 +98,11 @@ module Uploadcare
96
98
  end
97
99
 
98
100
  def group_file_url(index)
99
- "#{cdn_url}nth/#{index}/"
101
+ "#{normalized_cdn_url}nth/#{index}/"
102
+ end
103
+
104
+ def normalized_cdn_url
105
+ cdn_url.end_with?("/") ? cdn_url : "#{cdn_url}/"
100
106
  end
101
107
 
102
108
  def map_file_urls(&block)
@@ -22,8 +22,8 @@ module Uploadcare
22
22
  require "uploadcare/rails/internal/uploader_field_helpers"
23
23
  require "uploadcare/rails/action_view/form_builder"
24
24
 
25
- ActionView::Base.include Uploadcare::Rails::ActionView::UploadcareIncludeTags
26
- ActionView::Base.include Uploadcare::Rails::Internal::UploaderFieldHelpers
25
+ ::ActionView::Base.include Uploadcare::Rails::ActionView::UploadcareIncludeTags
26
+ ::ActionView::Base.include Uploadcare::Rails::Internal::UploaderFieldHelpers
27
27
  end
28
28
 
29
29
  ActiveSupport.on_load :active_record do
@@ -77,6 +77,8 @@ module Uploadcare
77
77
  end
78
78
 
79
79
  def merge_uploadcare_settings!(target, source)
80
+ return if source.nil?
81
+
80
82
  source.each do |key, value|
81
83
  target[key] = value
82
84
  end
@@ -57,10 +57,21 @@ module Uploadcare
57
57
 
58
58
  def build_request(uri, range)
59
59
  request = Net::HTTP::Get.new(uri)
60
- request["Range"] = "bytes=#{range.begin}-#{range.end}" if range
60
+ request["Range"] = range_header(range) if range
61
61
  request
62
62
  end
63
63
 
64
+ def range_header(range)
65
+ range_end = range.end
66
+ range_end -= 1 if range_end && range.exclude_end?
67
+
68
+ if range_end && range.begin && range_end < range.begin
69
+ raise ArgumentError, "range end must be greater than or equal to range begin"
70
+ end
71
+
72
+ range_end ? "bytes=#{range.begin}-#{range_end}" : "bytes=#{range.begin}-"
73
+ end
74
+
64
75
  def request_streaming(http, request, &block)
65
76
  result = nil
66
77
 
@@ -6,12 +6,15 @@ module Uploadcare
6
6
  module ClientResolver
7
7
  def resolve_client(client_or_options = nil)
8
8
  case client_or_options
9
+ when nil
10
+ client
9
11
  when Uploadcare::Client
10
12
  client_or_options
11
13
  when Hash
12
14
  client(**client_or_options.symbolize_keys)
13
15
  else
14
- client
16
+ raise ArgumentError,
17
+ "uploadcare_client must be an Uploadcare::Client, Hash, or nil; got #{client_or_options.class}"
15
18
  end
16
19
  end
17
20
  end
@@ -10,7 +10,7 @@ module Uploadcare
10
10
  def call(input_str, regex = UUID_REGEX)
11
11
  return unless input_str.present?
12
12
 
13
- input_str.match(regex).to_s
13
+ input_str.match(regex)&.to_s
14
14
  end
15
15
  end
16
16
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "action_view"
4
+ require "json"
4
5
  require "set"
5
6
 
6
7
  module Uploadcare
@@ -70,7 +71,10 @@ module Uploadcare
70
71
  def uploadcare_config_tag(ctx_name:, **options)
71
72
  default_options = Uploadcare::Rails.configuration.uploader_config_attributes
72
73
 
73
- normalize_key = ->(key) { key.to_s.tr("_", "-").to_sym }
74
+ normalize_key = lambda do |key|
75
+ attr_name = key.to_s.tr("_", "-")
76
+ attr_name == "public-key" ? :pubkey : attr_name.to_sym
77
+ end
74
78
  normalized_options = options.transform_keys(&normalize_key)
75
79
  filtered_options = filter_uploader_config_options(normalized_options)
76
80
 
@@ -94,7 +98,21 @@ module Uploadcare
94
98
  unknown_keys = options.keys - allowed.to_a - data_attributes[:consumed_keys]
95
99
  warn_unknown_uploader_options(unknown_keys) if unknown_keys.any?
96
100
 
97
- options.slice(*allowed.to_a).merge(data_attributes[:attributes])
101
+ options
102
+ .slice(*allowed.to_a)
103
+ .transform_values { |value| format_uploader_config_value(value) }
104
+ .merge(data_attributes[:attributes])
105
+ end
106
+
107
+ def format_uploader_config_value(value)
108
+ case value
109
+ when Hash
110
+ JSON.generate(value)
111
+ when Array
112
+ value.join(",")
113
+ else
114
+ value
115
+ end
98
116
  end
99
117
 
100
118
  def extract_data_attributes(options)
@@ -143,7 +161,7 @@ module Uploadcare
143
161
  end
144
162
 
145
163
  def uploadcare_file_group_attribute?(object_name, method_name, object: nil)
146
- model = object_name.to_s.camelize.safe_constantize || object&.class
164
+ model = object&.class || object_name.to_s.camelize.safe_constantize
147
165
  return false unless model
148
166
 
149
167
  checker = "has_uploadcare_files_for_#{method_name}?"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Uploadcare
4
4
  module Rails
5
- VERSION = "5.0.0.rc1"
5
+ VERSION = "5.0.1"
6
6
  end
7
7
  end
@@ -15,13 +15,13 @@ Gem::Specification.new do |gem|
15
15
  gem.email = [ 'hello@uploadcare.com' ]
16
16
  gem.summary = 'Rails gem for Uploadcare'
17
17
  gem.description = <<~DESCRIPTION
18
- Rails API client (based on uploadcare-ruby) that handles uploads
19
- and further operations with files by wrapping Uploadcare Upload and REST APIs.
18
+ Rails integration for Uploadcare built on uploadcare-ruby, with uploader
19
+ helpers, model macros, and Active Storage support.
20
20
  DESCRIPTION
21
21
  gem.metadata = {
22
22
  'source_code_uri' => 'https://github.com/uploadcare/uploadcare-rails',
23
23
  'bug_tracker_uri' => 'https://github.com/uploadcare/uploadcare-rails/issues',
24
- 'changelog_uri' => 'https://github.com/uploadcare/uploadcare-rails/blob/5-0-stable/CHANGELOG.md',
24
+ 'changelog_uri' => 'https://github.com/uploadcare/uploadcare-rails/blob/main/CHANGELOG.md',
25
25
  'documentation_uri' => 'https://www.rubydoc.info/gems/uploadcare-rails/',
26
26
  'homepage_uri' => 'https://uploadcare.com/',
27
27
  'rubygems_mfa_required' => 'true'
@@ -37,13 +37,14 @@ Gem::Specification.new do |gem|
37
37
  'LICENSE.txt',
38
38
  'README.md',
39
39
  'CHANGELOG.md',
40
- 'MIGRATING_V5.md'
40
+ 'MIGRATING_V5.md',
41
+ 'docs/**/*.md'
41
42
  ]
42
43
 
43
44
  gem.extra_rdoc_files = %w[README.md MIGRATING_V5.md LICENSE.txt]
44
- gem.rdoc_options = %w[--line-numbers --title Uploadcare --main README.rdoc --encoding=UTF-8]
45
+ gem.rdoc_options = %w[--line-numbers --title Uploadcare --main README.md --encoding=UTF-8]
45
46
 
46
47
  gem.version = Uploadcare::Rails::VERSION
47
48
  gem.add_dependency 'rails', '>= 7.2'
48
- gem.add_dependency 'uploadcare-ruby', '>= 5.0.0.rc1'
49
+ gem.add_dependency 'uploadcare-ruby', '>= 5.0.0'
49
50
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uploadcare-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0.rc1
4
+ version: 5.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@dmitrijivanchenko (Dmitrij Ivanchenko), @T0mbery (Andrey Aksenov)"
@@ -30,17 +30,17 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 5.0.0.rc1
33
+ version: 5.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 5.0.0.rc1
40
+ version: 5.0.0
41
41
  description: |
42
- Rails API client (based on uploadcare-ruby) that handles uploads
43
- and further operations with files by wrapping Uploadcare Upload and REST APIs.
42
+ Rails integration for Uploadcare built on uploadcare-ruby, with uploader
43
+ helpers, model macros, and Active Storage support.
44
44
  email:
45
45
  - hello@uploadcare.com
46
46
  executables: []
@@ -56,6 +56,7 @@ files:
56
56
  - MIGRATING_V5.md
57
57
  - README.md
58
58
  - Rakefile
59
+ - docs/release-notes-5.0.0.md
59
60
  - lib/active_storage/service/uploadcare_service.rb
60
61
  - lib/generators/templates/uploadcare_config.yml.erb
61
62
  - lib/generators/templates/uploadcare_js_initializer.js
@@ -97,7 +98,7 @@ licenses:
97
98
  metadata:
98
99
  source_code_uri: https://github.com/uploadcare/uploadcare-rails
99
100
  bug_tracker_uri: https://github.com/uploadcare/uploadcare-rails/issues
100
- changelog_uri: https://github.com/uploadcare/uploadcare-rails/blob/5-0-stable/CHANGELOG.md
101
+ changelog_uri: https://github.com/uploadcare/uploadcare-rails/blob/main/CHANGELOG.md
101
102
  documentation_uri: https://www.rubydoc.info/gems/uploadcare-rails/
102
103
  homepage_uri: https://uploadcare.com/
103
104
  rubygems_mfa_required: 'true'
@@ -106,7 +107,7 @@ rdoc_options:
106
107
  - "--title"
107
108
  - Uploadcare
108
109
  - "--main"
109
- - README.rdoc
110
+ - README.md
110
111
  - "--encoding=UTF-8"
111
112
  require_paths:
112
113
  - lib