contentful 0.1.0 → 0.1.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.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/ChangeLog.md +6 -0
  4. data/Gemfile +5 -0
  5. data/README.md +1 -0
  6. data/contentful.gemspec +1 -1
  7. data/lib/contentful/array.rb +1 -2
  8. data/lib/contentful/asset.rb +3 -3
  9. data/lib/contentful/client.rb +15 -18
  10. data/lib/contentful/content_type.rb +1 -1
  11. data/lib/contentful/dynamic_entry.rb +6 -6
  12. data/lib/contentful/entry.rb +1 -1
  13. data/lib/contentful/error.rb +3 -3
  14. data/lib/contentful/field.rb +1 -1
  15. data/lib/contentful/file.rb +1 -1
  16. data/lib/contentful/link.rb +2 -2
  17. data/lib/contentful/locale.rb +1 -1
  18. data/lib/contentful/location.rb +1 -1
  19. data/lib/contentful/resource.rb +10 -11
  20. data/lib/contentful/resource_builder.rb +63 -39
  21. data/lib/contentful/space.rb +1 -1
  22. data/lib/contentful/support.rb +5 -3
  23. data/lib/contentful/version.rb +1 -1
  24. data/spec/fixtures/json_responses/includes.json +111 -0
  25. data/spec/fixtures/json_responses/link_array.json +43 -0
  26. data/spec/resource_building_spec.rb +20 -0
  27. data/spec/spec_helper.rb +5 -1
  28. metadata +138 -192
  29. data/.README.md.swp +0 -0
  30. data/do_request.sh +0 -5
  31. data/doc/Contentful.html +0 -131
  32. data/doc/Contentful/AccessDenied.html +0 -158
  33. data/doc/Contentful/Array.html +0 -346
  34. data/doc/Contentful/Asset.html +0 -315
  35. data/doc/Contentful/BadRequest.html +0 -158
  36. data/doc/Contentful/Client.html +0 -1407
  37. data/doc/Contentful/ContentType.html +0 -183
  38. data/doc/Contentful/DynamicEntry.html +0 -333
  39. data/doc/Contentful/Entry.html +0 -198
  40. data/doc/Contentful/Error.html +0 -413
  41. data/doc/Contentful/Field.html +0 -161
  42. data/doc/Contentful/File.html +0 -160
  43. data/doc/Contentful/Link.html +0 -275
  44. data/doc/Contentful/Locale.html +0 -161
  45. data/doc/Contentful/NotFound.html +0 -158
  46. data/doc/Contentful/Request.html +0 -669
  47. data/doc/Contentful/Resource.html +0 -606
  48. data/doc/Contentful/Resource/AssetFields.html +0 -413
  49. data/doc/Contentful/Resource/AssetFields/ClassMethods.html +0 -174
  50. data/doc/Contentful/Resource/ClassMethods.html +0 -271
  51. data/doc/Contentful/Resource/Fields.html +0 -398
  52. data/doc/Contentful/Resource/Fields/ClassMethods.html +0 -187
  53. data/doc/Contentful/Resource/SystemProperties.html +0 -444
  54. data/doc/Contentful/Resource/SystemProperties/ClassMethods.html +0 -174
  55. data/doc/Contentful/ResourceBuilder.html +0 -1400
  56. data/doc/Contentful/Response.html +0 -546
  57. data/doc/Contentful/ServerError.html +0 -158
  58. data/doc/Contentful/Space.html +0 -183
  59. data/doc/Contentful/Support.html +0 -198
  60. data/doc/Contentful/Unauthorized.html +0 -158
  61. data/doc/Contentful/UnparsableJson.html +0 -158
  62. data/doc/Contentful/UnparsableResource.html +0 -158
  63. data/doc/_index.html +0 -410
  64. data/doc/class_list.html +0 -54
  65. data/doc/css/common.css +0 -1
  66. data/doc/css/full_list.css +0 -57
  67. data/doc/css/style.css +0 -338
  68. data/doc/file.README.html +0 -214
  69. data/doc/file_list.html +0 -56
  70. data/doc/frames.html +0 -26
  71. data/doc/index.html +0 -214
  72. data/doc/js/app.js +0 -219
  73. data/doc/js/full_list.js +0 -178
  74. data/doc/js/jquery.js +0 -4
  75. data/doc/method_list.html +0 -533
  76. data/doc/top-level-namespace.html +0 -112
data/doc/file_list.html DELETED
@@ -1,56 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html>
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
-
7
- <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
-
9
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
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
- <script type="text/javascript" charset="utf-8">
23
- if (window.top.frames.main) {
24
- document.getElementById('base_target').target = 'main';
25
- document.body.className = 'frames';
26
- }
27
- </script>
28
- <div id="content">
29
- <h1 id="full_list_header">File List</h1>
30
- <div id="nav">
31
-
32
- <span><a target="_self" href="class_list.html">
33
- Classes
34
- </a></span>
35
-
36
- <span><a target="_self" href="method_list.html">
37
- Methods
38
- </a></span>
39
-
40
- <span><a target="_self" href="file_list.html">
41
- Files
42
- </a></span>
43
-
44
- </div>
45
- <div id="search">Search: <input type="text" /></div>
46
-
47
- <ul id="full_list" class="file">
48
-
49
-
50
- <li class="r1"><span class="object_link"><a href="index.html" title="README">README</a></a></li>
51
-
52
-
53
- </ul>
54
- </div>
55
- </body>
56
- </html>
data/doc/frames.html DELETED
@@ -1,26 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
- <title>Documentation by YARD 0.8.7.3</title>
8
- </head>
9
- <script type="text/javascript" charset="utf-8">
10
- window.onload = function() {
11
- var match = unescape(window.location.hash).match(/^#!(.+)/);
12
- var name = match ? match[1] : 'index.html';
13
- name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
14
- document.writeln('<frameset cols="20%,*">' +
15
- '<frame name="list" src="class_list.html" />' +
16
- '<frame name="main" src="' + escape(name) + '" />' +
17
- '</frameset>');
18
- }
19
- </script>
20
- <noscript>
21
- <frameset cols="20%,*">
22
- <frame name="list" src="class_list.html" />
23
- <frame name="main" src="index.html" />
24
- </frameset>
25
- </noscript>
26
- </html>
data/doc/index.html DELETED
@@ -1,214 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII" />
6
- <title>
7
- File: README
8
-
9
- &mdash; Documentation by YARD 0.8.7.3
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '';
20
- framesUrl = "frames.html#!" + escape(window.location.href);
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="_index.html">Index</a> &raquo;
35
- <span class="title">File: README</span>
36
-
37
-
38
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
- </div>
40
-
41
- <div id="search">
42
-
43
- <a class="full_list_link" id="class_list_link"
44
- href="class_list.html">
45
- Class List
46
- </a>
47
-
48
- <a class="full_list_link" id="method_list_link"
49
- href="method_list.html">
50
- Method List
51
- </a>
52
-
53
- <a class="full_list_link" id="file_list_link"
54
- href="file_list.html">
55
- File List
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <iframe id="search_frame"></iframe>
63
-
64
- <div id="content"><div id='filecontents'><h1>contentful.rb</h1>
65
-
66
- <p>Ruby client for the <a href="https://www.contentful.com">Contentful</a> Content Delivery API.</p>
67
-
68
- <p><a href="https://www.contentful.com">Contentful</a> is a content management platform for web applications, mobile apps and connected devices. It allows you to create, edit &amp; manage content in the cloud and publish it anywhere via powerful API. Contentful offers tools for managing editorial teams and enabling cooperation between organizations.</p>
69
-
70
- <h2>Setup</h2>
71
-
72
- <p>Add to your Gemfile and bundle:</p>
73
-
74
- <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'>contentful</span><span class='tstring_end'>'</span></span>
75
- </code></pre>
76
-
77
- <h2>Usage</h2>
78
-
79
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_client'>client</span> <span class='op'>=</span> <span class='const'>Contentful</span><span class='op'>::</span><span class='const'>Client</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
80
- <span class='label'>access_token:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>b4c0n73n7fu1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
81
- <span class='label'>space:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cfexampleapi</span><span class='tstring_end'>'</span></span>
82
- <span class='rparen'>)</span>
83
- </code></pre>
84
-
85
- <p>You can query for entries, assets, etc. very similar as described in the
86
- <a href="https://www.contentful.com/developers/documentation/content-delivery-api/">Delivery API Documentation</a>. Please note, that all methods of the Ruby client library are snake_cased, instead of JavaScript&#39;s camelCase:</p>
87
-
88
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_content_types'>content_types</span>
89
- <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entry'>entry</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>nyancat</span><span class='tstring_end'>'</span></span>
90
- </code></pre>
91
-
92
- <p>You can pass the usual filter options to the query:</p>
93
-
94
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entries'>entries</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>sys.id[ne]</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>nyancat</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># query for all entries except 'nyancat'
95
- </span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entries'>entries</span><span class='lparen'>(</span><span class='label'>include:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='comment'># include one level of linked resources
96
- </span></code></pre>
97
-
98
- <p>The results are returned as Contentful::Resource objects. Multiple results will be returned as Contentful::Array. By combining skip and limit you can achieve pagination:</p>
99
-
100
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entries'>entries</span><span class='lparen'>(</span><span class='label'>skip:</span> <span class='int'>0</span><span class='comma'>,</span> <span class='label'>limit:</span> <span class='int'>15</span><span class='rparen'>)</span> <span class='comment'># page 1
101
- </span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entries'>entries</span><span class='lparen'>(</span><span class='label'>skip:</span> <span class='int'>15</span><span class='comma'>,</span> <span class='label'>limit:</span> <span class='int'>30</span><span class='rparen'>)</span> <span class='comment'># page 2
102
- </span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entries'>entries</span><span class='lparen'>(</span><span class='label'>skip:</span> <span class='int'>30</span><span class='comma'>,</span> <span class='label'>limit:</span> <span class='int'>45</span><span class='rparen'>)</span> <span class='comment'># page 3 etc.
103
- </span></code></pre>
104
-
105
- <p>The properties of a resource can be accessed through Ruby methods. Alternatively the data can be accessed as Ruby Hash.</p>
106
-
107
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cat</span><span class='tstring_end'>'</span></span>
108
- <span class='id identifier rubyid_content_type'>content_type</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span> <span class='comment'># &quot;Meow.&quot;
109
- </span><span class='id identifier rubyid_content_type'>content_type</span><span class='period'>.</span><span class='id identifier rubyid_properties'>properties</span> <span class='comment'># { name: '...', description: '...' }
110
- </span></code></pre>
111
-
112
- <p>System Properties behave in the same way and can be accessed with the <code>#sys</code> method.</p>
113
-
114
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_content_type'>content_type</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span> <span class='comment'># =&gt; 'cat'
115
- </span><span class='id identifier rubyid_entry'>entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span> <span class='comment'># =&gt; 'Entry'
116
- </span><span class='id identifier rubyid_asset'>asset</span><span class='period'>.</span><span class='id identifier rubyid_sys'>sys</span> <span class='comment'># { id: '...', type: '...' }
117
- </span></code></pre>
118
-
119
- <p>Entry Fields usually don&#39;t have direct method accessors, since they are based on individual content types. These fields can be accessed through the <code>#fields</code> method.</p>
120
-
121
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_entry'>entry</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entry'>entry</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>nyancat</span><span class='tstring_end'>'</span></span>
122
- <span class='id identifier rubyid_entry'>entry</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='symbol'>:color</span><span class='rbracket'>]</span> <span class='comment'># rainbow
123
- </span></code></pre>
124
-
125
- <h3>Dynamic Entries</h3>
126
-
127
- <p>However, you can set <code>:dynamic_entries</code> to <code>:auto</code> in your client configuration (see below). If using this option, the client will fetch all available content types and use them to create dynamic entries on the fly.</p>
128
-
129
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_client'>client</span> <span class='op'>=</span> <span class='const'>Contentful</span><span class='op'>::</span><span class='const'>Client</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
130
- <span class='label'>access_token:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>b4c0n73n7fu1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
131
- <span class='label'>space:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cfexampleapi</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
132
- <span class='label'>dynamic_entries:</span> <span class='symbol'>:auto</span><span class='comma'>,</span>
133
- <span class='rparen'>)</span>
134
- <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entry'>entry</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>nyancat</span><span class='tstring_end'>'</span></span> <span class='comment'># =&gt; #&lt;Contentful::DynamicEntry[cat]: ...&gt;
135
- </span></code></pre>
136
-
137
- <p>The previous example fetches all content_types on initialization. If you want to do it by hand, you will need to set the option to <code>:manual</code> and call <code>client.update_dynamic_entry_cache!</code> to fetch all content types.</p>
138
-
139
- <h3>Links</h3>
140
-
141
- <p>You can easily request a resource that is represented by a link, by calling <code>#resolve</code>:</p>
142
-
143
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_happycat'>happycat</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_entry'>entry</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>happycat</span><span class='tstring_end'>'</span></span>
144
- <span class='id identifier rubyid_happycat'>happycat</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='symbol'>:image</span><span class='rbracket'>]</span>
145
- <span class='comment'># =&gt; #&lt;Contentful::Link: @sys={:type=&gt;&quot;Link&quot;, :linkType=&gt;&quot;Asset&quot;, :id=&gt;&quot;happycat&quot;}&gt;
146
- </span><span class='id identifier rubyid_happycat'>happycat</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='symbol'>:image</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_resolve'>resolve</span> <span class='comment'># =&gt; #&lt;Contentful::Asset: @fields={ ...
147
- </span></code></pre>
148
-
149
- <h3>Assets</h3>
150
-
151
- <p>There is a helpful method for adding the image resize options for an asset image:</p>
152
-
153
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>happycat</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_image_url'>image_url</span>
154
- <span class='comment'># =&gt; &quot;//images.contentful.com/cfexampleapi/3MZPnjZTIskAIIkuuosCss/382a48dfa2cb16c47aa2c72f7b23bf09/happycatw.jpg&quot;
155
- </span>
156
- <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>happycat</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_image_url'>image_url</span> <span class='label'>width:</span> <span class='int'>300</span><span class='comma'>,</span> <span class='label'>height:</span> <span class='int'>200</span><span class='comma'>,</span> <span class='label'>format:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>jpg</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>quality:</span> <span class='int'>100</span>
157
- <span class='comment'># =&gt; &quot;//images.contentful.com/cfexampleapi/3MZPnjZTIskAIIkuuosCss/382a48dfa2cb16c47aa2c72f7b23bf09/happycatw.jpg?w=300&amp;h=200&amp;fm=jpg&amp;q=100&quot;
158
- </span></code></pre>
159
-
160
- <h2>Configuration Options</h2>
161
-
162
- <h3>:space</h3>
163
-
164
- <p>Required option. The name of the space you want to access.</p>
165
-
166
- <h3>:access_token</h3>
167
-
168
- <p>Required option. The space&#39;s secret token.</p>
169
-
170
- <h3>:secure</h3>
171
-
172
- <p>Whether to use https. Defaults to <code>true</code>.</p>
173
-
174
- <h3>:authentication_mechanism</h3>
175
-
176
- <p>How to authenticate with the API. Supports <code>:header</code> (default) or <code>:query_string</code>.</p>
177
-
178
- <h3>:raise_errors</h3>
179
-
180
- <p>If set to <code>true</code> (default), error responses will be raised. If set to <code>false</code>, the error objects will simply be returned.</p>
181
-
182
- <h3>:dynamic_entries</h3>
183
-
184
- <p><code>false</code>, <code>:auto</code> or <code>:manual</code>. See resource description above for details on usage.</p>
185
-
186
- <h3>:raw_mode</h3>
187
-
188
- <p>Defaults to <code>false</code>. If enabled, the API responses will not be parsed to resource objects. Might be useful for debugging.</p>
189
-
190
- <h2>Advanced</h2>
191
-
192
- <h3>Dynamic Entries</h3>
193
-
194
- <p>In <code>:dynamic_entries</code> mode (see above), all entries are returned as specialized entry classes. However, you can also create these specialized classes by yourself, based on a content_type:</p>
195
-
196
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>=</span> <span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>nyancat</span><span class='tstring_end'>'</span></span>
197
- <span class='const'>MyEntry</span> <span class='op'>=</span> <span class='const'>Contentful</span><span class='op'>::</span><span class='const'>DynamicEntry</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_content_type'>content_type</span><span class='rparen'>)</span>
198
- </code></pre>
199
-
200
- <p>It is also possible to pass in the raw content_type JSON string, as returned from the api. See the RDOC for more details.</p>
201
-
202
- <h2>License</h2>
203
-
204
- <p>Copyright (c) 2014 Contentful GmbH - Jan Lelis. See LICENSE.txt for further details.</p>
205
- </div></div>
206
-
207
- <div id="footer">
208
- Generated on Tue Mar 11 09:25:52 2014 by
209
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
210
- 0.8.7.3 (ruby-1.9.3).
211
- </div>
212
-
213
- </body>
214
- </html>
data/doc/js/app.js DELETED
@@ -1,219 +0,0 @@
1
- function createSourceLinks() {
2
- $('.method_details_list .source_code').
3
- before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
4
- $('.toggleSource').toggle(function() {
5
- $(this).parent().nextAll('.source_code').slideDown(100);
6
- $(this).text("Hide source");
7
- },
8
- function() {
9
- $(this).parent().nextAll('.source_code').slideUp(100);
10
- $(this).text("View source");
11
- });
12
- }
13
-
14
- function createDefineLinks() {
15
- var tHeight = 0;
16
- $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
17
- $('.toggleDefines').toggle(function() {
18
- tHeight = $(this).parent().prev().height();
19
- $(this).prev().show();
20
- $(this).parent().prev().height($(this).parent().height());
21
- $(this).text("(less)");
22
- },
23
- function() {
24
- $(this).prev().hide();
25
- $(this).parent().prev().height(tHeight);
26
- $(this).text("more...");
27
- });
28
- }
29
-
30
- function createFullTreeLinks() {
31
- var tHeight = 0;
32
- $('.inheritanceTree').toggle(function() {
33
- tHeight = $(this).parent().prev().height();
34
- $(this).parent().toggleClass('showAll');
35
- $(this).text("(hide)");
36
- $(this).parent().prev().height($(this).parent().height());
37
- },
38
- function() {
39
- $(this).parent().toggleClass('showAll');
40
- $(this).parent().prev().height(tHeight);
41
- $(this).text("show all");
42
- });
43
- }
44
-
45
- function fixBoxInfoHeights() {
46
- $('dl.box dd.r1, dl.box dd.r2').each(function() {
47
- $(this).prev().height($(this).height());
48
- });
49
- }
50
-
51
- function searchFrameLinks() {
52
- $('.full_list_link').click(function() {
53
- toggleSearchFrame(this, $(this).attr('href'));
54
- return false;
55
- });
56
- }
57
-
58
- function toggleSearchFrame(id, link) {
59
- var frame = $('#search_frame');
60
- $('#search a').removeClass('active').addClass('inactive');
61
- if (frame.attr('src') == link && frame.css('display') != "none") {
62
- frame.slideUp(100);
63
- $('#search a').removeClass('active inactive');
64
- }
65
- else {
66
- $(id).addClass('active').removeClass('inactive');
67
- frame.attr('src', link).slideDown(100);
68
- }
69
- }
70
-
71
- function linkSummaries() {
72
- $('.summary_signature').click(function() {
73
- document.location = $(this).find('a').attr('href');
74
- });
75
- }
76
-
77
- function framesInit() {
78
- if (hasFrames) {
79
- document.body.className = 'frames';
80
- $('#menu .noframes a').attr('href', document.location);
81
- try {
82
- window.top.document.title = $('html head title').text();
83
- } catch(error) {
84
- // some browsers will not allow this when serving from file://
85
- // but we don't want to stop the world.
86
- }
87
- }
88
- else {
89
- $('#menu .noframes a').text('frames').attr('href', framesUrl);
90
- }
91
- }
92
-
93
- function keyboardShortcuts() {
94
- if (window.top.frames.main) return;
95
- $(document).keypress(function(evt) {
96
- if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return;
97
- if (typeof evt.target !== "undefined" &&
98
- (evt.target.nodeName == "INPUT" ||
99
- evt.target.nodeName == "TEXTAREA")) return;
100
- switch (evt.charCode) {
101
- case 67: case 99: $('#class_list_link').click(); break; // 'c'
102
- case 77: case 109: $('#method_list_link').click(); break; // 'm'
103
- case 70: case 102: $('#file_list_link').click(); break; // 'f'
104
- default: break;
105
- }
106
- });
107
- }
108
-
109
- function summaryToggle() {
110
- $('.summary_toggle').click(function() {
111
- if (localStorage) {
112
- localStorage.summaryCollapsed = $(this).text();
113
- }
114
- $('.summary_toggle').each(function() {
115
- $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
116
- var next = $(this).parent().parent().nextAll('ul.summary').first();
117
- if (next.hasClass('compact')) {
118
- next.toggle();
119
- next.nextAll('ul.summary').first().toggle();
120
- }
121
- else if (next.hasClass('summary')) {
122
- var list = $('<ul class="summary compact" />');
123
- list.html(next.html());
124
- list.find('.summary_desc, .note').remove();
125
- list.find('a').each(function() {
126
- $(this).html($(this).find('strong').html());
127
- $(this).parent().html($(this)[0].outerHTML);
128
- });
129
- next.before(list);
130
- next.toggle();
131
- }
132
- });
133
- return false;
134
- });
135
- if (localStorage) {
136
- if (localStorage.summaryCollapsed == "collapse") {
137
- $('.summary_toggle').first().click();
138
- }
139
- else localStorage.summaryCollapsed = "expand";
140
- }
141
- }
142
-
143
- function fixOutsideWorldLinks() {
144
- $('a').each(function() {
145
- if (window.location.host != this.host) this.target = '_parent';
146
- });
147
- }
148
-
149
- function generateTOC() {
150
- if ($('#filecontents').length === 0) return;
151
- var _toc = $('<ol class="top"></ol>');
152
- var show = false;
153
- var toc = _toc;
154
- var counter = 0;
155
- var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
156
- var i;
157
- if ($('#filecontents h1').length > 1) tags.unshift('h1');
158
- for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
159
- var lastTag = parseInt(tags[0][1], 10);
160
- $(tags.join(', ')).each(function() {
161
- if ($(this).parents('.method_details .docstring').length != 0) return;
162
- if (this.id == "filecontents") return;
163
- show = true;
164
- var thisTag = parseInt(this.tagName[1], 10);
165
- if (this.id.length === 0) {
166
- var proposedId = $(this).attr('toc-id');
167
- if (typeof(proposedId) != "undefined") this.id = proposedId;
168
- else {
169
- var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
170
- if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
171
- this.id = proposedId;
172
- }
173
- }
174
- if (thisTag > lastTag) {
175
- for (i = 0; i < thisTag - lastTag; i++) {
176
- var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
177
- }
178
- }
179
- if (thisTag < lastTag) {
180
- for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
181
- }
182
- var title = $(this).attr('toc-title');
183
- if (typeof(title) == "undefined") title = $(this).text();
184
- toc.append('<li><a href="#' + this.id + '">' + title + '</a></li>');
185
- lastTag = thisTag;
186
- });
187
- if (!show) return;
188
- html = '<div id="toc"><p class="title"><a class="hide_toc" href="#"><strong>Table of Contents</strong></a> <small>(<a href="#" class="float_toc">left</a>)</small></p></div>';
189
- $('#content').prepend(html);
190
- $('#toc').append(_toc);
191
- $('#toc .hide_toc').toggle(function() {
192
- $('#toc .top').slideUp('fast');
193
- $('#toc').toggleClass('hidden');
194
- $('#toc .title small').toggle();
195
- }, function() {
196
- $('#toc .top').slideDown('fast');
197
- $('#toc').toggleClass('hidden');
198
- $('#toc .title small').toggle();
199
- });
200
- $('#toc .float_toc').toggle(function() {
201
- $(this).text('float');
202
- $('#toc').toggleClass('nofloat');
203
- }, function() {
204
- $(this).text('left');
205
- $('#toc').toggleClass('nofloat');
206
- });
207
- }
208
-
209
- $(framesInit);
210
- $(createSourceLinks);
211
- $(createDefineLinks);
212
- $(createFullTreeLinks);
213
- $(fixBoxInfoHeights);
214
- $(searchFrameLinks);
215
- $(linkSummaries);
216
- $(keyboardShortcuts);
217
- $(summaryToggle);
218
- $(fixOutsideWorldLinks);
219
- $(generateTOC);