jbasdf-uploader 0.1.8

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 (142) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +323 -0
  3. data/Rakefile +67 -0
  4. data/TODO +3 -0
  5. data/VERSION +1 -0
  6. data/app/controllers/uploader/uploads_controller.rb +126 -0
  7. data/app/helpers/uploader_helper.rb +17 -0
  8. data/app/views/uploads/_swf_javascript.html.erb +63 -0
  9. data/app/views/uploads/_swf_upload.html.erb +32 -0
  10. data/config/uploader_routes.rb +3 -0
  11. data/db/migrate/20090517040220_create_uploads.rb +38 -0
  12. data/lib/active_record/acts/uploader_upload.rb +234 -0
  13. data/lib/daemons/amazonaws.rb +36 -0
  14. data/lib/uploader.rb +24 -0
  15. data/lib/uploader/exceptions.rb +5 -0
  16. data/lib/uploader/initialize_routes.rb +8 -0
  17. data/lib/uploader/middleware/flash_session_cookie_middleware.rb +18 -0
  18. data/lib/uploader/mime_type_groups.rb +18 -0
  19. data/lib/uploader/tasks.rb +42 -0
  20. data/locales/ar.yml +17 -0
  21. data/locales/bg.yml +17 -0
  22. data/locales/ca.yml +17 -0
  23. data/locales/cs.yml +17 -0
  24. data/locales/da.yml +17 -0
  25. data/locales/de.yml +17 -0
  26. data/locales/el.yml +17 -0
  27. data/locales/en.yml +16 -0
  28. data/locales/es.yml +17 -0
  29. data/locales/fr.yml +17 -0
  30. data/locales/it.yml +17 -0
  31. data/locales/iw.yml +17 -0
  32. data/locales/ja.yml +17 -0
  33. data/locales/ko.yml +17 -0
  34. data/locales/lt.yml +17 -0
  35. data/locales/lv.yml +17 -0
  36. data/locales/nl.yml +17 -0
  37. data/locales/no.yml +18 -0
  38. data/locales/pl.yml +17 -0
  39. data/locales/pt.yml +17 -0
  40. data/locales/ro.yml +17 -0
  41. data/locales/ru.yml +17 -0
  42. data/locales/sk.yml +17 -0
  43. data/locales/sl.yml +17 -0
  44. data/locales/sr.yml +17 -0
  45. data/locales/sv.yml +17 -0
  46. data/locales/tl.yml +17 -0
  47. data/locales/uk.yml +17 -0
  48. data/locales/vi.yml +17 -0
  49. data/locales/zh-CN.yml +17 -0
  50. data/locales/zh-TW.yml +17 -0
  51. data/locales/zh.yml +17 -0
  52. data/public/images/SWFUploadButton.png +0 -0
  53. data/public/images/file_icons/excel.gif +0 -0
  54. data/public/images/file_icons/file.gif +0 -0
  55. data/public/images/file_icons/file.png +0 -0
  56. data/public/images/file_icons/file_aac.gif +0 -0
  57. data/public/images/file_icons/file_ai.gif +0 -0
  58. data/public/images/file_icons/file_avi.gif +0 -0
  59. data/public/images/file_icons/file_bin.gif +0 -0
  60. data/public/images/file_icons/file_bmp.gif +0 -0
  61. data/public/images/file_icons/file_cue.gif +0 -0
  62. data/public/images/file_icons/file_divx.gif +0 -0
  63. data/public/images/file_icons/file_doc.gif +0 -0
  64. data/public/images/file_icons/file_eps.gif +0 -0
  65. data/public/images/file_icons/file_flac.gif +0 -0
  66. data/public/images/file_icons/file_flv.gif +0 -0
  67. data/public/images/file_icons/file_gif.gif +0 -0
  68. data/public/images/file_icons/file_html.gif +0 -0
  69. data/public/images/file_icons/file_ical.gif +0 -0
  70. data/public/images/file_icons/file_indd.gif +0 -0
  71. data/public/images/file_icons/file_inx.gif +0 -0
  72. data/public/images/file_icons/file_iso.gif +0 -0
  73. data/public/images/file_icons/file_jpg.gif +0 -0
  74. data/public/images/file_icons/file_mov.gif +0 -0
  75. data/public/images/file_icons/file_mp3.gif +0 -0
  76. data/public/images/file_icons/file_mpg.gif +0 -0
  77. data/public/images/file_icons/file_pdf.gif +0 -0
  78. data/public/images/file_icons/file_php.gif +0 -0
  79. data/public/images/file_icons/file_png.gif +0 -0
  80. data/public/images/file_icons/file_pps.gif +0 -0
  81. data/public/images/file_icons/file_ppt.gif +0 -0
  82. data/public/images/file_icons/file_psd.gif +0 -0
  83. data/public/images/file_icons/file_qxd.gif +0 -0
  84. data/public/images/file_icons/file_qxp.gif +0 -0
  85. data/public/images/file_icons/file_raw.gif +0 -0
  86. data/public/images/file_icons/file_rtf.gif +0 -0
  87. data/public/images/file_icons/file_svg.gif +0 -0
  88. data/public/images/file_icons/file_tif.gif +0 -0
  89. data/public/images/file_icons/file_txt.gif +0 -0
  90. data/public/images/file_icons/file_vcf.gif +0 -0
  91. data/public/images/file_icons/file_wav.gif +0 -0
  92. data/public/images/file_icons/file_wma.gif +0 -0
  93. data/public/images/file_icons/file_xls.gif +0 -0
  94. data/public/images/file_icons/file_xml.gif +0 -0
  95. data/public/images/file_icons/mp3.gif +0 -0
  96. data/public/images/file_icons/pdf.gif +0 -0
  97. data/public/images/file_icons/pdf.png +0 -0
  98. data/public/images/file_icons/text.gif +0 -0
  99. data/public/images/file_icons/text.png +0 -0
  100. data/public/images/file_icons/word.gif +0 -0
  101. data/public/javascripts/swfupload/fileprogress.js +151 -0
  102. data/public/javascripts/swfupload/handlers.js +206 -0
  103. data/public/javascripts/swfupload/swfupload.cookies.js +53 -0
  104. data/public/javascripts/swfupload/swfupload.js +945 -0
  105. data/public/javascripts/swfupload/swfupload.queue.js +77 -0
  106. data/public/javascripts/swfupload/swfupload.swfobject.js +110 -0
  107. data/public/stylesheets/swfupload.css +26 -0
  108. data/public/swf/swfupload.swf +0 -0
  109. data/rails/init.rb +10 -0
  110. data/rdoc/classes/ActionController.html +107 -0
  111. data/rdoc/classes/ActionController/Routing.html +107 -0
  112. data/rdoc/classes/ActionController/Routing/RouteSet.html +148 -0
  113. data/rdoc/classes/ActiveRecord.html +105 -0
  114. data/rdoc/classes/ActiveRecord/Acts/UploaderUpload/ClassMethods.html +186 -0
  115. data/rdoc/classes/ActiveRecord/Acts/UploaderUpload/InstanceMethods.html +750 -0
  116. data/rdoc/classes/ActiveRecord/Acts/UploaderUpload/SingletonMethods.html +111 -0
  117. data/rdoc/classes/Uploader.html +126 -0
  118. data/rdoc/classes/Uploader/Exceptions.html +111 -0
  119. data/rdoc/classes/Uploader/Exceptions/MissingTemplateError.html +111 -0
  120. data/rdoc/classes/Uploader/FlashSessionCookieMiddleware.html +177 -0
  121. data/rdoc/classes/Uploader/MimeTypeGroups.html +143 -0
  122. data/rdoc/classes/Uploader/Tasks.html +146 -0
  123. data/rdoc/created.rid +1 -0
  124. data/rdoc/files/README_rdoc.html +501 -0
  125. data/rdoc/files/lib/active_record/acts/uploader_upload_rb.html +101 -0
  126. data/rdoc/files/lib/uploader/exceptions_rb.html +101 -0
  127. data/rdoc/files/lib/uploader/initialize_routes_rb.html +101 -0
  128. data/rdoc/files/lib/uploader/middleware/flash_session_cookie_middleware_rb.html +108 -0
  129. data/rdoc/files/lib/uploader/mime_type_groups_rb.html +101 -0
  130. data/rdoc/files/lib/uploader/tasks_rb.html +110 -0
  131. data/rdoc/files/lib/uploader_rb.html +112 -0
  132. data/rdoc/fr_class_index.html +39 -0
  133. data/rdoc/fr_file_index.html +35 -0
  134. data/rdoc/fr_method_index.html +54 -0
  135. data/rdoc/index.html +24 -0
  136. data/rdoc/rdoc-style.css +208 -0
  137. data/tasks/rails.rake +2 -0
  138. data/test/test_helper.rb +3 -0
  139. data/test/unit/upload_test.rb +5 -0
  140. data/uninstall.rb +0 -0
  141. data/uploader.gemspec +182 -0
  142. metadata +204 -0
@@ -0,0 +1,105 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: ActiveRecord</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">ActiveRecord</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/active_record/acts/uploader_upload_rb.html">
59
+ lib/active_record/acts/uploader_upload.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+
80
+ </div>
81
+
82
+
83
+ <!-- if includes -->
84
+
85
+ <div id="section">
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+ <!-- if method_list -->
95
+
96
+
97
+ </div>
98
+
99
+
100
+ <div id="validator-badges">
101
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
102
+ </div>
103
+
104
+ </body>
105
+ </html>
@@ -0,0 +1,186 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: ActiveRecord::Acts::UploaderUpload::ClassMethods</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">ActiveRecord::Acts::UploaderUpload::ClassMethods</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../../files/lib/active_record/acts/uploader_upload_rb.html">
59
+ lib/active_record/acts/uploader_upload.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+ <div id="method-list">
80
+ <h3 class="section-bar">Methods</h3>
81
+
82
+ <div class="name-list">
83
+ <a href="#M000005">acts_as_uploader</a>&nbsp;&nbsp;
84
+ </div>
85
+ </div>
86
+
87
+ </div>
88
+
89
+
90
+ <!-- if includes -->
91
+ <div id="includes">
92
+ <h3 class="section-bar">Included Modules</h3>
93
+
94
+ <div id="includes-list">
95
+ <span class="include-name"><a href="InstanceMethods.html">ActiveRecord::Acts::UploaderUpload::InstanceMethods</a></span>
96
+ </div>
97
+ </div>
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <!-- if method_list -->
109
+ <div id="methods">
110
+ <h3 class="section-bar">Public Instance methods</h3>
111
+
112
+ <div id="method-M000005" class="method-detail">
113
+ <a name="M000005"></a>
114
+
115
+ <div class="method-heading">
116
+ <a href="#M000005" class="method-signature">
117
+ <span class="method-name">acts_as_uploader</span><span class="method-args">(options)</span>
118
+ </a>
119
+ </div>
120
+
121
+ <div class="method-description">
122
+ <p>
123
+ <a href="ClassMethods.html#M000005">acts_as_uploader</a> requires an option
124
+ for :has_attached_file. These values will be passed to paperclip. i.e. <a
125
+ href="ClassMethods.html#M000005">acts_as_uploader</a> :has_attached_file
126
+ =&gt; { :url =&gt;
127
+ &quot;/uploads/:class/:id/:style_:basename.:extension&quot;, :path =&gt;
128
+ &quot;:rails_root/public/uploads/:class/:id/:style_:basename.:extension&quot;,
129
+ :styles =&gt; { :icon =&gt; &quot;30x30!&quot;, :thumb =&gt;
130
+ &quot;100&gt;&quot;, :small =&gt; &quot;150&gt;&quot;, :medium =&gt;
131
+ &quot;300&gt;&quot;, :large =&gt; &quot;660&gt;&quot;}, :default_url =&gt;
132
+ &quot;/images/profile_default.jpg&quot; }
133
+ </p>
134
+ <p><a class="source-toggle" href="#"
135
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
136
+ <div class="method-source-code" id="M000005-source">
137
+ <pre>
138
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 18</span>
139
+ 18: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">acts_as_uploader</span>(<span class="ruby-identifier">options</span>)
140
+ 19:
141
+ 20: <span class="ruby-comment cmt">#Named scopes</span>
142
+ 21: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:newest_first</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;created_at DESC&quot;</span>
143
+ 22: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:alphabetic</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;filename DESC&quot;</span>
144
+ 23: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:recent</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;created_at DESC&quot;</span>
145
+ 24: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:public</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'is_public = true'</span>
146
+ 25: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:images</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;local_content_type IN (#{Uploader::MimeTypeGroups::IMAGE_TYPES.collect{|type| &quot;'#{type}'&quot;}.join(',')})&quot;</span>
147
+ 26: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:documents</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;local_content_type IN (#{(Uploader::MimeTypeGroups::WORD_TYPES + Uploader::MimeTypeGroups::EXCEL_TYPES + Uploader::MimeTypeGroups::PDF_TYPES).collect{|type| &quot;'#{type}'&quot;}.join(',')})&quot;</span>
148
+ 27: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:files</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;local_content_type NOT IN (#{Uploader::MimeTypeGroups::IMAGE_TYPES.collect{|type| &quot;'#{type}'&quot;}.join(',')})&quot;</span>
149
+ 28: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:since</span>, <span class="ruby-identifier">lambda</span> { <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span> { <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-value str">&quot;created_at &gt; ?&quot;</span>, (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">||</span> <span class="ruby-value">7</span>.<span class="ruby-identifier">days</span>.<span class="ruby-identifier">ago</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">:db</span>)) ]} }
150
+ 29: <span class="ruby-identifier">named_scope</span> <span class="ruby-identifier">:pending_s3_migration</span>, <span class="ruby-identifier">lambda</span> { { <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-value str">&quot;remote_file_name IS NULL AND created_at &lt;= ?&quot;</span>, <span class="ruby-value">20</span>.<span class="ruby-identifier">minutes</span>.<span class="ruby-identifier">ago</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">:db</span>)], <span class="ruby-identifier">:order</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'created_at DESC'</span> } }
151
+ 30:
152
+ 31: <span class="ruby-comment cmt"># Paperclip</span>
153
+ 32: <span class="ruby-identifier">has_attached_file</span> <span class="ruby-identifier">:local</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:has_attached_file</span>].<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">:storage</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:filesystem</span>) <span class="ruby-comment cmt"># Override any storage settings. This one has to be local.</span>
154
+ 33: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:enable_s3</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span>
155
+ 34: <span class="ruby-identifier">has_attached_file</span> <span class="ruby-identifier">:remote</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:has_attached_file</span>].<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">':s3_alias_url'</span>,
156
+ 35: <span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:s3_path</span>],
157
+ 36: <span class="ruby-identifier">:storage</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:s3</span>)
158
+ 37: <span class="ruby-keyword kw">end</span>
159
+ 38:
160
+ 39:
161
+ 40: <span class="ruby-identifier">belongs_to</span> <span class="ruby-identifier">:uploadable</span>, <span class="ruby-identifier">:polymorphic</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>
162
+ 41: <span class="ruby-identifier">belongs_to</span> <span class="ruby-identifier">:creator</span>, <span class="ruby-identifier">:class_name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'User'</span>, <span class="ruby-identifier">:foreign_key</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'creator_id'</span>
163
+ 42:
164
+ 43: <span class="ruby-identifier">class_eval</span> <span class="ruby-value str">&quot;validates_attachment_size :local, :less_than =&gt; 10.megabytes\n\nbefore_post_process :transliterate_file_name\nbefore_create :add_width_and_height\n\n# prevents a user from submitting a crafted form that bypasses activation\nattr_protected :creator_id, :uploadable_id, :uploadable_type\n&quot;</span>
165
+ 44:
166
+ 45: <span class="ruby-identifier">include</span> <span class="ruby-constant">ActiveRecord</span><span class="ruby-operator">::</span><span class="ruby-constant">Acts</span><span class="ruby-operator">::</span><span class="ruby-constant">UploaderUpload</span><span class="ruby-operator">::</span><span class="ruby-constant">InstanceMethods</span>
167
+ 46: <span class="ruby-identifier">extend</span> <span class="ruby-constant">ActiveRecord</span><span class="ruby-operator">::</span><span class="ruby-constant">Acts</span><span class="ruby-operator">::</span><span class="ruby-constant">UploaderUpload</span><span class="ruby-operator">::</span><span class="ruby-constant">SingletonMethods</span>
168
+ 47: <span class="ruby-keyword kw">end</span>
169
+ </pre>
170
+ </div>
171
+ </div>
172
+ </div>
173
+
174
+
175
+ </div>
176
+
177
+
178
+ </div>
179
+
180
+
181
+ <div id="validator-badges">
182
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
183
+ </div>
184
+
185
+ </body>
186
+ </html>
@@ -0,0 +1,750 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: ActiveRecord::Acts::UploaderUpload::InstanceMethods</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">ActiveRecord::Acts::UploaderUpload::InstanceMethods</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../../files/lib/active_record/acts/uploader_upload_rb.html">
59
+ lib/active_record/acts/uploader_upload.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <p>
77
+ All the methods available to a record that has had
78
+ <tt>acts_as_uploader</tt> specified.
79
+ </p>
80
+
81
+ </div>
82
+
83
+
84
+ </div>
85
+
86
+ <div id="method-list">
87
+ <h3 class="section-bar">Methods</h3>
88
+
89
+ <div class="name-list">
90
+ <a href="#M000028">add_width_and_height</a>&nbsp;&nbsp;
91
+ <a href="#M000025">calculate_sizes</a>&nbsp;&nbsp;
92
+ <a href="#M000019">can_edit?</a>&nbsp;&nbsp;
93
+ <a href="#M000018">display_name</a>&nbsp;&nbsp;
94
+ <a href="#M000006">file</a>&nbsp;&nbsp;
95
+ <a href="#M000007">file_name</a>&nbsp;&nbsp;
96
+ <a href="#M000021">height</a>&nbsp;&nbsp;
97
+ <a href="#M000017">icon</a>&nbsp;&nbsp;
98
+ <a href="#M000024">image_ratio</a>&nbsp;&nbsp;
99
+ <a href="#M000012">is_excel?</a>&nbsp;&nbsp;
100
+ <a href="#M000010">is_image?</a>&nbsp;&nbsp;
101
+ <a href="#M000011">is_mp3?</a>&nbsp;&nbsp;
102
+ <a href="#M000013">is_pdf?</a>&nbsp;&nbsp;
103
+ <a href="#M000015">is_text?</a>&nbsp;&nbsp;
104
+ <a href="#M000014">is_word?</a>&nbsp;&nbsp;
105
+ <a href="#M000023">max_dimension</a>&nbsp;&nbsp;
106
+ <a href="#M000008">send_to_remote</a>&nbsp;&nbsp;
107
+ <a href="#M000022">size</a>&nbsp;&nbsp;
108
+ <a href="#M000009">swfupload_local=</a>&nbsp;&nbsp;
109
+ <a href="#M000027">transliterate</a>&nbsp;&nbsp;
110
+ <a href="#M000026">transliterate_file_name</a>&nbsp;&nbsp;
111
+ <a href="#M000016">upload_type</a>&nbsp;&nbsp;
112
+ <a href="#M000020">width</a>&nbsp;&nbsp;
113
+ </div>
114
+ </div>
115
+
116
+ </div>
117
+
118
+
119
+ <!-- if includes -->
120
+
121
+ <div id="section">
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+ <!-- if method_list -->
131
+ <div id="methods">
132
+ <h3 class="section-bar">Public Instance methods</h3>
133
+
134
+ <div id="method-M000025" class="method-detail">
135
+ <a name="M000025"></a>
136
+
137
+ <div class="method-heading">
138
+ <a href="#M000025" class="method-signature">
139
+ <span class="method-name">calculate_sizes</span><span class="method-args">(style)</span>
140
+ </a>
141
+ </div>
142
+
143
+ <div class="method-description">
144
+ <p><a class="source-toggle" href="#"
145
+ onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
146
+ <div class="method-source-code" id="M000025-source">
147
+ <pre>
148
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 192</span>
149
+ 192: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calculate_sizes</span>(<span class="ruby-identifier">style</span>)
150
+ 193: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">image_ratio</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
151
+ 194: <span class="ruby-ivar">@image_width</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">width</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_dimension</span>(<span class="ruby-identifier">style</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">max_dimension</span>(<span class="ruby-identifier">style</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">width</span>
152
+ 195: <span class="ruby-ivar">@image_height</span> <span class="ruby-operator">||=</span> (<span class="ruby-ivar">@image_width</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">image_ratio</span>).<span class="ruby-identifier">round</span>
153
+ 196: <span class="ruby-keyword kw">else</span>
154
+ 197: <span class="ruby-ivar">@image_height</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">height</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_dimension</span>(<span class="ruby-identifier">style</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">max_dimension</span>(<span class="ruby-identifier">style</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">height</span>
155
+ 198: <span class="ruby-ivar">@image_width</span> <span class="ruby-operator">||=</span> (<span class="ruby-ivar">@image_height</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">image_ratio</span>).<span class="ruby-identifier">round</span>
156
+ 199: <span class="ruby-keyword kw">end</span>
157
+ 200: <span class="ruby-ivar">@image_size</span> <span class="ruby-operator">||=</span> <span class="ruby-node">&quot;#{@image_width.to_i}x#{@image_height.to_i}&quot;</span>
158
+ 201: <span class="ruby-keyword kw">end</span>
159
+ </pre>
160
+ </div>
161
+ </div>
162
+ </div>
163
+
164
+ <div id="method-M000019" class="method-detail">
165
+ <a name="M000019"></a>
166
+
167
+ <div class="method-heading">
168
+ <a href="#M000019" class="method-signature">
169
+ <span class="method-name">can_edit?</span><span class="method-args">(check_user)</span>
170
+ </a>
171
+ </div>
172
+
173
+ <div class="method-description">
174
+ <p><a class="source-toggle" href="#"
175
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
176
+ <div class="method-source-code" id="M000019-source">
177
+ <pre>
178
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 156</span>
179
+ 156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">can_edit?</span>(<span class="ruby-identifier">check_user</span>)
180
+ 157: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">check_user</span>.<span class="ruby-identifier">blank?</span>
181
+ 158: <span class="ruby-identifier">check_user</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">creator</span>
182
+ 159: <span class="ruby-keyword kw">end</span>
183
+ </pre>
184
+ </div>
185
+ </div>
186
+ </div>
187
+
188
+ <div id="method-M000018" class="method-detail">
189
+ <a name="M000018"></a>
190
+
191
+ <div class="method-heading">
192
+ <a href="#M000018" class="method-signature">
193
+ <span class="method-name">display_name</span><span class="method-args">()</span>
194
+ </a>
195
+ </div>
196
+
197
+ <div class="method-description">
198
+ <p><a class="source-toggle" href="#"
199
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
200
+ <div class="method-source-code" id="M000018-source">
201
+ <pre>
202
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 152</span>
203
+ 152: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_name</span>
204
+ 153: <span class="ruby-constant">CGI</span><span class="ruby-operator">::</span><span class="ruby-identifier">escapeHTML</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_file_name</span>)
205
+ 154: <span class="ruby-keyword kw">end</span>
206
+ </pre>
207
+ </div>
208
+ </div>
209
+ </div>
210
+
211
+ <div id="method-M000006" class="method-detail">
212
+ <a name="M000006"></a>
213
+
214
+ <div class="method-heading">
215
+ <a href="#M000006" class="method-signature">
216
+ <span class="method-name">file</span><span class="method-args">()</span>
217
+ </a>
218
+ </div>
219
+
220
+ <div class="method-description">
221
+ <p><a class="source-toggle" href="#"
222
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000006-source">
224
+ <pre>
225
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 67</span>
226
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file</span>
227
+ 68: <span class="ruby-identifier">local_file_name</span> <span class="ruby-value">? </span><span class="ruby-identifier">local</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">remote</span>
228
+ 69: <span class="ruby-keyword kw">end</span>
229
+ </pre>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ <div id="method-M000007" class="method-detail">
235
+ <a name="M000007"></a>
236
+
237
+ <div class="method-heading">
238
+ <a href="#M000007" class="method-signature">
239
+ <span class="method-name">file_name</span><span class="method-args">()</span>
240
+ </a>
241
+ </div>
242
+
243
+ <div class="method-description">
244
+ <p><a class="source-toggle" href="#"
245
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
246
+ <div class="method-source-code" id="M000007-source">
247
+ <pre>
248
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 71</span>
249
+ 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_name</span>
250
+ 72: <span class="ruby-identifier">remote_file_name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">local_file_name</span>
251
+ 73: <span class="ruby-keyword kw">end</span>
252
+ </pre>
253
+ </div>
254
+ </div>
255
+ </div>
256
+
257
+ <div id="method-M000021" class="method-detail">
258
+ <a name="M000021"></a>
259
+
260
+ <div class="method-heading">
261
+ <a href="#M000021" class="method-signature">
262
+ <span class="method-name">height</span><span class="method-args">(style = :default)</span>
263
+ </a>
264
+ </div>
265
+
266
+ <div class="method-description">
267
+ <p><a class="source-toggle" href="#"
268
+ onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
269
+ <div class="method-source-code" id="M000021-source">
270
+ <pre>
271
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 170</span>
272
+ 170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">height</span>(<span class="ruby-identifier">style</span> = <span class="ruby-identifier">:default</span>)
273
+ 171: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">:height</span>]
274
+ 172: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">:height</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">style</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:default</span>
275
+ 173: <span class="ruby-identifier">calculate_sizes</span>(<span class="ruby-identifier">style</span>.<span class="ruby-identifier">to_sym</span>)
276
+ 174: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@image_height</span>.<span class="ruby-identifier">to_i</span>
277
+ 175: <span class="ruby-keyword kw">end</span>
278
+ </pre>
279
+ </div>
280
+ </div>
281
+ </div>
282
+
283
+ <div id="method-M000017" class="method-detail">
284
+ <a name="M000017"></a>
285
+
286
+ <div class="method-heading">
287
+ <a href="#M000017" class="method-signature">
288
+ <span class="method-name">icon</span><span class="method-args">()</span>
289
+ </a>
290
+ </div>
291
+
292
+ <div class="method-description">
293
+ <p><a class="source-toggle" href="#"
294
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
295
+ <div class="method-source-code" id="M000017-source">
296
+ <pre>
297
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 134</span>
298
+ 134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">icon</span>
299
+ 135: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_pdf?</span>
300
+ 136: <span class="ruby-value str">'/images/file_icons/file_pdf.gif'</span>
301
+ 137: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_word?</span>
302
+ 138: <span class="ruby-value str">'/images/file_icons/file_doc.gif'</span>
303
+ 139: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_image?</span>
304
+ 140: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">file</span>.<span class="ruby-identifier">url</span>(<span class="ruby-identifier">:icon</span>)
305
+ 141: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_mp3?</span>
306
+ 142: <span class="ruby-value str">'/images/file_icons/file_mp3.gif'</span>
307
+ 143: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_excel?</span>
308
+ 144: <span class="ruby-value str">'/images/file_icons/file_xls.gif'</span>
309
+ 145: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_text?</span>
310
+ 146: <span class="ruby-value str">'/images/file_icons/file_txt.gif'</span>
311
+ 147: <span class="ruby-keyword kw">else</span>
312
+ 148: <span class="ruby-value str">'/images/file_icons/file_raw.gif'</span>
313
+ 149: <span class="ruby-keyword kw">end</span>
314
+ 150: <span class="ruby-keyword kw">end</span>
315
+ </pre>
316
+ </div>
317
+ </div>
318
+ </div>
319
+
320
+ <div id="method-M000024" class="method-detail">
321
+ <a name="M000024"></a>
322
+
323
+ <div class="method-heading">
324
+ <a href="#M000024" class="method-signature">
325
+ <span class="method-name">image_ratio</span><span class="method-args">()</span>
326
+ </a>
327
+ </div>
328
+
329
+ <div class="method-description">
330
+ <p><a class="source-toggle" href="#"
331
+ onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
332
+ <div class="method-source-code" id="M000024-source">
333
+ <pre>
334
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 188</span>
335
+ 188: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">image_ratio</span>
336
+ 189: <span class="ruby-ivar">@image_ratio</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">width</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">height</span>.<span class="ruby-identifier">to_f</span>
337
+ 190: <span class="ruby-keyword kw">end</span>
338
+ </pre>
339
+ </div>
340
+ </div>
341
+ </div>
342
+
343
+ <div id="method-M000012" class="method-detail">
344
+ <a name="M000012"></a>
345
+
346
+ <div class="method-heading">
347
+ <a href="#M000012" class="method-signature">
348
+ <span class="method-name">is_excel?</span><span class="method-args">()</span>
349
+ </a>
350
+ </div>
351
+
352
+ <div class="method-description">
353
+ <p><a class="source-toggle" href="#"
354
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
355
+ <div class="method-source-code" id="M000012-source">
356
+ <pre>
357
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 100</span>
358
+ 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_excel?</span>
359
+ 101: <span class="ruby-constant">Uploader</span><span class="ruby-operator">::</span><span class="ruby-constant">MimeTypeGroups</span><span class="ruby-operator">::</span><span class="ruby-constant">EXCEL_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_content_type</span>)
360
+ 102: <span class="ruby-keyword kw">end</span>
361
+ </pre>
362
+ </div>
363
+ </div>
364
+ </div>
365
+
366
+ <div id="method-M000010" class="method-detail">
367
+ <a name="M000010"></a>
368
+
369
+ <div class="method-heading">
370
+ <a href="#M000010" class="method-signature">
371
+ <span class="method-name">is_image?</span><span class="method-args">()</span>
372
+ </a>
373
+ </div>
374
+
375
+ <div class="method-description">
376
+ <p><a class="source-toggle" href="#"
377
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
378
+ <div class="method-source-code" id="M000010-source">
379
+ <pre>
380
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 92</span>
381
+ 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_image?</span>
382
+ 93: <span class="ruby-constant">Uploader</span><span class="ruby-operator">::</span><span class="ruby-constant">MimeTypeGroups</span><span class="ruby-operator">::</span><span class="ruby-constant">IMAGE_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_content_type</span>)
383
+ 94: <span class="ruby-keyword kw">end</span>
384
+ </pre>
385
+ </div>
386
+ </div>
387
+ </div>
388
+
389
+ <div id="method-M000011" class="method-detail">
390
+ <a name="M000011"></a>
391
+
392
+ <div class="method-heading">
393
+ <a href="#M000011" class="method-signature">
394
+ <span class="method-name">is_mp3?</span><span class="method-args">()</span>
395
+ </a>
396
+ </div>
397
+
398
+ <div class="method-description">
399
+ <p><a class="source-toggle" href="#"
400
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
401
+ <div class="method-source-code" id="M000011-source">
402
+ <pre>
403
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 96</span>
404
+ 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_mp3?</span>
405
+ 97: <span class="ruby-constant">Uploader</span><span class="ruby-operator">::</span><span class="ruby-constant">MimeTypeGroups</span><span class="ruby-operator">::</span><span class="ruby-constant">MP3_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_content_type</span>)
406
+ 98: <span class="ruby-keyword kw">end</span>
407
+ </pre>
408
+ </div>
409
+ </div>
410
+ </div>
411
+
412
+ <div id="method-M000013" class="method-detail">
413
+ <a name="M000013"></a>
414
+
415
+ <div class="method-heading">
416
+ <a href="#M000013" class="method-signature">
417
+ <span class="method-name">is_pdf?</span><span class="method-args">()</span>
418
+ </a>
419
+ </div>
420
+
421
+ <div class="method-description">
422
+ <p><a class="source-toggle" href="#"
423
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
424
+ <div class="method-source-code" id="M000013-source">
425
+ <pre>
426
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 104</span>
427
+ 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_pdf?</span>
428
+ 105: <span class="ruby-constant">Uploader</span><span class="ruby-operator">::</span><span class="ruby-constant">MimeTypeGroups</span><span class="ruby-operator">::</span><span class="ruby-constant">PDF_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_content_type</span>)
429
+ 106: <span class="ruby-keyword kw">end</span>
430
+ </pre>
431
+ </div>
432
+ </div>
433
+ </div>
434
+
435
+ <div id="method-M000015" class="method-detail">
436
+ <a name="M000015"></a>
437
+
438
+ <div class="method-heading">
439
+ <a href="#M000015" class="method-signature">
440
+ <span class="method-name">is_text?</span><span class="method-args">()</span>
441
+ </a>
442
+ </div>
443
+
444
+ <div class="method-description">
445
+ <p><a class="source-toggle" href="#"
446
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
447
+ <div class="method-source-code" id="M000015-source">
448
+ <pre>
449
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 112</span>
450
+ 112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_text?</span>
451
+ 113: <span class="ruby-constant">Uploader</span><span class="ruby-operator">::</span><span class="ruby-constant">MimeTypeGroups</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_content_type</span>)
452
+ 114: <span class="ruby-keyword kw">end</span>
453
+ </pre>
454
+ </div>
455
+ </div>
456
+ </div>
457
+
458
+ <div id="method-M000014" class="method-detail">
459
+ <a name="M000014"></a>
460
+
461
+ <div class="method-heading">
462
+ <a href="#M000014" class="method-signature">
463
+ <span class="method-name">is_word?</span><span class="method-args">()</span>
464
+ </a>
465
+ </div>
466
+
467
+ <div class="method-description">
468
+ <p><a class="source-toggle" href="#"
469
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
470
+ <div class="method-source-code" id="M000014-source">
471
+ <pre>
472
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 108</span>
473
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_word?</span>
474
+ 109: <span class="ruby-constant">Uploader</span><span class="ruby-operator">::</span><span class="ruby-constant">MimeTypeGroups</span><span class="ruby-operator">::</span><span class="ruby-constant">WORD_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_content_type</span>)
475
+ 110: <span class="ruby-keyword kw">end</span>
476
+ </pre>
477
+ </div>
478
+ </div>
479
+ </div>
480
+
481
+ <div id="method-M000023" class="method-detail">
482
+ <a name="M000023"></a>
483
+
484
+ <div class="method-heading">
485
+ <a href="#M000023" class="method-signature">
486
+ <span class="method-name">max_dimension</span><span class="method-args">(style)</span>
487
+ </a>
488
+ </div>
489
+
490
+ <div class="method-description">
491
+ <p><a class="source-toggle" href="#"
492
+ onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
493
+ <div class="method-source-code" id="M000023-source">
494
+ <pre>
495
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 184</span>
496
+ 184: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">max_dimension</span>(<span class="ruby-identifier">style</span>)
497
+ 185: <span class="ruby-ivar">@max_dimension</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Paperclip</span><span class="ruby-operator">::</span><span class="ruby-constant">Geometry</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local</span>.<span class="ruby-identifier">styles</span>[<span class="ruby-identifier">style</span>][<span class="ruby-identifier">:geometry</span>]).<span class="ruby-identifier">width</span>.<span class="ruby-identifier">to_f</span>
498
+ 186: <span class="ruby-keyword kw">end</span>
499
+ </pre>
500
+ </div>
501
+ </div>
502
+ </div>
503
+
504
+ <div id="method-M000008" class="method-detail">
505
+ <a name="M000008"></a>
506
+
507
+ <div class="method-heading">
508
+ <a href="#M000008" class="method-signature">
509
+ <span class="method-name">send_to_remote</span><span class="method-args">()</span>
510
+ </a>
511
+ </div>
512
+
513
+ <div class="method-description">
514
+ <p><a class="source-toggle" href="#"
515
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
516
+ <div class="method-source-code" id="M000008-source">
517
+ <pre>
518
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 75</span>
519
+ 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_to_remote</span>
520
+ 76: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">local_file_name</span>
521
+ 77: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remote</span> = <span class="ruby-identifier">local</span>.<span class="ruby-identifier">to_file</span>
522
+ 78: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">save</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">remote</span>.<span class="ruby-identifier">original_filename</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">remote</span>.<span class="ruby-identifier">exists?</span>
523
+ 79: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local</span> = <span class="ruby-keyword kw">nil</span>
524
+ 80: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">save</span>
525
+ 81: <span class="ruby-keyword kw">else</span>
526
+ 82: <span class="ruby-keyword kw">false</span>
527
+ 83: <span class="ruby-keyword kw">end</span>
528
+ 84: <span class="ruby-keyword kw">end</span>
529
+ 85: <span class="ruby-keyword kw">end</span>
530
+ </pre>
531
+ </div>
532
+ </div>
533
+ </div>
534
+
535
+ <div id="method-M000022" class="method-detail">
536
+ <a name="M000022"></a>
537
+
538
+ <div class="method-heading">
539
+ <a href="#M000022" class="method-signature">
540
+ <span class="method-name">size</span><span class="method-args">(style = :default)</span>
541
+ </a>
542
+ </div>
543
+
544
+ <div class="method-description">
545
+ <p><a class="source-toggle" href="#"
546
+ onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
547
+ <div class="method-source-code" id="M000022-source">
548
+ <pre>
549
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 177</span>
550
+ 177: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">size</span>(<span class="ruby-identifier">style</span> = <span class="ruby-identifier">:default</span>)
551
+ 178: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">width</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">height</span>
552
+ 179: <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{width}x#{height}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">style</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:default</span>
553
+ 180: <span class="ruby-identifier">calculate_sizes</span>(<span class="ruby-identifier">style</span>.<span class="ruby-identifier">to_sym</span>)
554
+ 181: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@image_size</span>
555
+ 182: <span class="ruby-keyword kw">end</span>
556
+ </pre>
557
+ </div>
558
+ </div>
559
+ </div>
560
+
561
+ <div id="method-M000009" class="method-detail">
562
+ <a name="M000009"></a>
563
+
564
+ <div class="method-heading">
565
+ <a href="#M000009" class="method-signature">
566
+ <span class="method-name">swfupload_local=</span><span class="method-args">(filedata)</span>
567
+ </a>
568
+ </div>
569
+
570
+ <div class="method-description">
571
+ <p><a class="source-toggle" href="#"
572
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
573
+ <div class="method-source-code" id="M000009-source">
574
+ <pre>
575
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 87</span>
576
+ 87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">swfupload_local=</span>(<span class="ruby-identifier">filedata</span>)
577
+ 88: <span class="ruby-identifier">filedata</span>.<span class="ruby-identifier">content_type</span> = <span class="ruby-constant">MIME</span><span class="ruby-operator">::</span><span class="ruby-constant">Types</span>.<span class="ruby-identifier">type_for</span>(<span class="ruby-identifier">filedata</span>.<span class="ruby-identifier">original_filename</span>)[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_s</span>
578
+ 89: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local</span> = <span class="ruby-identifier">filedata</span>
579
+ 90: <span class="ruby-keyword kw">end</span>
580
+ </pre>
581
+ </div>
582
+ </div>
583
+ </div>
584
+
585
+ <div id="method-M000016" class="method-detail">
586
+ <a name="M000016"></a>
587
+
588
+ <div class="method-heading">
589
+ <a href="#M000016" class="method-signature">
590
+ <span class="method-name">upload_type</span><span class="method-args">()</span>
591
+ </a>
592
+ </div>
593
+
594
+ <div class="method-description">
595
+ <p><a class="source-toggle" href="#"
596
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
597
+ <div class="method-source-code" id="M000016-source">
598
+ <pre>
599
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 116</span>
600
+ 116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upload_type</span>
601
+ 117: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_pdf?</span>
602
+ 118: <span class="ruby-value str">'Adobe pdf file'</span>
603
+ 119: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_word?</span>
604
+ 120: <span class="ruby-value str">'Word document'</span>
605
+ 121: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_image?</span>
606
+ 122: <span class="ruby-value str">'photo'</span>
607
+ 123: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_mp3?</span>
608
+ 124: <span class="ruby-value str">'mp3'</span>
609
+ 125: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_excel?</span>
610
+ 126: <span class="ruby-value str">'Excel document'</span>
611
+ 127: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_text?</span>
612
+ 128: <span class="ruby-value str">'text file'</span>
613
+ 129: <span class="ruby-keyword kw">else</span>
614
+ 130: <span class="ruby-value str">'file'</span>
615
+ 131: <span class="ruby-keyword kw">end</span>
616
+ 132: <span class="ruby-keyword kw">end</span>
617
+ </pre>
618
+ </div>
619
+ </div>
620
+ </div>
621
+
622
+ <div id="method-M000020" class="method-detail">
623
+ <a name="M000020"></a>
624
+
625
+ <div class="method-heading">
626
+ <a href="#M000020" class="method-signature">
627
+ <span class="method-name">width</span><span class="method-args">(style = :default)</span>
628
+ </a>
629
+ </div>
630
+
631
+ <div class="method-description">
632
+ <p>
633
+ Image dimension calculations
634
+ </p>
635
+ <p><a class="source-toggle" href="#"
636
+ onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
637
+ <div class="method-source-code" id="M000020-source">
638
+ <pre>
639
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 163</span>
640
+ 163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">width</span>(<span class="ruby-identifier">style</span> = <span class="ruby-identifier">:default</span>)
641
+ 164: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">:width</span>]
642
+ 165: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">:width</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">style</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:default</span>
643
+ 166: <span class="ruby-identifier">calculate_sizes</span>(<span class="ruby-identifier">style</span>.<span class="ruby-identifier">to_sym</span>)
644
+ 167: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@image_width</span>.<span class="ruby-identifier">to_i</span>
645
+ 168: <span class="ruby-keyword kw">end</span>
646
+ </pre>
647
+ </div>
648
+ </div>
649
+ </div>
650
+
651
+ <h3 class="section-bar">Protected Instance methods</h3>
652
+
653
+ <div id="method-M000028" class="method-detail">
654
+ <a name="M000028"></a>
655
+
656
+ <div class="method-heading">
657
+ <a href="#M000028" class="method-signature">
658
+ <span class="method-name">add_width_and_height</span><span class="method-args">()</span>
659
+ </a>
660
+ </div>
661
+
662
+ <div class="method-description">
663
+ <p><a class="source-toggle" href="#"
664
+ onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
665
+ <div class="method-source-code" id="M000028-source">
666
+ <pre>
667
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 223</span>
668
+ 223: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_width_and_height</span>
669
+ 224: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">is_image?</span>
670
+ 225: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local</span>.<span class="ruby-identifier">to_file</span>
671
+ 226: <span class="ruby-identifier">geometry</span> = <span class="ruby-constant">Paperclip</span><span class="ruby-operator">::</span><span class="ruby-constant">Geometry</span>.<span class="ruby-identifier">from_file</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local</span>.<span class="ruby-identifier">to_file</span>
672
+ 227: <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">:width</span>] = <span class="ruby-identifier">geometry</span>.<span class="ruby-identifier">width</span>.<span class="ruby-identifier">to_i</span>
673
+ 228: <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">:height</span>] = <span class="ruby-identifier">geometry</span>.<span class="ruby-identifier">height</span>.<span class="ruby-identifier">to_i</span>
674
+ 229: <span class="ruby-keyword kw">end</span>
675
+ 230: <span class="ruby-keyword kw">end</span>
676
+ </pre>
677
+ </div>
678
+ </div>
679
+ </div>
680
+
681
+ <div id="method-M000027" class="method-detail">
682
+ <a name="M000027"></a>
683
+
684
+ <div class="method-heading">
685
+ <a href="#M000027" class="method-signature">
686
+ <span class="method-name">transliterate</span><span class="method-args">(str)</span>
687
+ </a>
688
+ </div>
689
+
690
+ <div class="method-description">
691
+ <p><a class="source-toggle" href="#"
692
+ onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
693
+ <div class="method-source-code" id="M000027-source">
694
+ <pre>
695
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 210</span>
696
+ 210: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">transliterate</span>(<span class="ruby-identifier">str</span>)
697
+ 211: <span class="ruby-comment cmt"># Lifted from permalink_fu by Rick Olsen</span>
698
+ 212: <span class="ruby-comment cmt"># Escape str by transliterating to UTF-8 with Iconv,</span>
699
+ 213: <span class="ruby-comment cmt"># downcasing, then removing illegal characters and replacing them with ’-’</span>
700
+ 214: <span class="ruby-identifier">s</span> = <span class="ruby-constant">Iconv</span>.<span class="ruby-identifier">iconv</span>(<span class="ruby-value str">'ascii//ignore//translit'</span>, <span class="ruby-value str">'utf-8'</span>, <span class="ruby-identifier">str</span>).<span class="ruby-identifier">to_s</span>
701
+ 215: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">downcase!</span>
702
+ 216: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\'/</span>, <span class="ruby-value str">''</span>)
703
+ 217: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/[^A-Za-z0-9]+/</span>, <span class="ruby-value str">' '</span>)
704
+ 218: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">strip!</span>
705
+ 219: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\ +/</span>, <span class="ruby-value str">'-'</span>) <span class="ruby-comment cmt"># set single or multiple spaces to a single dash</span>
706
+ 220: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>
707
+ 221: <span class="ruby-keyword kw">end</span>
708
+ </pre>
709
+ </div>
710
+ </div>
711
+ </div>
712
+
713
+ <div id="method-M000026" class="method-detail">
714
+ <a name="M000026"></a>
715
+
716
+ <div class="method-heading">
717
+ <a href="#M000026" class="method-signature">
718
+ <span class="method-name">transliterate_file_name</span><span class="method-args">()</span>
719
+ </a>
720
+ </div>
721
+
722
+ <div class="method-description">
723
+ <p><a class="source-toggle" href="#"
724
+ onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
725
+ <div class="method-source-code" id="M000026-source">
726
+ <pre>
727
+ <span class="ruby-comment cmt"># File lib/active_record/acts/uploader_upload.rb, line 204</span>
728
+ 204: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">transliterate_file_name</span>
729
+ 205: <span class="ruby-identifier">extension</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">local_file_name</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^\.+/</span>, <span class="ruby-value str">''</span>)
730
+ 206: <span class="ruby-identifier">filename</span> = <span class="ruby-identifier">local_file_name</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/\.#{extension}$/</span>, <span class="ruby-value str">''</span>)
731
+ 207: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local</span>.<span class="ruby-identifier">instance_write</span>(<span class="ruby-identifier">:file_name</span>, <span class="ruby-node">&quot;#{transliterate(filename)}.#{transliterate(extension)}&quot;</span>)
732
+ 208: <span class="ruby-keyword kw">end</span>
733
+ </pre>
734
+ </div>
735
+ </div>
736
+ </div>
737
+
738
+
739
+ </div>
740
+
741
+
742
+ </div>
743
+
744
+
745
+ <div id="validator-badges">
746
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
747
+ </div>
748
+
749
+ </body>
750
+ </html>