mugen 0.2.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.
- data/.gitignore +2 -0
- data/.travis.yml +5 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +5 -0
- data/LICENSE +20 -0
- data/README.md +65 -0
- data/Rakefile +31 -0
- data/autotest/discover.rb +1 -0
- data/generators/README +3 -0
- data/generators/USAGE +34 -0
- data/generators/mugen_generator.rb +63 -0
- data/generators/templates/app/controllers/mygengo/account_controller.rb +10 -0
- data/generators/templates/app/controllers/mygengo/comments_controller.rb +6 -0
- data/generators/templates/app/controllers/mygengo/jobs_controller.rb +153 -0
- data/generators/templates/app/helpers/mugen_helper.rb +11 -0
- data/generators/templates/app/views/layouts/mygengo.html.erb +52 -0
- data/generators/templates/app/views/mygengo/account/_balance.haml +5 -0
- data/generators/templates/app/views/mygengo/account/_stats.haml +9 -0
- data/generators/templates/app/views/mygengo/account/index.haml +3 -0
- data/generators/templates/app/views/mygengo/comments/_comment.haml +7 -0
- data/generators/templates/app/views/mygengo/comments/_form.haml +10 -0
- data/generators/templates/app/views/mygengo/jobs/_comments.haml +8 -0
- data/generators/templates/app/views/mygengo/jobs/_feedback.haml +8 -0
- data/generators/templates/app/views/mygengo/jobs/_job.haml +36 -0
- data/generators/templates/app/views/mygengo/jobs/_revision.haml +2 -0
- data/generators/templates/app/views/mygengo/jobs/index.haml +8 -0
- data/generators/templates/app/views/mygengo/jobs/new.haml +53 -0
- data/generators/templates/app/views/mygengo/jobs/reject_form.haml +36 -0
- data/generators/templates/app/views/mygengo/jobs/review_form.haml +54 -0
- data/generators/templates/app/views/mygengo/jobs/revise_form.haml +7 -0
- data/generators/templates/app/views/mygengo/jobs/revision.haml +8 -0
- data/generators/templates/app/views/mygengo/jobs/show.haml +38 -0
- data/generators/templates/config/initializers/mugen.rb +2 -0
- data/generators/templates/config/routes.rb +16 -0
- data/generators/templates/public/stylesheets/mygengo/base.css +397 -0
- data/generators/templates/public/stylesheets/mygengo/mugen.css +117 -0
- data/generators/templates/public/stylesheets/mygengo/override.css +1 -0
- data/generators/templates/public/stylesheets/mygengo/scaffold.css +56 -0
- data/generators/templates/public/stylesheets/mygengo/style.css +373 -0
- data/lib/generators/mugen/README +3 -0
- data/lib/generators/mugen/USAGE +35 -0
- data/lib/generators/mugen/mugen_generator.rb +50 -0
- data/lib/generators/mugen/templates/app/controllers/mygengo/account_controller.rb +10 -0
- data/lib/generators/mugen/templates/app/controllers/mygengo/comments_controller.rb +6 -0
- data/lib/generators/mugen/templates/app/controllers/mygengo/jobs_controller.rb +153 -0
- data/lib/generators/mugen/templates/app/controllers/mygengo/mygengo_controller.rb +18 -0
- data/lib/generators/mugen/templates/app/helpers/mugen_helper.rb +11 -0
- data/lib/generators/mugen/templates/app/views/layouts/mygengo.html.erb +52 -0
- data/lib/generators/mugen/templates/app/views/mygengo/account/_balance.haml +5 -0
- data/lib/generators/mugen/templates/app/views/mygengo/account/_stats.haml +9 -0
- data/lib/generators/mugen/templates/app/views/mygengo/account/index.haml +3 -0
- data/lib/generators/mugen/templates/app/views/mygengo/comments/_comment.haml +7 -0
- data/lib/generators/mugen/templates/app/views/mygengo/comments/_form.haml +10 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/_comments.haml +8 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/_feedback.haml +8 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/_job.haml +36 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/_revision.haml +2 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/index.haml +8 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/new.haml +53 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/reject_form.haml +36 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/review_form.haml +54 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/revise_form.haml +7 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/revision.haml +8 -0
- data/lib/generators/mugen/templates/app/views/mygengo/jobs/show.haml +38 -0
- data/lib/generators/mugen/templates/config/initializers/mugen.rb +2 -0
- data/lib/generators/mugen/templates/config/routes2.rb +16 -0
- data/lib/generators/mugen/templates/config/routes3.rb +17 -0
- data/lib/generators/mugen/templates/public/images/mygengo/blank +0 -0
- data/lib/generators/mugen/templates/public/stylesheets/mygengo/base.css +397 -0
- data/lib/generators/mugen/templates/public/stylesheets/mygengo/mugen.css +117 -0
- data/lib/generators/mugen/templates/public/stylesheets/mygengo/override.css +1 -0
- data/lib/generators/mugen/templates/public/stylesheets/mygengo/scaffold.css +56 -0
- data/lib/generators/mugen/templates/public/stylesheets/mygengo/style.css +373 -0
- data/lib/mugen.rb +73 -0
- data/lib/mugen/account.rb +27 -0
- data/lib/mugen/client.rb +33 -0
- data/lib/mugen/core_extensions.rb +32 -0
- data/lib/mugen/httparty_extensions.rb +26 -0
- data/lib/mugen/job.rb +169 -0
- data/lib/mugen/jobs.rb +42 -0
- data/lib/mugen/service.rb +30 -0
- data/lib/mugen/version.rb +3 -0
- data/lib/tasks/mugen.rake +5 -0
- data/mugen.gemspec +33 -0
- data/rails/init.rb +1 -0
- data/spec/account_spec.rb +22 -0
- data/spec/job_spec.rb +40 -0
- data/spec/jobs_spec.rb +33 -0
- data/spec/mugen_spec.rb +33 -0
- data/spec/service_spec.rb +21 -0
- data/spec/spec_helper.rb +4 -0
- metadata +191 -0
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2011 Vladimir Penkin
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
[](https://secure.travis-ci.org/shell/mugen.png)
|
|
2
|
+
## Introduction
|
|
3
|
+
Mugen is API wrapper for MyGengo(<http://mygengo.com/>) and scaffold generator for existing rails app
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
Working best with Rails3 and jQuery
|
|
7
|
+
|
|
8
|
+
## Rails 3.x
|
|
9
|
+
|
|
10
|
+
Add gems to your Gemfile and bundle install it:
|
|
11
|
+
gem 'haml'
|
|
12
|
+
gem 'mugen'
|
|
13
|
+
|
|
14
|
+
Generate scaffold:
|
|
15
|
+
$ rails generate mugen
|
|
16
|
+
|
|
17
|
+
Install rails3_before_render plugin
|
|
18
|
+
$ rails plugin install git://github.com/shell/rails3_before_render.git
|
|
19
|
+
|
|
20
|
+
Configure API keys in config/initializers/mugen.rb:
|
|
21
|
+
Mugen.api_key = ''
|
|
22
|
+
Mugen.private_key = ''
|
|
23
|
+
|
|
24
|
+
Start server and enjoy
|
|
25
|
+
|
|
26
|
+
## Rails 2.x
|
|
27
|
+
Add gems to config/environment.rb
|
|
28
|
+
config.gem 'haml'
|
|
29
|
+
config.gem 'mugen'
|
|
30
|
+
|
|
31
|
+
Next install gems via
|
|
32
|
+
gem install mugen
|
|
33
|
+
or
|
|
34
|
+
rake gems:install
|
|
35
|
+
|
|
36
|
+
Next generate scaffold
|
|
37
|
+
|
|
38
|
+
$ script/generate mugen
|
|
39
|
+
|
|
40
|
+
Install rails3_before_render plugin
|
|
41
|
+
$ rails plugin install git://github.com/shell/rails3_before_render.git
|
|
42
|
+
|
|
43
|
+
Configure API keys in config/initializers/mugen.rb
|
|
44
|
+
Start server and enjoy
|
|
45
|
+
|
|
46
|
+
## Usage
|
|
47
|
+
See routes.rb for url mappings.
|
|
48
|
+
Default page is here (<http://localhost:3000/mygengo/account>)
|
|
49
|
+
|
|
50
|
+
## Debugging
|
|
51
|
+
|
|
52
|
+
To debug http-requests, uncomment following line in lib/mugen/client.rb:
|
|
53
|
+
|
|
54
|
+
debug_output $stderr
|
|
55
|
+
|
|
56
|
+
## TODO
|
|
57
|
+
- remove csrf_tag in layout file for rails2
|
|
58
|
+
- I18n
|
|
59
|
+
- made js agnostic
|
|
60
|
+
- cover everything with tests
|
|
61
|
+
- Something really bad happening with css
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Author
|
|
65
|
+
Copyright (c) 2011 Vladimir Penkin
|
data/Rakefile
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require "bundler"
|
|
3
|
+
Bundler.setup
|
|
4
|
+
rescue LoadError
|
|
5
|
+
$stderr.puts "You need to have Bundler installed to be able build this gem."
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
gemspec = eval(File.read(Dir["*.gemspec"].first))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
desc "Validate the gemspec"
|
|
12
|
+
task :gemspec do
|
|
13
|
+
gemspec.validate
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
desc "Build gem locally"
|
|
17
|
+
task :build => :gemspec do
|
|
18
|
+
system "gem build #{gemspec.name}.gemspec"
|
|
19
|
+
FileUtils.mkdir_p "pkg"
|
|
20
|
+
FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", "pkg"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
desc "Install gem locally"
|
|
24
|
+
task :install => :build do
|
|
25
|
+
system "gem install pkg/#{gemspec.name}-#{gemspec.version}"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
desc "Clean automatically generated files"
|
|
29
|
+
task :clean do
|
|
30
|
+
FileUtils.rm_rf "pkg"
|
|
31
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Autotest.add_discovery { "rspec2" }
|
data/generators/README
ADDED
data/generators/USAGE
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
Generates MyGengo scaffold for your app
|
|
3
|
+
|
|
4
|
+
Example:
|
|
5
|
+
script/generate mugen
|
|
6
|
+
|
|
7
|
+
This will update routes.rb
|
|
8
|
+
This will create:
|
|
9
|
+
config/initializers/mugen.rb
|
|
10
|
+
app/controllers/mygengo
|
|
11
|
+
app/controllers/mygengo/account_controller.rb
|
|
12
|
+
app/controllers/mygengo/comments_controller.rb
|
|
13
|
+
app/controllers/mygengo/jobs_controller.rb
|
|
14
|
+
app/helpers/mugen_helper.rb
|
|
15
|
+
app/views/layouts/mygengo.html.erb
|
|
16
|
+
app/views/mygengo/account
|
|
17
|
+
app/views/mygengo/comments
|
|
18
|
+
app/views/mygengo/jobs
|
|
19
|
+
app/views/mygengo/account/index.haml
|
|
20
|
+
app/views/mygengo/account/_balance.haml
|
|
21
|
+
app/views/mygengo/account/_stats.haml
|
|
22
|
+
app/views/mygengo/comments/_comment.haml
|
|
23
|
+
app/views/mygengo/comments/_form.haml
|
|
24
|
+
app/views/mygengo/jobs/_comments.haml
|
|
25
|
+
app/views/mygengo/jobs/_feedback.haml
|
|
26
|
+
app/views/mygengo/jobs/_revision.haml
|
|
27
|
+
app/views/mygengo/jobs/index.haml
|
|
28
|
+
app/views/mygengo/jobs/new.haml
|
|
29
|
+
app/views/mygengo/jobs/reject_form.haml
|
|
30
|
+
app/views/mygengo/jobs/review_form.haml
|
|
31
|
+
app/views/mygengo/jobs/revise_form.haml
|
|
32
|
+
app/views/mygengo/jobs/revision.haml
|
|
33
|
+
app/views/mygengo/jobs/show.haml
|
|
34
|
+
README
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
class MugenGenerator < Rails::Generator::Base
|
|
2
|
+
attr_reader :model_name
|
|
3
|
+
|
|
4
|
+
def initialize(runtime_args, runtime_options = {})
|
|
5
|
+
runtime_args << "user" if runtime_args.empty?
|
|
6
|
+
super
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def manifest
|
|
10
|
+
record do |m|
|
|
11
|
+
|
|
12
|
+
# Initializer
|
|
13
|
+
m.file 'config/initializers/mugen.rb', 'config/initializers/mugen.rb'
|
|
14
|
+
|
|
15
|
+
# Controller
|
|
16
|
+
m.directory 'app/controllers/mygengo'
|
|
17
|
+
m.file "app/controllers/mygengo/account_controller.rb", "app/controllers/mygengo/account_controller.rb"
|
|
18
|
+
m.file "app/controllers/mygengo/comments_controller.rb", "app/controllers/mygengo/comments_controller.rb"
|
|
19
|
+
m.file "app/controllers/mygengo/jobs_controller.rb", "app/controllers/mygengo/jobs_controller.rb"
|
|
20
|
+
|
|
21
|
+
# Helpers
|
|
22
|
+
m.file "app/helpers/mugen_helper.rb", "app/helpers/mugen_helper.rb"
|
|
23
|
+
|
|
24
|
+
# Views
|
|
25
|
+
m.file 'app/views/layouts/mygengo.html.erb', 'app/views/layouts/mygengo.html.erb'
|
|
26
|
+
m.directory 'app/views/mygengo/account'
|
|
27
|
+
m.directory 'app/views/mygengo/comments'
|
|
28
|
+
m.directory 'app/views/mygengo/jobs'
|
|
29
|
+
m.directory 'public/stylesheets/mygengo'
|
|
30
|
+
m.directory 'public/images/mygengo'
|
|
31
|
+
m.file 'app/views/mygengo/account/index.haml', 'app/views/mygengo/account/index.haml'
|
|
32
|
+
m.file 'app/views/mygengo/account/_balance.haml', 'app/views/mygengo/account/_balance.haml'
|
|
33
|
+
m.file 'app/views/mygengo/account/_stats.haml', 'app/views/mygengo/account/_stats.haml'
|
|
34
|
+
m.file 'app/views/mygengo/comments/_comment.haml', 'app/views/mygengo/comments/_comment.haml'
|
|
35
|
+
m.file 'app/views/mygengo/comments/_form.haml', 'app/views/mygengo/comments/_form.haml'
|
|
36
|
+
m.file 'app/views/mygengo/jobs/_comments.haml', 'app/views/mygengo/jobs/_comments.haml'
|
|
37
|
+
m.file 'app/views/mygengo/jobs/_feedback.haml', 'app/views/mygengo/jobs/_feedback.haml'
|
|
38
|
+
m.file 'app/views/mygengo/jobs/_job.haml', 'app/views/mygengo/jobs/_job.haml'
|
|
39
|
+
m.file 'app/views/mygengo/jobs/_revision.haml', 'app/views/mygengo/jobs/_revision.haml'
|
|
40
|
+
m.file 'app/views/mygengo/jobs/index.haml', 'app/views/mygengo/jobs/index.haml'
|
|
41
|
+
m.file 'app/views/mygengo/jobs/new.haml', 'app/views/mygengo/jobs/new.haml'
|
|
42
|
+
m.file 'app/views/mygengo/jobs/reject_form.haml', 'app/views/mygengo/jobs/reject_form.haml'
|
|
43
|
+
m.file 'app/views/mygengo/jobs/review_form.haml', 'app/views/mygengo/jobs/review_form.haml'
|
|
44
|
+
m.file 'app/views/mygengo/jobs/revise_form.haml', 'app/views/mygengo/jobs/revise_form.haml'
|
|
45
|
+
m.file 'app/views/mygengo/jobs/revision.haml', 'app/views/mygengo/jobs/revision.haml'
|
|
46
|
+
m.file 'app/views/mygengo/jobs/show.haml', 'app/views/mygengo/jobs/show.haml'
|
|
47
|
+
m.file 'public/stylesheets/mygengo/base.css', 'public/stylesheets/mygengo/base.css'
|
|
48
|
+
m.file 'public/stylesheets/mygengo/mugen.css', 'public/stylesheets/mygengo/mugen.css'
|
|
49
|
+
m.file 'public/stylesheets/mygengo/override.css', 'public/stylesheets/mygengo/override.css'
|
|
50
|
+
m.file 'public/stylesheets/mygengo/scaffold.css', 'public/stylesheets/mygengo/scaffold.css'
|
|
51
|
+
m.file 'public/stylesheets/mygengo/style.css', 'public/stylesheets/mygengo/style.css'
|
|
52
|
+
# m.readme "USAGE"
|
|
53
|
+
|
|
54
|
+
# Routes
|
|
55
|
+
sentinel = 'ActionController::Routing::Routes.draw do |map|'
|
|
56
|
+
new_routes = IO.read(File.dirname(__FILE__) + '/templates/config/routes.rb')
|
|
57
|
+
|
|
58
|
+
m.gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |match|
|
|
59
|
+
"#{match}\n #{new_routes}"
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
class Mygengo::JobsController < Mygengo::MygengoController
|
|
2
|
+
URL_REGEXP = /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix
|
|
3
|
+
|
|
4
|
+
# GET /jobs
|
|
5
|
+
# GET /jobs.xml
|
|
6
|
+
def index
|
|
7
|
+
@job_ids = Mugen::Jobs.all
|
|
8
|
+
if @job_ids
|
|
9
|
+
@jobs = @job_ids.collect {|j|
|
|
10
|
+
Mugen::Job.find(j['job_id']).merge('comments' => Mugen::Job.comments(j['job_id']))
|
|
11
|
+
}
|
|
12
|
+
respond_to do |format|
|
|
13
|
+
format.html # index.html.erb
|
|
14
|
+
format.xml { render :xml => @jobs }
|
|
15
|
+
end
|
|
16
|
+
else
|
|
17
|
+
redirect_to mygengo_account_index_path
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /jobs/1
|
|
22
|
+
# GET /jobs/1.xml
|
|
23
|
+
def show
|
|
24
|
+
@job = Mugen::Job.find(params[:id])
|
|
25
|
+
@preview = Mugen::Job.preview(@job['job_id'])
|
|
26
|
+
@comments = Mugen::Job.comments(@job['job_id'])
|
|
27
|
+
@job.merge!('comments' => @comments)
|
|
28
|
+
@feedback = Mugen::Job.feedback(@job['job_id'])
|
|
29
|
+
@revisions = Mugen::Job.revisions(@job['job_id'])
|
|
30
|
+
@revisions = [@revisions] if @revisions.is_a?(Hash)
|
|
31
|
+
|
|
32
|
+
respond_to do |format|
|
|
33
|
+
format.html # show.html.erb
|
|
34
|
+
format.xml { render :xml => @job }
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def review_form
|
|
39
|
+
@job = Mugen::Job.find(params[:id])
|
|
40
|
+
@preview = Mugen::Job.preview(@job['job_id'])
|
|
41
|
+
@comments = Mugen::Job.comments(@job['job_id'])
|
|
42
|
+
@job.merge!('comments' => @comments)
|
|
43
|
+
@feedback = Mugen::Job.feedback(@job['job_id'])
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def reject_form
|
|
47
|
+
@job = Mugen::Job.find(params[:id])
|
|
48
|
+
@preview = Mugen::Job.preview(@job['job_id'])
|
|
49
|
+
@comments = Mugen::Job.comments(@job['job_id'])
|
|
50
|
+
@job.merge!('comments' => @comments)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def revise_form
|
|
54
|
+
@job = Mugen::Job.find(params[:id])
|
|
55
|
+
@preview = Mugen::Job.preview(@job['job_id'])
|
|
56
|
+
@comments = Mugen::Job.comments(@job['job_id'])
|
|
57
|
+
@job.merge!('comments' => @comments)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# GET /jobs/1
|
|
61
|
+
# GET /jobs/1.xml
|
|
62
|
+
def revision
|
|
63
|
+
@job = Mugen::Job.find(params[:job_id])
|
|
64
|
+
@revision = Mugen::Job.revision(params[:job_id], params[:id])
|
|
65
|
+
|
|
66
|
+
respond_to do |format|
|
|
67
|
+
format.html {}
|
|
68
|
+
format.xml { render :xml => @job }
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# GET /jobs/new
|
|
73
|
+
# GET /jobs/new.xml
|
|
74
|
+
def new
|
|
75
|
+
@job = Mugen::Job
|
|
76
|
+
@languages = Mugen::Service.languages
|
|
77
|
+
@language_pairs = Mugen::Service.language_pairs
|
|
78
|
+
@language_src = @languages.collect { |lp| [ lp["language"], lp['lc'] ] }.uniq.sort
|
|
79
|
+
@language_tgt = @languages.collect { |lp| [ lp["language"], lp['lc'] ] }.uniq.sort
|
|
80
|
+
|
|
81
|
+
respond_to do |format|
|
|
82
|
+
format.html # new.html.erb
|
|
83
|
+
format.xml { render :xml => @job }
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# GET /jobs/1/edit
|
|
88
|
+
def edit
|
|
89
|
+
@job = Mugen::Job.find(params[:id])
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# POST /jobs
|
|
93
|
+
# POST /jobs.xml
|
|
94
|
+
def create
|
|
95
|
+
params[:job]['body_src'] = sanitize(params[:job]['body_src'])
|
|
96
|
+
if params[:job]['callback_url'].empty? ||
|
|
97
|
+
!params[:job]['callback_url'].match(URL_REGEXP)
|
|
98
|
+
params[:job].delete('callback_url')
|
|
99
|
+
end
|
|
100
|
+
flag = Mugen::Job.create(params[:job])
|
|
101
|
+
|
|
102
|
+
redirect_to mygengo_jobs_path
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# PUT /jobs/1
|
|
106
|
+
# PUT /jobs/1.xml
|
|
107
|
+
def update
|
|
108
|
+
@job = Mugen::Job.update(params[:id])
|
|
109
|
+
|
|
110
|
+
redirect_to mygengo_jobs_path
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def purchase
|
|
114
|
+
@job = Mugen::Job.purchase(params[:id])
|
|
115
|
+
|
|
116
|
+
redirect_to mygengo_jobs_path
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def approve
|
|
120
|
+
@job = Mugen::Job.approve(params[:id])
|
|
121
|
+
|
|
122
|
+
redirect_to mygengo_jobs_path
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def revise
|
|
126
|
+
@job = Mugen::Job.revise(params[:id], params[:job])
|
|
127
|
+
|
|
128
|
+
redirect_to mygengo_jobs_path
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def reject
|
|
132
|
+
@job = Mugen::Job.reject(params[:id], params[:job])
|
|
133
|
+
|
|
134
|
+
redirect_to mygengo_jobs_path
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# DELETE /jobs/1
|
|
138
|
+
# DELETE /jobs/1.xml
|
|
139
|
+
def destroy
|
|
140
|
+
@job = Mugen::Job.delete(params[:id])
|
|
141
|
+
|
|
142
|
+
respond_to do |format|
|
|
143
|
+
format.html { redirect_to(mygengo_jobs_url) }
|
|
144
|
+
format.xml { head :ok }
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
private
|
|
149
|
+
|
|
150
|
+
def sanitize(text)
|
|
151
|
+
return text.gsub(/<\/?.*?>/, "")
|
|
152
|
+
end
|
|
153
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>MyGengo</title>
|
|
5
|
+
<%= stylesheet_link_tag "mygengo/base", "mygengo/style", "mygengo/override", :cache => true %>
|
|
6
|
+
<%= stylesheet_link_tag 'mygengo/scaffold', 'mygengo/mugen', :cache => true %>
|
|
7
|
+
<%= javascript_include_tag 'jquery', 'rails', 'application' %>
|
|
8
|
+
<%= csrf_meta_tag %>
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="container">
|
|
12
|
+
<div id="header">
|
|
13
|
+
<h1><a href="/">Gengo</a></h1>
|
|
14
|
+
<div id="user-navigation">
|
|
15
|
+
<ul class="wat-cf">
|
|
16
|
+
<li><a href="/logout" class="logout"><%= t("web-app-theme.logout", :default => "Logout") %></a></li>
|
|
17
|
+
</ul>
|
|
18
|
+
</div>
|
|
19
|
+
<div id="main-navigation">
|
|
20
|
+
<ul class="wat-cf">
|
|
21
|
+
<li><%= link_to 'Jobs', '/mygengo/jobs' %></li>
|
|
22
|
+
<li><%= link_to 'Account', '/mygengo/account' %></li>
|
|
23
|
+
</ul>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div id="wrapper" class="wat-cf">
|
|
27
|
+
<div class="flash">
|
|
28
|
+
<% flash.each do |type, message| -%>
|
|
29
|
+
<% unless message.empty? %>
|
|
30
|
+
<div class="message <%= type %>">
|
|
31
|
+
<p><%= message %></p>
|
|
32
|
+
</div>
|
|
33
|
+
<% end %>
|
|
34
|
+
<% end -%>
|
|
35
|
+
</div>
|
|
36
|
+
<div id="main">
|
|
37
|
+
<%= yield %>
|
|
38
|
+
<br />
|
|
39
|
+
<br />
|
|
40
|
+
<div id="footer">
|
|
41
|
+
<div class="block">
|
|
42
|
+
<p>Copyright © <%= Time.now.year %> Vladimir Penkin</p>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
<div id="sidebar">
|
|
47
|
+
<%= yield :sidebar %>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</body>
|
|
52
|
+
</html>
|