resourcespace-ruby 0.1.1 → 0.1.2
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/.yardoc/checksums +10 -0
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/.yardopts +7 -0
- data/README.md +1 -2
- data/doc/ResourceSpace/AuthenticationError.html +159 -0
- data/doc/ResourceSpace/AuthorizationError.html +159 -0
- data/doc/ResourceSpace/Client.html +2412 -0
- data/doc/ResourceSpace/ClientError.html +159 -0
- data/doc/ResourceSpace/Collection.html +2301 -0
- data/doc/ResourceSpace/Configuration.html +1655 -0
- data/doc/ResourceSpace/ConfigurationError.html +159 -0
- data/doc/ResourceSpace/ConflictError.html +159 -0
- data/doc/ResourceSpace/Error.html +682 -0
- data/doc/ResourceSpace/Metadata.html +2222 -0
- data/doc/ResourceSpace/NetworkError.html +159 -0
- data/doc/ResourceSpace/NotFoundError.html +159 -0
- data/doc/ResourceSpace/ParseError.html +159 -0
- data/doc/ResourceSpace/QuotaExceededError.html +159 -0
- data/doc/ResourceSpace/RateLimitError.html +159 -0
- data/doc/ResourceSpace/Resource.html +2995 -0
- data/doc/ResourceSpace/Search.html +2487 -0
- data/doc/ResourceSpace/ServerError.html +159 -0
- data/doc/ResourceSpace/TimeoutError.html +159 -0
- data/doc/ResourceSpace/UploadError.html +159 -0
- data/doc/ResourceSpace/User.html +2080 -0
- data/doc/ResourceSpace/ValidationError.html +159 -0
- data/doc/ResourceSpace.html +763 -0
- data/doc/_index.html +358 -0
- data/doc/class_list.html +54 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +503 -0
- data/doc/file.CHANGELOG.html +105 -0
- data/doc/file.LICENSE.html +70 -0
- data/doc/file.README.html +419 -0
- data/doc/file_list.html +69 -0
- data/doc/frames.html +22 -0
- data/doc/index.html +419 -0
- data/doc/js/app.js +344 -0
- data/doc/js/full_list.js +242 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +1142 -0
- data/doc/top-level-namespace.html +110 -0
- data/lib/resourcespace/version.rb +1 -1
- data/resourcespace-ruby-0.1.0.gem +0 -0
- data/resourcespace-ruby-0.1.1.gem +0 -0
- data/resourcespace-ruby.gemspec +5 -5
- metadata +54 -7
@@ -0,0 +1,419 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
File: README
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.37
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
16
|
+
|
17
|
+
<script type="text/javascript">
|
18
|
+
pathId = "README";
|
19
|
+
relpath = '';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="file_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="_index.html">Index</a> »
|
40
|
+
<span class="title">File: README</span>
|
41
|
+
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div id="search">
|
45
|
+
|
46
|
+
<a class="full_list_link" id="class_list_link"
|
47
|
+
href="class_list.html">
|
48
|
+
|
49
|
+
<svg width="24" height="24">
|
50
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
51
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
52
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
</svg>
|
54
|
+
</a>
|
55
|
+
|
56
|
+
</div>
|
57
|
+
<div class="clear"></div>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<div id="content"><div id='filecontents'>
|
61
|
+
<h1 id="label-ResourceSpace+Ruby+Client">ResourceSpace Ruby Client</h1>
|
62
|
+
|
63
|
+
<p>A comprehensive Ruby client library for the <a href="https://www.resourcespace.com/">ResourceSpace</a> open-source Digital Asset Management system. This gem provides an easy-to-use interface for managing web assets including images, CSS files, JavaScript files, fonts, and other digital resources.</p>
|
64
|
+
|
65
|
+
<p><a href="https://badge.fury.io/rb/resourcespace-ruby"><img src="https://badge.fury.io/rb/resourcespace-ruby.svg"></a> <a href="https://rubydoc.info/gems/resourcespace-ruby"><img src="https://img.shields.io/badge/docs-rubydoc.info-blue"></a></p>
|
66
|
+
|
67
|
+
<h2 id="label-Features">Features</h2>
|
68
|
+
<ul><li>
|
69
|
+
<p><strong>Complete API Coverage</strong>: Supports all major ResourceSpace API endpoints</p>
|
70
|
+
</li><li>
|
71
|
+
<p><strong>Web Asset Focused</strong>: Optimized for managing web development assets (images, CSS, JS, fonts, icons)</p>
|
72
|
+
</li><li>
|
73
|
+
<p><strong>Authentication</strong>: Secure SHA256 signature-based authentication</p>
|
74
|
+
</li><li>
|
75
|
+
<p><strong>File Operations</strong>: Upload, download, and manage files with ease</p>
|
76
|
+
</li><li>
|
77
|
+
<p><strong>Search & Collections</strong>: Powerful search capabilities and collection management</p>
|
78
|
+
</li><li>
|
79
|
+
<p><strong>Metadata Management</strong>: Comprehensive metadata and field management</p>
|
80
|
+
</li><li>
|
81
|
+
<p><strong>Error Handling</strong>: Robust error handling with specific exception types</p>
|
82
|
+
</li><li>
|
83
|
+
<p><strong>Configurable</strong>: Flexible configuration options with global and instance-level settings</p>
|
84
|
+
</li></ul>
|
85
|
+
|
86
|
+
<h2 id="label-Installation">Installation</h2>
|
87
|
+
|
88
|
+
<p>Add this line to your application’s Gemfile:</p>
|
89
|
+
|
90
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>resourcespace-ruby</span><span class='tstring_end'>'</span></span>
|
91
|
+
</code></pre>
|
92
|
+
|
93
|
+
<p>And then execute:</p>
|
94
|
+
|
95
|
+
<pre class="code ruby"><code class="ruby">$ bundle install
|
96
|
+
</code></pre>
|
97
|
+
|
98
|
+
<p>Or install it yourself as:</p>
|
99
|
+
|
100
|
+
<pre class="code ruby"><code class="ruby">$ gem install resourcespace-ruby
|
101
|
+
</code></pre>
|
102
|
+
|
103
|
+
<h2 id="label-Quick+Start">Quick Start</h2>
|
104
|
+
|
105
|
+
<h3 id="label-Basic+Configuration">Basic Configuration</h3>
|
106
|
+
|
107
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>resourcespace</span><span class='tstring_end'>'</span></span>
|
108
|
+
|
109
|
+
<span class='comment'># Configure globally
|
110
|
+
</span><span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configure'><span class='object_link'><a href="ResourceSpace.html#configure-class_method" title="ResourceSpace.configure (method)">configure</a></span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_config'>config</span><span class='op'>|</span>
|
111
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>https://your-resourcespace.com/api/</span><span class='tstring_end'>"</span></span>
|
112
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_user'>user</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>your_username</span><span class='tstring_end'>"</span></span>
|
113
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_private_key'>private_key</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>your_private_key</span><span class='tstring_end'>"</span></span> <span class='comment'># Get this from your ResourceSpace profile
|
114
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_timeout'>timeout</span> <span class='op'>=</span> <span class='int'>30</span>
|
115
|
+
<span class='kw'>end</span>
|
116
|
+
|
117
|
+
<span class='comment'># Or configure per instance
|
118
|
+
</span><span class='id identifier rubyid_client'>client</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/Client.html" title="ResourceSpace::Client (class)">Client</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="ResourceSpace/Client.html#initialize-instance_method" title="ResourceSpace::Client#initialize (method)">new</a></span></span><span class='lparen'>(</span>
|
119
|
+
<span class='label'>url:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>https://your-resourcespace.com/api/</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
120
|
+
<span class='label'>user:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>your_username</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
121
|
+
<span class='label'>private_key:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>your_private_key</span><span class='tstring_end'>"</span></span>
|
122
|
+
<span class='rparen'>)</span>
|
123
|
+
</code></pre>
|
124
|
+
|
125
|
+
<h3 id="label-Basic+Usage">Basic Usage</h3>
|
126
|
+
|
127
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Test connection
|
128
|
+
</span><span class='id identifier rubyid_status'>status</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_test_connection'>test_connection</span>
|
129
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Connected to ResourceSpace </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_status'>status</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>version</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
130
|
+
|
131
|
+
<span class='comment'># Search for web assets
|
132
|
+
</span><span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_web_assets'>search_web_assets</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>images</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
133
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Found </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_results'>results</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='embexpr_end'>}</span><span class='tstring_content'> image assets</span><span class='tstring_end'>"</span></span>
|
134
|
+
|
135
|
+
<span class='comment'># Upload a web asset
|
136
|
+
</span><span class='id identifier rubyid_uploaded'>uploaded</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_upload_file'>upload_file</span><span class='lparen'>(</span>
|
137
|
+
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>assets/logo.png</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
138
|
+
<span class='label'>caption:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Company Logo</span><span class='tstring_end'>"</span></span>
|
139
|
+
<span class='rparen'>)</span>
|
140
|
+
|
141
|
+
<span class='comment'># Create a collection for web assets
|
142
|
+
</span><span class='id identifier rubyid_collection'>collection</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_create_web_asset_collection'>create_web_asset_collection</span><span class='lparen'>(</span>
|
143
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Website Assets</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
144
|
+
<span class='label'>asset_type:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>images</span><span class='tstring_end'>"</span></span>
|
145
|
+
<span class='rparen'>)</span>
|
146
|
+
|
147
|
+
<span class='comment'># Add resource to collection
|
148
|
+
</span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_add_resource_to_collection'>add_resource_to_collection</span><span class='lparen'>(</span><span class='id identifier rubyid_uploaded'>uploaded</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ref</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_collection'>collection</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ref</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
149
|
+
</code></pre>
|
150
|
+
|
151
|
+
<h2 id="label-Web+Asset+Management">Web Asset Management</h2>
|
152
|
+
|
153
|
+
<p>This gem is specifically designed to work well with web development assets:</p>
|
154
|
+
|
155
|
+
<h3 id="label-Upload+Web+Assets">Upload Web Assets</h3>
|
156
|
+
|
157
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Upload different types of web assets
|
158
|
+
</span><span class='id identifier rubyid_logo'>logo</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_upload_file'>upload_file</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>assets/logo.png</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
159
|
+
<span class='id identifier rubyid_stylesheet'>stylesheet</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_upload_file'>upload_file</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>assets/main.css</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
160
|
+
<span class='id identifier rubyid_script'>script</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_upload_file'>upload_file</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>assets/app.js</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
161
|
+
<span class='id identifier rubyid_font'>font</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_upload_file'>upload_file</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>assets/custom-font.woff2</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
162
|
+
</code></pre>
|
163
|
+
|
164
|
+
<h3 id="label-Search+for+Specific+Asset+Types">Search for Specific Asset Types</h3>
|
165
|
+
|
166
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Search by asset type
|
167
|
+
</span><span class='id identifier rubyid_images'>images</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_web_assets'>search_web_assets</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>images</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
168
|
+
<span class='id identifier rubyid_css_files'>css_files</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_web_assets'>search_web_assets</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>css</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
169
|
+
<span class='id identifier rubyid_js_files'>js_files</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_web_assets'>search_web_assets</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>javascript</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
170
|
+
<span class='id identifier rubyid_fonts'>fonts</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_web_assets'>search_web_assets</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>fonts</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
171
|
+
|
172
|
+
<span class='comment'># Search by file extension
|
173
|
+
</span><span class='id identifier rubyid_svg_files'>svg_files</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_by_extension'>search_by_extension</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>svg</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
174
|
+
<span class='id identifier rubyid_web_fonts'>web_fonts</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_by_extension'>search_by_extension</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>woff</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>woff2</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ttf</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
175
|
+
</code></pre>
|
176
|
+
|
177
|
+
<h3 id="label-Organize+with+Collections">Organize with Collections</h3>
|
178
|
+
|
179
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Create collections for different asset types
|
180
|
+
</span><span class='id identifier rubyid_image_collection'>image_collection</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_create_web_asset_collection'>create_web_asset_collection</span><span class='lparen'>(</span>
|
181
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Website Images</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
182
|
+
<span class='label'>asset_type:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>images</span><span class='tstring_end'>"</span></span>
|
183
|
+
<span class='rparen'>)</span>
|
184
|
+
|
185
|
+
<span class='id identifier rubyid_css_collection'>css_collection</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_create_web_asset_collection'>create_web_asset_collection</span><span class='lparen'>(</span>
|
186
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Stylesheets</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
187
|
+
<span class='label'>asset_type:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>css</span><span class='tstring_end'>"</span></span>
|
188
|
+
<span class='rparen'>)</span>
|
189
|
+
|
190
|
+
<span class='comment'># Get all web asset collections
|
191
|
+
</span><span class='id identifier rubyid_web_collections'>web_collections</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_get_web_asset_collections'>get_web_asset_collections</span>
|
192
|
+
</code></pre>
|
193
|
+
|
194
|
+
<h3 id="label-Manage+Web+Asset+Metadata">Manage Web Asset Metadata</h3>
|
195
|
+
|
196
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Set up web asset metadata fields (one-time setup)
|
197
|
+
</span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_create_web_asset_fields'>create_web_asset_fields</span>
|
198
|
+
|
199
|
+
<span class='comment'># Update resource with web asset metadata
|
200
|
+
</span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_update_web_asset_metadata'>update_web_asset_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_id'>resource_id</span><span class='comma'>,</span> <span class='lbrace'>{</span>
|
201
|
+
<span class='label'>title:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Hero Background Image</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
202
|
+
<span class='label'>asset_type:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Image</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
203
|
+
<span class='label'>dimensions:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1920x1080</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
204
|
+
<span class='label'>usage_rights:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Creative Commons</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
205
|
+
<span class='label'>purpose:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Website header background</span><span class='tstring_end'>"</span></span>
|
206
|
+
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
207
|
+
</code></pre>
|
208
|
+
|
209
|
+
<h2 id="label-Advanced+Usage">Advanced Usage</h2>
|
210
|
+
|
211
|
+
<h3 id="label-Resource+Management">Resource Management</h3>
|
212
|
+
|
213
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Create a new resource
|
214
|
+
</span><span class='id identifier rubyid_resource'>resource</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_create_resource'>create_resource</span><span class='lparen'>(</span>
|
215
|
+
<span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Company Logo</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
216
|
+
<span class='label'>resource_type:</span> <span class='int'>1</span><span class='comma'>,</span>
|
217
|
+
<span class='label'>metadata:</span> <span class='lbrace'>{</span>
|
218
|
+
<span class='int'>12</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>logo, branding, company</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='comment'># Keywords field
|
219
|
+
</span> <span class='int'>51</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Image</span><span class='tstring_end'>"</span></span> <span class='comment'># Custom asset type field
|
220
|
+
</span> <span class='rbrace'>}</span>
|
221
|
+
<span class='rparen'>)</span>
|
222
|
+
|
223
|
+
<span class='comment'># Get resource details
|
224
|
+
</span><span class='id identifier rubyid_details'>details</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_get_resource_data'>get_resource_data</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_id'>resource_id</span><span class='rparen'>)</span>
|
225
|
+
|
226
|
+
<span class='comment'># Update resource metadata
|
227
|
+
</span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_update_field'>update_field</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_id'>resource_id</span><span class='comma'>,</span> <span class='int'>8</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>New Title</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
228
|
+
|
229
|
+
<span class='comment'># Download resource
|
230
|
+
</span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_download_resource'>download_resource</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_id'>resource_id</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/local/path/file.jpg</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
231
|
+
|
232
|
+
<span class='comment'># Get alternative files
|
233
|
+
</span><span class='id identifier rubyid_alternatives'>alternatives</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_get_alternative_files'>get_alternative_files</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_id'>resource_id</span><span class='rparen'>)</span>
|
234
|
+
</code></pre>
|
235
|
+
|
236
|
+
<h3 id="label-Advanced+Search">Advanced Search</h3>
|
237
|
+
|
238
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Advanced search with multiple criteria
|
239
|
+
</span><span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_advanced_search'>advanced_search</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
240
|
+
<span class='label'>title:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>logo</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
241
|
+
<span class='label'>extensions:</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>png</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>svg</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
242
|
+
<span class='label'>from_date:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>2023-01-01</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
243
|
+
<span class='label'>to_date:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>2023-12-31</span><span class='tstring_end'>"</span></span>
|
244
|
+
<span class='rbrace'>}</span><span class='comma'>,</span> <span class='lbrace'>{</span>
|
245
|
+
<span class='label'>order_by:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>date</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
246
|
+
<span class='label'>sort:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>desc</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
247
|
+
<span class='label'>fetchrows:</span> <span class='int'>20</span>
|
248
|
+
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
249
|
+
|
250
|
+
<span class='comment'># Search by date range
|
251
|
+
</span><span class='id identifier rubyid_recent'>recent</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_search_by_date_range'>search_by_date_range</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>2023-01-01</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>2023-12-31</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
252
|
+
|
253
|
+
<span class='comment'># Get recently added resources
|
254
|
+
</span><span class='id identifier rubyid_latest'>latest</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='period'>.</span><span class='id identifier rubyid_recent_resources'>recent_resources</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span>
|
255
|
+
</code></pre>
|
256
|
+
|
257
|
+
<h3 id="label-Collection+Management">Collection Management</h3>
|
258
|
+
|
259
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Create collection
|
260
|
+
</span><span class='id identifier rubyid_collection'>collection</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_create_collection'>create_collection</span><span class='lparen'>(</span>
|
261
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Marketing Assets</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
262
|
+
<span class='label'>public:</span> <span class='kw'>false</span><span class='comma'>,</span>
|
263
|
+
<span class='label'>allow_changes:</span> <span class='kw'>true</span>
|
264
|
+
<span class='rparen'>)</span>
|
265
|
+
|
266
|
+
<span class='comment'># Add multiple resources
|
267
|
+
</span><span class='id identifier rubyid_resource_ids'>resource_ids</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>123</span><span class='comma'>,</span> <span class='int'>124</span><span class='comma'>,</span> <span class='int'>125</span><span class='rbracket'>]</span>
|
268
|
+
<span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_add_resources_to_collection'>add_resources_to_collection</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_ids'>resource_ids</span><span class='comma'>,</span> <span class='id identifier rubyid_collection_id'>collection_id</span><span class='rparen'>)</span>
|
269
|
+
|
270
|
+
<span class='comment'># Search public collections
|
271
|
+
</span><span class='id identifier rubyid_public_collections'>public_collections</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_collections'>collections</span><span class='period'>.</span><span class='id identifier rubyid_search_public_collections'>search_public_collections</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>web</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
272
|
+
</code></pre>
|
273
|
+
|
274
|
+
<h3 id="label-User+-26+Permissions">User & Permissions</h3>
|
275
|
+
|
276
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Check user capabilities
|
277
|
+
</span><span class='id identifier rubyid_capabilities'>capabilities</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_users'>users</span><span class='period'>.</span><span class='id identifier rubyid_capabilities'>capabilities</span>
|
278
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Can upload: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_capabilities'>capabilities</span><span class='lbracket'>[</span><span class='symbol'>:upload</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
279
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Can edit: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_capabilities'>capabilities</span><span class='lbracket'>[</span><span class='symbol'>:edit_resources</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
280
|
+
|
281
|
+
<span class='comment'># Check specific permissions
|
282
|
+
</span><span class='id identifier rubyid_can_download'>can_download</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_users'>users</span><span class='period'>.</span><span class='id identifier rubyid_can_download?'>can_download?</span>
|
283
|
+
<span class='id identifier rubyid_has_admin'>has_admin</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_users'>users</span><span class='period'>.</span><span class='id identifier rubyid_admin?'>admin?</span>
|
284
|
+
|
285
|
+
<span class='comment'># Check resource-specific permissions
|
286
|
+
</span><span class='id identifier rubyid_can_edit_resource'>can_edit_resource</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_users'>users</span><span class='period'>.</span><span class='id identifier rubyid_can_edit_resource?'>can_edit_resource?</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_id'>resource_id</span><span class='rparen'>)</span>
|
287
|
+
</code></pre>
|
288
|
+
|
289
|
+
<h2 id="label-Configuration+Options">Configuration Options</h2>
|
290
|
+
|
291
|
+
<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configure'><span class='object_link'><a href="ResourceSpace.html#configure-class_method" title="ResourceSpace.configure (method)">configure</a></span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_config'>config</span><span class='op'>|</span>
|
292
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>https://your-resourcespace.com/api/</span><span class='tstring_end'>"</span></span> <span class='comment'># Required
|
293
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_user'>user</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>username</span><span class='tstring_end'>"</span></span> <span class='comment'># Required
|
294
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_private_key'>private_key</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>your_private_key</span><span class='tstring_end'>"</span></span> <span class='comment'># Required
|
295
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_timeout'>timeout</span> <span class='op'>=</span> <span class='int'>30</span> <span class='comment'># Request timeout (seconds)
|
296
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_retries'>retries</span> <span class='op'>=</span> <span class='int'>3</span> <span class='comment'># Number of retry attempts
|
297
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_verify_ssl'>verify_ssl</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='comment'># Verify SSL certificates
|
298
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_auth_mode'>auth_mode</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>userkey</span><span class='tstring_end'>"</span></span> <span class='comment'># Authentication mode
|
299
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='comment'># Enable debug logging
|
300
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span> <span class='op'>=</span> <span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'>STDOUT</span><span class='rparen'>)</span> <span class='comment'># Custom logger
|
301
|
+
</span><span class='kw'>end</span>
|
302
|
+
</code></pre>
|
303
|
+
|
304
|
+
<h2 id="label-Error+Handling">Error Handling</h2>
|
305
|
+
|
306
|
+
<p>The gem provides specific exception types for different error conditions:</p>
|
307
|
+
|
308
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>begin</span>
|
309
|
+
<span class='id identifier rubyid_resource'>resource</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_get_resource_data'>get_resource_data</span><span class='lparen'>(</span><span class='int'>999</span><span class='rparen'>)</span>
|
310
|
+
<span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/NotFoundError.html" title="ResourceSpace::NotFoundError (class)">NotFoundError</a></span></span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
311
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Resource not found: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
312
|
+
<span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/AuthenticationError.html" title="ResourceSpace::AuthenticationError (class)">AuthenticationError</a></span></span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
313
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Authentication failed: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
314
|
+
<span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/AuthorizationError.html" title="ResourceSpace::AuthorizationError (class)">AuthorizationError</a></span></span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
315
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Access denied: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
316
|
+
<span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/ValidationError.html" title="ResourceSpace::ValidationError (class)">ValidationError</a></span></span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
317
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Invalid data: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
318
|
+
<span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/ServerError.html" title="ResourceSpace::ServerError (class)">ServerError</a></span></span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
319
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Server error: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
320
|
+
<span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/NetworkError.html" title="ResourceSpace::NetworkError (class)">NetworkError</a></span></span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
321
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Network error: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
322
|
+
<span class='kw'>end</span>
|
323
|
+
</code></pre>
|
324
|
+
|
325
|
+
<h2 id="label-Rails+Integration">Rails Integration</h2>
|
326
|
+
|
327
|
+
<p>For Rails applications, add an initializer:</p>
|
328
|
+
|
329
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># config/initializers/resourcespace.rb
|
330
|
+
</span><span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configure'><span class='object_link'><a href="ResourceSpace.html#configure-class_method" title="ResourceSpace.configure (method)">configure</a></span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_config'>config</span><span class='op'>|</span>
|
331
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RESOURCESPACE_URL</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
332
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_user'>user</span> <span class='op'>=</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RESOURCESPACE_USER</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
333
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_private_key'>private_key</span> <span class='op'>=</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RESOURCESPACE_PRIVATE_KEY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
334
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_timeout'>timeout</span> <span class='op'>=</span> <span class='int'>30</span>
|
335
|
+
<span class='kw'>end</span>
|
336
|
+
</code></pre>
|
337
|
+
|
338
|
+
<p>Then use in your application:</p>
|
339
|
+
|
340
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>AssetsController</span> <span class='op'><</span> <span class='const'>ApplicationController</span>
|
341
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_upload'>upload</span>
|
342
|
+
<span class='id identifier rubyid_client'>client</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="ResourceSpace.html" title="ResourceSpace (module)">ResourceSpace</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ResourceSpace/Client.html" title="ResourceSpace::Client (class)">Client</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="ResourceSpace/Client.html#initialize-instance_method" title="ResourceSpace::Client#initialize (method)">new</a></span></span>
|
343
|
+
<span class='id identifier rubyid_uploaded'>uploaded</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_resources'>resources</span><span class='period'>.</span><span class='id identifier rubyid_upload_file'>upload_file</span><span class='lparen'>(</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:file</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
344
|
+
|
345
|
+
<span class='comment'># Store reference in your model
|
346
|
+
</span> <span class='ivar'>@asset</span> <span class='op'>=</span> <span class='const'>Asset</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span>
|
347
|
+
<span class='label'>name:</span> <span class='id identifier rubyid_uploaded'>uploaded</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>title</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
348
|
+
<span class='label'>resourcespace_id:</span> <span class='id identifier rubyid_uploaded'>uploaded</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ref</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
349
|
+
<span class='label'>file_type:</span> <span class='id identifier rubyid_uploaded'>uploaded</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>file_extension</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
350
|
+
<span class='rparen'>)</span>
|
351
|
+
<span class='kw'>end</span>
|
352
|
+
<span class='kw'>end</span>
|
353
|
+
</code></pre>
|
354
|
+
|
355
|
+
<h2 id="label-Testing">Testing</h2>
|
356
|
+
|
357
|
+
<p>Run the test suite:</p>
|
358
|
+
|
359
|
+
<pre class="code ruby"><code class="ruby">$ bundle exec rspec
|
360
|
+
</code></pre>
|
361
|
+
|
362
|
+
<p>Run tests with coverage:</p>
|
363
|
+
|
364
|
+
<pre class="code ruby"><code class="ruby">$ COVERAGE=1 bundle exec rspec
|
365
|
+
</code></pre>
|
366
|
+
|
367
|
+
<h2 id="label-Development">Development</h2>
|
368
|
+
|
369
|
+
<p>After checking out the repo, run:</p>
|
370
|
+
|
371
|
+
<pre class="code ruby"><code class="ruby">$ bin/setup
|
372
|
+
$ bundle exec rake spec
|
373
|
+
</code></pre>
|
374
|
+
|
375
|
+
<p>To install this gem onto your local machine:</p>
|
376
|
+
|
377
|
+
<pre class="code ruby"><code class="ruby">$ bundle exec rake install
|
378
|
+
</code></pre>
|
379
|
+
|
380
|
+
<h2 id="label-Contributing">Contributing</h2>
|
381
|
+
<ol><li>
|
382
|
+
<p>Fork it</p>
|
383
|
+
</li><li>
|
384
|
+
<p>Create your feature branch (<code>git checkout -b my-new-feature</code>)</p>
|
385
|
+
</li><li>
|
386
|
+
<p>Commit your changes (<code>git commit -am 'Add some feature'</code>)</p>
|
387
|
+
</li><li>
|
388
|
+
<p>Push to the branch (<code>git push origin my-new-feature</code>)</p>
|
389
|
+
</li><li>
|
390
|
+
<p>Create new Pull Request</p>
|
391
|
+
</li></ol>
|
392
|
+
|
393
|
+
<h2 id="label-API+Reference">API Reference</h2>
|
394
|
+
|
395
|
+
<p>For complete API documentation, see the <a href="https://www.resourcespace.com/knowledge-base/api/">ResourceSpace API documentation</a>.</p>
|
396
|
+
|
397
|
+
<h2 id="label-License">License</h2>
|
398
|
+
|
399
|
+
<p>The gem is available as open source under the terms of the <a href="https://opensource.org/licenses/MIT">MIT License</a>.</p>
|
400
|
+
|
401
|
+
<h2 id="label-Support">Support</h2>
|
402
|
+
<ul><li>
|
403
|
+
<p>Documentation: <a href="https://rubydoc.info/gems/resourcespace-ruby">rubydoc.info/gems/resourcespace-ruby</a></p>
|
404
|
+
</li><li>
|
405
|
+
<p>Issues: <a href="https://github.com/mandelbro/resourcespace-ruby/issues">github.com/mandelbro/resourcespace-ruby/issues</a></p>
|
406
|
+
</li><li>
|
407
|
+
<p>ResourceSpace Documentation: <a href="https://www.resourcespace.com/knowledge-base/">www.resourcespace.com/knowledge-base/</a></p>
|
408
|
+
</li></ul>
|
409
|
+
</div></div>
|
410
|
+
|
411
|
+
<div id="footer">
|
412
|
+
Generated on Sat May 24 15:41:23 2025 by
|
413
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
414
|
+
0.9.37 (ruby-3.4.4).
|
415
|
+
</div>
|
416
|
+
|
417
|
+
</div>
|
418
|
+
</body>
|
419
|
+
</html>
|
data/doc/file_list.html
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html >
|
3
|
+
<head>
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
|
+
<meta charset="utf-8" />
|
6
|
+
|
7
|
+
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" />
|
8
|
+
|
9
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" />
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
14
|
+
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
16
|
+
|
17
|
+
|
18
|
+
<title>File List</title>
|
19
|
+
<base id="base_target" target="_parent" />
|
20
|
+
</head>
|
21
|
+
<body>
|
22
|
+
<div id="content">
|
23
|
+
<div class="fixed_header">
|
24
|
+
<h1 id="full_list_header">File List</h1>
|
25
|
+
<div id="full_list_nav">
|
26
|
+
|
27
|
+
<span><a target="_self" href="class_list.html">
|
28
|
+
Classes
|
29
|
+
</a></span>
|
30
|
+
|
31
|
+
<span><a target="_self" href="method_list.html">
|
32
|
+
Methods
|
33
|
+
</a></span>
|
34
|
+
|
35
|
+
<span><a target="_self" href="file_list.html">
|
36
|
+
Files
|
37
|
+
</a></span>
|
38
|
+
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="search">
|
42
|
+
<label for="search-class">Search:</label>
|
43
|
+
<input id="search-class" type="text" />
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<ul id="full_list" class="file">
|
48
|
+
|
49
|
+
|
50
|
+
<li id="object_README" class="odd">
|
51
|
+
<div class="item"><span class="object_link"><a href="index.html" title="README">README</a></span></div>
|
52
|
+
</li>
|
53
|
+
|
54
|
+
|
55
|
+
<li id="object_CHANGELOG" class="even">
|
56
|
+
<div class="item"><span class="object_link"><a href="file.CHANGELOG.html" title="CHANGELOG">CHANGELOG</a></span></div>
|
57
|
+
</li>
|
58
|
+
|
59
|
+
|
60
|
+
<li id="object_LICENSE" class="odd">
|
61
|
+
<div class="item"><span class="object_link"><a href="file.LICENSE.html" title="LICENSE">LICENSE</a></span></div>
|
62
|
+
</li>
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</ul>
|
67
|
+
</div>
|
68
|
+
</body>
|
69
|
+
</html>
|
data/doc/frames.html
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Documentation by YARD 0.9.37</title>
|
6
|
+
</head>
|
7
|
+
<script type="text/javascript">
|
8
|
+
var mainUrl = 'index.html';
|
9
|
+
try {
|
10
|
+
var match = decodeURIComponent(window.location.hash).match(/^#!(.+)/);
|
11
|
+
var name = match ? match[1] : mainUrl;
|
12
|
+
var url = new URL(name, location.href);
|
13
|
+
window.top.location.replace(url.origin === location.origin ? name : mainUrl);
|
14
|
+
} catch (e) {
|
15
|
+
window.top.location.replace(mainUrl);
|
16
|
+
}
|
17
|
+
</script>
|
18
|
+
<noscript>
|
19
|
+
<h1>Oops!</h1>
|
20
|
+
<h2>YARD requires JavaScript!</h2>
|
21
|
+
</noscript>
|
22
|
+
</html>
|