fredit 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/controllers/fredit_controller.rb +28 -0
- data/app/views/fredit/show.html.erb +83 -50
- data/app/views/layouts/fredit.html.erb +0 -3
- data/config/routes.rb +1 -0
- metadata +6 -6
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'git'
|
2
|
+
require 'fileutils'
|
2
3
|
|
3
4
|
class FreditController < ::ApplicationController
|
4
5
|
skip_before_filter :verify_authenticity_token
|
@@ -62,6 +63,33 @@ class FreditController < ::ApplicationController
|
|
62
63
|
redirect_to fredit_path(:file => @path)
|
63
64
|
end
|
64
65
|
|
66
|
+
def upload
|
67
|
+
@path = secure_path params[:file_path]
|
68
|
+
upload = params[:upload_file]
|
69
|
+
if !upload.respond_to?(:original_filename)
|
70
|
+
flash[:notice] = "You need to choose a file to upload"
|
71
|
+
redirect_to fredit_path(file: @path)
|
72
|
+
return
|
73
|
+
end
|
74
|
+
filename = upload.original_filename
|
75
|
+
upload_dir = secure_path( params[:target_dir] || 'public/images' )
|
76
|
+
FileUtils::mkdir_p upload_dir
|
77
|
+
upload_path = File.join(upload_dir, filename)
|
78
|
+
File.open(upload_path, 'wb') {|f| f.write(upload.read)}
|
79
|
+
flash[:notice] = "File successfully uploaded to #{upload_path}"
|
80
|
+
system %Q|git add #{upload_path}|
|
81
|
+
author = session[:commit_author] = (params[:commit_author] || '').gsub(/[^\w@<>. ]/, '')
|
82
|
+
if author.blank?
|
83
|
+
flash[:notice] = "Uploaded By must not be blank"
|
84
|
+
redirect_to :back
|
85
|
+
return
|
86
|
+
end
|
87
|
+
cmd = %Q|git commit --author='#{author}' -m 'added #{filename}' #{upload_path}|
|
88
|
+
logger.debug cmd
|
89
|
+
res = system cmd
|
90
|
+
redirect_to fredit_path(@path)
|
91
|
+
end
|
92
|
+
|
65
93
|
def revision
|
66
94
|
@path = secure_path params[:file]
|
67
95
|
load_git_log
|
@@ -23,58 +23,91 @@
|
|
23
23
|
</script>
|
24
24
|
<% end %>
|
25
25
|
|
26
|
-
|
27
|
-
<input name="_method" type="hidden" value="put" />
|
28
|
-
<input name="utf8" type="hidden" value="✓" />
|
29
|
-
<input type="hidden" name="file" value="<%=@path%>"/>
|
26
|
+
<hr/>
|
30
27
|
|
31
|
-
|
28
|
+
<form id="sourceEditor" action="<%= fredit_path %>" method="post">
|
29
|
+
<input name="_method" type="hidden" value="put" />
|
30
|
+
<input name="utf8" type="hidden" value="✓" />
|
31
|
+
<input type="hidden" name="file" value="<%=@path%>"/>
|
32
32
|
|
33
|
-
|
34
|
-
<tr>
|
35
|
-
<td>File:</td>
|
36
|
-
<td>
|
37
|
-
<%= @path %>
|
38
|
-
</td>
|
39
|
-
</tr>
|
40
|
-
<tr>
|
41
|
-
<td>Edit Message (optional):</td>
|
42
|
-
<td>
|
43
|
-
<input type="text" name="edit_message" value="" placeholder="Describe the edit " size="50"/>
|
44
|
-
</td>
|
45
|
-
</tr>
|
46
|
-
<tr>
|
47
|
-
<td>Edited By (required): </td>
|
48
|
-
<td>
|
49
|
-
<input type="text" name="commit_author" value="<%=session[:commit_author]%>" placeholder="Your Name <yourname@example.com>" size="50"/>
|
50
|
-
</td>
|
51
|
-
</tr>
|
52
|
-
<tr>
|
53
|
-
<td>Action:</td>
|
54
|
-
<td>
|
55
|
-
<input hidden="text" name="file_path" value="<%=@path%>" />
|
56
|
-
<input type="submit" name="commit" value="update this file"/>
|
57
|
-
<input id="deleteBtn" type="submit" name="commit" value="delete this file"/>
|
58
|
-
</td>
|
59
|
-
</tr>
|
60
|
-
</table>
|
61
|
-
</form>
|
33
|
+
<div id='sourceEditBox' name='source'><%= @source %></div>
|
62
34
|
|
63
|
-
<
|
64
|
-
<
|
65
|
-
<
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
<
|
72
|
-
|
73
|
-
<
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
35
|
+
<table>
|
36
|
+
<tr>
|
37
|
+
<td>File:</td>
|
38
|
+
<td>
|
39
|
+
<%= @path %>
|
40
|
+
</td>
|
41
|
+
</tr>
|
42
|
+
<tr>
|
43
|
+
<td>Edit Message (optional):</td>
|
44
|
+
<td>
|
45
|
+
<input type="text" name="edit_message" value="" placeholder="Describe the edit " size="50"/>
|
46
|
+
</td>
|
47
|
+
</tr>
|
48
|
+
<tr>
|
49
|
+
<td>Edited By (required): </td>
|
50
|
+
<td>
|
51
|
+
<input type="text" name="commit_author" value="<%=session[:commit_author]%>" placeholder="Your Name <yourname@example.com>" size="50"/>
|
52
|
+
</td>
|
53
|
+
</tr>
|
54
|
+
<tr>
|
55
|
+
<td>Action:</td>
|
56
|
+
<td>
|
57
|
+
<input hidden="text" name="file_path" value="<%=@path%>" />
|
58
|
+
<input type="submit" name="commit" value="update this file"/>
|
59
|
+
<input id="deleteBtn" type="submit" name="commit" value="delete this file"/>
|
60
|
+
</td>
|
61
|
+
</tr>
|
62
|
+
</table>
|
63
|
+
</form>
|
79
64
|
|
65
|
+
<form id="createFileForm" action="<%= fredit_path %>" method="post">
|
66
|
+
<table>
|
67
|
+
<tr>
|
68
|
+
<td>Create file at path:</td>
|
69
|
+
<td>
|
70
|
+
<input type="text" name="new_file" value="" placeholder="<%=Fredit.editables[:views].first%>" size="50"/>
|
71
|
+
</td>
|
72
|
+
</tr>
|
73
|
+
<tr>
|
74
|
+
<td>Action:</td>
|
75
|
+
<td>
|
76
|
+
<input type="submit" name="commit" value="create file"/>
|
77
|
+
</td>
|
78
|
+
</tr>
|
79
|
+
</table>
|
80
|
+
</form>
|
81
|
+
<hr/>
|
80
82
|
|
83
|
+
<form id="uploadFileForm" action="/fredit/upload" method="post" enctype='multipart/form-data'>
|
84
|
+
<input hidden="text" name="file_path" value="<%=@path%>" />
|
85
|
+
<table>
|
86
|
+
<tr>
|
87
|
+
<td>Upload file to application directory:</td>
|
88
|
+
<td>
|
89
|
+
<input type="text" name="target_dir" value="public/images" size="50"/>
|
90
|
+
</td>
|
91
|
+
</tr>
|
92
|
+
<tr>
|
93
|
+
<td>Select file to upload:</td>
|
94
|
+
<td>
|
95
|
+
<input type="file" name="upload_file" />
|
96
|
+
</td>
|
97
|
+
</tr>
|
98
|
+
<tr>
|
99
|
+
<td>Uploaded By (required): </td>
|
100
|
+
<td>
|
101
|
+
<input type="text" name="commit_author" value="<%=session[:commit_author]%>" placeholder="Your Name <yourname@example.com>" size="50"/>
|
102
|
+
</td>
|
103
|
+
</tr>
|
104
|
+
<tr>
|
105
|
+
<td>Action:</td>
|
106
|
+
<td>
|
107
|
+
<input type="submit" name="upload" value="upload file"/>
|
108
|
+
</td>
|
109
|
+
</tr>
|
110
|
+
</table>
|
111
|
+
</form>
|
112
|
+
|
113
|
+
<br/>
|
data/config/routes.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fredit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-31 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: git
|
16
|
-
requirement: &
|
16
|
+
requirement: &83868010 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *83868010
|
25
25
|
description: Edit the front end of Rails apps through the browser.
|
26
26
|
email:
|
27
27
|
- dhchoi@gmail.com
|
@@ -56,7 +56,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
56
56
|
version: '0'
|
57
57
|
segments:
|
58
58
|
- 0
|
59
|
-
hash:
|
59
|
+
hash: 1045934387
|
60
60
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
65
65
|
version: '0'
|
66
66
|
segments:
|
67
67
|
- 0
|
68
|
-
hash:
|
68
|
+
hash: 1045934387
|
69
69
|
requirements: []
|
70
70
|
rubyforge_project:
|
71
71
|
rubygems_version: 1.8.11
|